Arduino教你制作 FC炸弹人游戏-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: createskyblue

Arduino教你制作 FC炸弹人游戏

  [复制链接]
 楼主| 发表于 2018-11-25 13:36 | 显示全部楼层
本帖最后由 createskyblue 于 2018-11-25 14:13 编辑
t3486784401 发表于 2018-11-25 12:49
我也出现了 #11 楼所属问题,即使 A 键也无法正确进入游戏。

实测发现了一个问题,在开启显示启动界面时, ...

// Port C INPUT_PULLUP
  PORTC |= _BV(LEFT_BUTTON_BIT) | _BV(UP_BUTTON_BIT) |
           _BV(B_BUTTON_BIT);
  DDRC  |= _BV(LEFT_BUTTON_BIT) | _BV(UP_BUTTON_BIT) |
           _BV(B_BUTTON_BIT);
  // Port D INPUT_PULLUP
  PORTD |= _BV(RIGHT_BUTTON_BIT) |
           _BV(DOWN_BUTTON_BIT) | _BV(A_BUTTON_BIT);
  DDRD  |= _BV(RIGHT_BUTTON_BIT) |
           _BV(DOWN_BUTTON_BIT) | _BV(A_BUTTON_BIT) |
           _BV(GREEN_LED_BIT)   | _BV(BLUE_LED_BIT) | _BV(RED_LED_BIT);


试试更新UNO移植版arduboy库解决问题https://github.com/harbaum/Arduboy2/tree/master/src
发表于 2018-11-25 20:42 | 显示全部楼层
本帖最后由 t3486784401 于 2018-11-25 20:57 编辑

感谢 LZ 及时更新!已经能正常工作,但仍有如下待改进之处:

1. 建议在 IIC 总线增加上拉电阻:A4(SDA)/A5(SCL) 各上拉 1k 至 VCC.
实测无上拉电阻时,极易因 SDA 受到干扰造成 AVR 的 IIC 总线死等 (i2c_start/stop 当中的 while 循环)。
目测 #11 楼问题在此。另外我试了 AVR 内部上拉,只能说勉强能用,手摸一下 SDA 就依然卡死。

2. 感谢楼主提供这个代码(库),整体来说可以运行,不过尚未支持 SH1106(1.3寸OLED),
我实测只能是 SD1306 控制器(0.96寸OLED)可行,SH1106会有花屏,目测源于指令差异。
有机会了我也来移植下大屏。

发表于 2018-12-2 16:05 | 显示全部楼层
6666666666666
发表于 2018-12-20 21:54 | 显示全部楼层
感谢楼主分享。        
发表于 2018-12-24 14:43 | 显示全部楼层
太棒了 终于找到了
发表于 2018-12-24 14:51 | 显示全部楼层
dingdingding
发表于 2018-12-24 15:20 | 显示全部楼层
这个游戏和地图的代码都是直接用在arduino IDE上就行了吗 还是要用其他的软件
 楼主| 发表于 2018-12-29 20:51 | 显示全部楼层
Rayleigh 发表于 2018-12-24 15:20
这个游戏和地图的代码都是直接用在arduino IDE上就行了吗 还是要用其他的软件
...

是的,安装完支持库后直接就可以编译跑了
发表于 2019-3-3 09:41 | 显示全部楼层
高手啊Arduino教你制作 FC炸弹人游戏 [修改]
发表于 2019-3-4 19:47 | 显示全部楼层
太棒了!谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 01:48 , Processed in 0.085481 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表