6705浏览
查看: 6705|回复: 2

简易老虎.机

[复制链接]

【项目来源】

世界上第一台商业老虎.机诞生于 1895 年,它是一种用零钱赌.博的机器,在酒吧、游戏厅,甚至一些零售店里都能见到它的身影。然而赌.博诸多害处我们并不提倡,但通过智慧的头脑和灵巧的双手 DIY 一台老虎.机倒是一个不错的主意。寒假在即,过年也离我们不远了。快做一台和小伙伴一起玩儿吧,让你们的聚会活动更有趣~


简易老虎.机图1

【效果演示】



【项目分析】

经典老虎.机有三个滚动轮,每个轮上会滚动出现一系列数字或图案。当滚轮停止时,三个数字或图案一致则获胜。

DIY 的时候需要考虑图案的呈现方式。机械装置做起来比较麻烦,我们可以用屏幕来显示不同的数字或图案。考虑到展示效果及趣味性,屏幕越大越好。而徽章板刚好满足这一条件,屏幕大,显示效果好。另外徽章板本身就是一个主控器,通过编写代码就能实现一些简单的功能。


老虎.机的核心功能就是显示不同的图案。为了方便起见,我们选择显示数字。我们做一个显示三位数字的简易老虎.机。整体的流程如下:

1.通过按键触发老虎.机,开始滚动显示数字。

2.在屏幕左中右分别显示一个 0 到 9 之间的随机数。

3.若干时间后停止滚动,显示最终呈现的数字。

4.比较停留下来的三个数字是否一致,判断输赢。

材料清单

数量 器材 地址
1x 徽章板 链接
1x 数字触摸开关 链接

步骤1 器材连接

通过分析,我们需要用到一个按键开关。不过我不喜欢按键的机械声,就选择了数字触摸开关。将徽章板插到扩展板上,然后将数字触摸开关接到扩展板的 D0 接口即可。

步骤2 编写代码

打开 http://haohaodada.com/hz 或者好搭 Block 软件编写代码如下:


因为最后要进行输赢判定,所以程序中创建了三个整型变量存放每个数字。考虑到游戏难度较大,可以修改数字的范围降低难度。如这里就把随机数范围[0,9]改为[1,3]。

步骤3 调试运行

将编写好的代码上传到徽章板,取下数据线,打开徽章板电源。按键测试老虎.机功能是否正常。


简易老虎.机图2
简易老虎.机图3

依据实际效果修改停顿的时间间隔,优化用户体验。

代码

#include "Haoda.h"
#include "Arduino.h"
#include "Wire.h"
#include "Servo.h"

int my_1;
int my_2;
int my_3;
uint16_t displaycache[500];

void setup()
{
  my_1 = 0;
  my_2 = 0;
  my_3 = 0;
  BadgeDisplay_Init();
  BadgeDisplay_Clear_Screen();
  BadgeDisplay_Clear_Screen();
  pinMode(6,INPUT);
}

void loop()
{
  BadgeDisplay_hzs("按键开始",0);
  if(digitalRead(6)){
    BadgeDisplay_Clear_Screen();
    for(int i=0;i<int(random(5, 20+1));i++){
      my_1 = random(1, 3+1);
      my_2 = random(1, 3+1);
      my_3 = random(1, 3+1);
      BadgeDisplay_printText(displaycache,String(my_1),10);
      BadgeDisplay_printText(displaycache,String(my_2),20);
      BadgeDisplay_printText(displaycache,String(my_3),30);
      BadgeDisplay_Display_buf(displaycache,40,0.2);
      delay(200);

    }
    delay(2000);
    BadgeDisplay_Clear_Screen();
    if((my_1 == my_2) && (my_2 == my_3)){
      BadgeDisplay_hzs("你赢了!");
    }
    else{
      BadgeDisplay_hzs("你输了!");
    }
    delay(2000);
    BadgeDisplay_Clear_Screen();
  }
}


帅猫  高级技师

发表于 2021-1-16 09:39:33

拍的时候把相机帧率调低点
回复

使用道具 举报

汤果  初级技神
 楼主|

发表于 2021-1-16 16:26:59

帅猫 发表于 2021-1-16 09:39
拍的时候把相机帧率调低点

哦,原来如此。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail