用四个整数编写一个贪吃蛇游戏( 二 )
这么看来 , 蛇的行为有点像队列:
文章图片
当蛇移动并吃掉一个苹果时 , 我们调用s_shape_add , 仅增加长度 , 并添加一个新的蛇尾s_tdir 。
主循环主循环如下所示 。
每当某个键按下时 , 就展开s_key_press , 检查移动是否允许 , 然后更新s_chdir(使用s_chdir_set) 。
s_key_press有两个输入参数的作用是去除相反方向 。 例如 , 如果蛇当前向右移动(SR) , 那么SL就是不可能的输入 , 从而中断switch语句 。
移动蛇的函数move_snake()中实现了大部分逻辑:
为了验证蛇是否可以在方格中移动 , 我们实现了check_*()函数:
check_l()检查蛇的X坐标(s_hpos%8)是否大于上一个位置的X坐标;
check_r()检查蛇的X坐标(s_hpos%8)是否小于上一个位置的X坐标;
check_u()和check_d()的原理相同 , 检查增加s_hpos是否会导致溢出 。 如果溢出 , 表明移动超出了方格边界 。 这里溢出当做一个特性使用 。
显示蛇的函数【用四个整数编写一个贪吃蛇游戏】这是需要实现的最后一个函数:
相关经验推荐
- 原神:七七能用和璞鸢吗?短短八个字,道出了两把辛酸泪
- CSGO年龄最大的世界冠军!Faze大表哥捧杯,20秒转点用四年才跑完
- 罕见游戏还在跳!《终末阵线》盗取B站用户账号,自刷评分!
- 王者:生日当天,荣耀典藏免费使用,9款皮肤可以获得共享资格
- DNF:如何成为一个剑魂大神?这三个技能不用学,别被骗了!
- KPL夏季赛采用线下赛?Gemini剧透引热议,再打线上赛KPL怕是要凉
- 魔兽WLK:80级烹饪专业崛起!一个材料很稀缺,前期赚金不用愁?
- 梦幻西游:告别坑队长,以后的队长得持证带队,用成品宠炼化天眼
- “无咽姐”浪胃仙吃川菜,夹菜不用公筷引争议,网友:已拉黑
- 用这6个APP,玩着玩着我就成了学霸