c语言实现数字华容道编程,【JIONEY】掌控版+遥传感器 实现数字华容道小游戏...

数字华容道——掌控版+遥杆例程

自小就喜欢玩拼图游戏,一个小板板上通过一个缺少的方块,移动其余的方块打乱拼图,通过一定的移动方法将方块放回到位置。这次就借助掌控版,来设计一个数字华容道。

任务:

1、 设计格子布局

在显示屏上绘制64X64像素的3X3方格。同时再额外扩展一个方格出来放置第一个块的数字位置。

完成效果如下:

4250596c838e3cbbcb1de4a7a230b4cb.gif

201912198465..png (53.03 KB, 下载次数: 1)

2019-12-19 15:33 上传

file:///C:/Users/JIONEY/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg

2、 设计数字位置关系

根据3X3的方格找出位置编号与行列位置关系。布局如下:

0123

456

789

file:///C:/Users/JIONEY/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg

行列关系找到间隔21像素比较适合,同时显示位置转换成i j 行列关系。

0  è   i=0 j=0;

1  è   i=1 j=0;      2  è   i=2  j=0;     3  è   i=3 j=0;

4  è   i=1 j=1;      5  è   i=2 j=1;     6  è   i=3  j=1;

7  è   i=1 j=2;      8  è   i=2  j=2;     9  è   i=3  j=2;

file:///C:/Users/JIONEY/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg

推算出行列与位置编号N的关系为 N=i+j*3,建立数组Nun=[0,1,2,3,4,5,6,7,8,9]

4250596c838e3cbbcb1de4a7a230b4cb.gif

201912195442..png (23.09 KB, 下载次数: 1)

2019-12-19 15:35 上传

将位置的编号对应数组中的编号。

4250596c838e3cbbcb1de4a7a230b4cb.gif

201912195119..png (73.04 KB, 下载次数: 3)

2019-12-19 15:34 上传

3、 遥控控制数字的位置关系

file:///C:/Users/JIONEY/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg

遥杆X 控制左右移动,Y控制上下移动。

读取模拟端口数据,将数据0-4095映射-100,100

当X向左,X坐标增加1,X的范围从0-3;

当Y向上,Y坐标减少1,Y的范围从0-2;

由于0的位置很特殊,所以单独处理。

4、 位置对应数组的数据转存关系:

4250596c838e3cbbcb1de4a7a230b4cb.gif

201912196200..png (39.75 KB, 下载次数: 1)

2019-12-19 15:35 上传

数组有9个位置,遥杆控制位置变换,做数据的位置变换。

用0做为空位,当遥杆位置发生变换时,

将当前位置i j 和数据存储AX,AY,A,松开后,位置变化,存储下一位置的i  j 和数据,存储在BX BY,B,

利用数组位置读取和写入实现两个数据的交换。

4250596c838e3cbbcb1de4a7a230b4cb.gif

201912197736..png (100.57 KB, 下载次数: 2)

2019-12-19 15:35 上传

file:///C:/Users/JIONEY/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg

完成效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值