云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言贪吃蛇实验报告

C语言贪吃蛇实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/4 23:38:33

运动速度*/ }

break; case 27: exit(0); default:

switch(key1){ case 72:

while(!kbhit()&&judgeGO(snake)) {

upmove(snake);/*上键函数控制蛇向上运动*/ draw(snake); }

break; case 80:

while(!kbhit()&&judgeGO(snake)) {

downmove(snake);/*下键函数控制蛇向下运动*/ draw(snake); }

break; case 75:

while(!kbhit()&&judgeGO(snake)) {

leftmove(snake);/*左键函数控制蛇向左运动*/ draw(snake); }

break; case 77:

while(!kbhit()&&judgeGO(snake) ) {

rightmove(snake);/*右键函数控制蛇蛇向右运动*/ draw(snake); }

break; } } }

/*---------------------------------------------------*/ /*------------是否继续游戏---------------------------*/ gameover();/*判断游戏是否继续的函数*/ if(getch()==27) exit(0); else {

marksn();

12

getch(); }

/*---------------------------------------------------*/ }

/*-------------------------------------------------*/

/*-----------上下左右移动神马的--------------------*/

void downmove(int (*sna)[17])/*控制蛇向下运动的函数*/ {

int x=0,y=0,mark=0; for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(sna[x][y]!=0&&sna[x][y]!=HEAD&&sna[x][y]!=FOOD) {

sna[x][y]=sna[x][y]-1;//前面已经说了,12345....标记法,减去1的话,除了头部以外其他的就移动了。 } } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(mark

if(sna[x][y]!=HEAD&&sna[x][y]!=FOOD)

mark=sna[x][y];//这个是求头部之后的值。 } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(sna[x][y]==HEAD) {

sna[x+1][y]=HEAD;//头部的移动, sna[x][y]=mark+1;//头部的赋值。 return; } } } }

void upmove(int (*sna)[17])/*控制蛇向上运动的函数*/ {

int x=0,y=0,mark=0; for(x=0;x<16;x++)

13

{

for(y=0;y<16;y++) {

if(sna[x][y]!=0&&sna[x][y]!=HEAD&&sna[x][y]!=FOOD) {

sna[x][y]=sna[x][y]-1; } } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(mark

if(sna[x][y]!=HEAD&&sna[x][y]!=FOOD) mark=sna[x][y]; } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(sna[x][y]==HEAD) {

sna[x-1][y]=HEAD; sna[x][y]=mark+1; return; } } } }

void leftmove(int (*sna)[17])/*控制蛇向左运动的函数*/ {

int x=0,y=0,mark=0; for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(sna[x][y]!=0&&sna[x][y]!=HEAD&&sna[x][y]!=FOOD) {

sna[x][y]=sna[x][y]-1; } } }

for(x=0;x<16;x++) {

14

for(y=0;y<16;y++) {

if(mark

if(sna[x][y]!=HEAD&&sna[x][y]!=FOOD) mark=sna[x][y]; } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(sna[x][y]==HEAD) {

sna[x][y-1]=HEAD; sna[x][y]=mark+1; return; } } } }

void rightmove(int (*sna)[17])/*控制蛇向右运动的函数*/ {

int x=0,y=0,mark=0; for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(sna[x][y]!=0&&sna[x][y]!=HEAD&&sna[x][y]!=FOOD) {

sna[x][y]=sna[x][y]-1; } } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++) {

if(mark

if(sna[x][y]!=HEAD&&sna[x][y]!=FOOD) mark=sna[x][y]; } }

for(x=0;x<16;x++) {

for(y=0;y<16;y++)

15

搜索更多关于: C语言贪吃蛇实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

运动速度*/ } break; case 27: exit(0); default: switch(key1){ case 72: while(!kbhit()&&judgeGO(snake)) { upmove(snake);/*上键函数控制蛇向上运动*/ draw(snake); } break; case 80: while(!kbhit()&&judgeGO(snake))

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com