乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL用VBA实现“贪吃蛇”小游戏-excel文本框

EXCEL用VBA实现“贪吃蛇”小游戏-excel文本框

作者:乔山办公网日期:

返回目录:excel表格制作

上次的文章EXCEL里用VBA实现计算24点,公众号“雕虫小技工”内回复“24”自动返回下载地址,可以自行下载参考。“贪吃蛇”这个请回复“snake”下载。

最近做的这个个简单的“贪吃蛇”小游戏,利用Excel表格显示,用userform通过方向键来控制贪吃蛇的前进方向,随机产生红色食物,同时记录蛇的长度。


EXCEL用VBA实现“贪吃蛇”小游戏

贪吃蛇小游戏

游戏的界面,是20x20的白色表格(大小可根据参数设置),边框黑色;蛇头绿色,蛇身黑色,食物红色格子。

EXCEL用VBA实现“贪吃蛇”小游戏

游戏界面

主要模块里,需要定义蛇的坐标数组snakeX/Y,头的前进方向head,蛇身长度length;常数可以设置运行的界面大小(这里默认20格见方),前进速度(默认0.5秒的间隔,可以修改;你也可以自己再加个功能,根据蛇身长度而加快速度,提高游戏难度)

Sub NewGame() 是游戏的初始化复位,蛇长度1,头向上,放在方框中央,并随机放一个红色食物。

Sub food_Gen() 随机产生红色格子食物,在方框范围内随机位置产生一个红色格子,注意:不能放在蛇身位置。

Sub snakeGo() 就是主要的贪吃蛇前进的功能。蛇身数组的坐标都往后移动一位,然后根据蛇头head方向算出蛇头新的坐标。如果这时蛇头遇到红色食物,蛇身变长,即length加1,同时再产生个新的食物;如果蛇头碰到黑色格子,即撞到边框或蛇身,则失败,弹出Fail对话框并显示当前长度。如果是正常前进一格,则蛇头位置改为绿色,第二格原蛇头位置改为黑色,原蛇尾改为底色白色。

以上是基本功能模块,我们如何操控贪吃蛇的运行呢?这个交互主要用到userform的控件。

EXCEL用VBA实现“贪吃蛇”小游戏

userform

TextBox1显示当前长度,2个按键:复位resetBTN和开始/暂停startBTN。

Function headMove这个函数根据输入的参数(方向键的KeyCode),case选择改变head值,即改变前进的方向,注意不能回头。

然后主要的控制,要根据当前三个控件的Keydown事件来触发,调用headMove函数,来控制蛇的前进方向。因为上下左右的方向键会改变控件的焦点,所以3个控件都用了同样的方式。

Click复位resetBTN按键,执行newGame().

Click开始/暂停startBTN按键,开始运行,会用到Timer的功能,while循环,每隔一个时间(SPEED=0.5秒),执行一次前进Sub snakeGo() ;再次点击,游戏暂停。

以上是整个VBA程序的简单介绍,如需原文件,可在“雕虫小技工”公众号内发信息“snake”,自动返回下载地址。

欢迎关注“雕虫小技工”wx同号,随时了解最新例程和信息。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网