基于Kitronik ARCADE MakeCode的贪吃蛇游戏(Funpack第十期)
使用Kitronik ARCADE开发板,用MakeCode图形化编程,设计完成了一款贪吃蛇游戏。
标签
贪吃蛇
Kitronik ARCADE
MakeCode
Funpack第十期
chinaking
更新2021-08-31
763

内容介绍

基于Kitronik ARCADE MakeCode的贪吃蛇游戏

一、硬件介绍

Kitronik ARCADE是一款功能丰富的可编程游戏手柄,搭配微软MakeCode Arcade编辑器一起使用,可使用图形化进行编程,学习制作游戏。

该手柄和经典的游戏机非常相似,具有上下左右及AB共6个操作按键,并带有1块全彩LCD屏幕。

FrP64DNPNz1i4yCdodnpbHEPmAls

二、软件介绍

本人使用图形化编程工具设计了一款简单的贪吃蛇游戏,游戏界面如下:

Fn-wsVaypmUWwXtJzv8a7pc2QhxV

主要代码说明:

2.1开机程序

Ftw-T_kWjaQfoA8DoqdBHhGjmhIo

开机后,首先调用子函数BuildWall创建围栏,蛇若撞上围栏,游戏结束。

然后,调用放置食物子函数PlaceFood,在围栏范围内,随机生成一个Food色块。

接着,创建两个精灵,分别是红色的蛇头和绿色的蛇尾,并依次将它们放到名称为snake的精灵数组里。

最后,设置snake的初始长度为2,初始移动方向为向右。蛇的移动方向变量是MoveDirection,值1-4分别表示蛇头向上、向下、向左、向右运动。

2.2按键事件程序

Fp8BFAsFI1mdRttrl1jLwdYlKfQR

当按下上下左右不同按键时,切换蛇头的移动方向。比如,当按下上时,如果蛇头当前是在左右方向移动,则切换为向上移动。其它按键类似。

2.3主程序

FrpgJi98pEiyL7Mhzgz4NtbH7QQM

主程序里主要包括3部分,控制蛇增长的子函数SnakeLonger,控制蛇运动的子函数SnakeMove,及控制蛇吃到食物的得分程序。

2.4 游戏结束

FkjMQwnZJojJw7aJAu_Mk5LPrh1s

当蛇装上围栏,或蛇吃到自己身体时,游戏结束。

2.5 子函数说明

FtW1KwV85-58CKqaQb6zZMBfae3e

在上下左右的边界,绘制出Wall的范围,类型为Enemy敌人。

FrecXNoDeMTJUATkBn8KiRGBkBtz

在墙体范围以内,随机生成黄色色块Food。

FkJfMhcMHeZXZSZEA0H3WP5YGgoy

通过循环函数,执行蛇体的运动。控制蛇体的运动时,从蛇尾开始操作,蛇尾为snake精灵数组的最后一个元素,将它的位置设为它前面一个元素的位置。然后再依次操作下一个元素。即数组后面的元素,都跟随它前面的元素运动。最后。蛇头根据当前方向来运动。

Fg2hVweexuSCJ2IadUlgDkOq4zcR

当蛇吃到食物时,设置一个需要变长的标志位。这时为snake精灵数组增加一个元素,并将它插入到蛇头的后面。然后把标志位清零。

Fsnfn4VOpRYoCr-fmefmL-cd-fPh

蛇头运动方向函数,蛇头根据当前运动方向的不同,不断改变它的坐标值x或y,控制蛇头运动。

三、效果展示

因录视频屏幕反光较为严重,图片效果不便区分颜色,详见视频中模拟器运行效果。

刚运行时,蛇的长度为2,蛇头为红色、蛇尾为绿色,蛇自动向右运动。

FnPZy5a4GYFYsuMC9pMqBbCrj0slFpSUYRHwCH3_a0LjQMEJaYVb8UhM

通过上下左右控制蛇头移动,当蛇每吃到1个食物,蛇身增加1节,得分加1,蛇身为黄色。

FhUcOPw6VXoffWpMA0-Mi1uB9IW4

Fnw94bZ0e2HPRk4B9PebyErOsnIb

当蛇撞到墙壁或自己身体时,游戏结束。

Ftj5BcGxw35qpiqxjyA-tKsvEZVA

FgogSFnA8UfXk7-c-k4IzG1nINLK

屏幕特写

Fga9jMD-P-p8MnL_kh8ilPSTmIx3

四、心得体会

本次开发,主要使用了MakeCode图形化编程方法,直观形象,不但适合发烧友,也适合青少年学习编程。编程比较方便,无需安装编程软件,使用浏览器即可实现编程及仿真。程序的维护也比较新颖,只需将保存的文件拖动到编程网页即可。

当然,开发板在使用中也出现了一些问题。反复出现过显示屏花屏、白屏以及开机时显示画面左右颠倒的现象,但放置几天之后,居然又自动恢复了。具体原因还需要相关技术人员分析。

花屏

Fk5rBI-gJM68RgxRaMHK2IVBHw6V

白屏

FuTojee51pNt_gEuoZXDyQh9dCUj

颠倒屏

FtJ8Yy8tR9lHbqZ0Vo5G0NCin4hx

 

附件下载

arcade-Snake.png
直接将该文件拖动到浏览器https://arcade.makecode.com/ 页面,即可看到代码。

团队介绍

老胡,嵌入式开发爱好者。
团队成员
chinaking

评论

0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号