1.菜单的模拟
我在制作菜单的时候是先打印出底图,然后利用getch()获取按键的信息,然后根据接收到的信息,利用标准输出句柄和SetConsoleTextAttribute()函数来变换相应选项的颜色,让使用者看起来像是真的在控制选项的移动。并且根据已经选定的相应选项,在玩家按下回车或者空格的时候进入到游戏中去。
2.贪吃蛇
在贪吃蛇游中,我定义了三个个自定义函数,分别是snake_mobile,control,snak_rand。
snak_rand函数的主要功能就是在地图中的随机位置产生食物,其中我利用随机函数rand,还设置了一个判断选项,判断随机出来的点位是否可用,如果不可用,那么则重新随机。在这里,为了防止死循环,我设置了一个防死循环的变量,记录循环的次数,当循环一定次数的位置均不可用时,则证明,已经没有可用点了。
control函数的功能则是获取当前按了那个键,并且返回相应的返回值,其中我利用了kbhit() 函数,该函数判断按键有没有被按下,按下是,没有按下返回0,是非阻塞函数 。
snake_mobile函数的功能是 ,根据control 函数来使地图产生相应的变化,即