贪吃蛇程序代码c++语言(贪吃蛇c语言代码)
大家好,乐天来为大家解答以下的问题,关于贪吃蛇程序代码c++语言,贪吃蛇c语言代码这个很多人还不知道,现在让我们一起来看看吧!
1、#define N 200#include
2、右下角坐标为(610,460)的围墙*/void DrawK(void){/*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i<=600;i+=10)/*画围墙*/ { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ }}/*玩游戏具体过程*/void GamePlay(void){ randomize();/*随机数发生器*/ food.yes=1;/*1表示需要出现新食物,0表示已经存在食物*/ ***.life=0;/*活着*/ snake.direction=1;/*方向往右*/ snake.x[0]=100;snake.y[0]=100;/*蛇头*/ snake.x[1]=110;snake.y[1]=100; snake.node=2;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/ { if(food.yes==1)/*需要出现新食物*/ { food.x=rand()%400+60; food.y=rand()%350+60; while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++; while(food.y%10!=0) food.y++; food.yes=0;/*画面上有食物了*/ } if(food.yes==0)/*画面上有食物了就要显示*/ { setcolor(GREEN); rectangle(food.x,food.y,food.x+10,food.y-10); } for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { snake.x[i]=snake.x[i-1]; snake.y[i]=snake.y[i-1]; } /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake.direction) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i
3、第三节不可能拐过来*/ { if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]) { GameOver();/*显示失败*/ ***.life=1; break; } } if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55|| snake.y[0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ ***.life=1; /*蛇死*/ } if(***.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i
本文分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
如果您对兰博基尼Urus感兴趣,并希望尽快预约试驾,可以按照以下步骤快速操作:1 访问官方网站 - 登录兰...浏览全文>>
-
腾势N7作为一款备受瞩目的新能源汽车,其独特的设计和性能吸引了众多消费者的关注。为了帮助大家更好地了解这...浏览全文>>
-
东南SEM DELICA试驾预约:线上+线下操作指南一、线上预约流程以下是通过线上渠道进行东南SEM DELICA试驾预约...浏览全文>>
-
听起来很吸引人!如果您想预约北京BJ60新能源的试驾,可以按照以下步骤进行:1 联系经销商:查找您所在地区...浏览全文>>
-
电动屋YOUNG光小新是一款备受关注的纯电动车型,以其亲民的价格、实用的设计和环保理念吸引了众多消费者的注意...浏览全文>>
-
根据最新的市场信息,2024款启源E07的价格可能会因配置、地区以及经销商的不同而有所差异。一般来说,启源E07...浏览全文>>
-
根据您提供的信息,凯翼E5 EV 2021款的最低售价为13 68万元起。不过需要注意的是,实际购车价格可能会因地...浏览全文>>
-
风光E3是一款由东风风光推出的新能源车型,主要定位于城市代步和家庭使用。关于风光E3的价格以及选车时需要注...浏览全文>>
-
新帝豪是吉利汽车旗下的一款紧凑型轿车,凭借其较高的性价比和稳定的性能,在市场上一直有着不错的口碑。不过...浏览全文>>
-
根据您提供的信息,枫叶汽车的80v L最新款(2025款)的价格走势和市场优惠力度可能受到以下因素的影响:1 ...浏览全文>>
- 广东东莞长安启源E07新款价格2024款多少钱?购车攻略助你轻松入手
- 新帝豪多少钱?不同配置性价比分析
- 宝马iX多少钱 2025款落地价,各车型售价大公开,性价比爆棚
- 风行S50EV最新价格2024款与配置的完美平衡
- 江淮悍途EV试驾需要注意什么
- 创维D11新款价格2024款多少钱?购车策略与性价比大揭秘
- 北京汽车北京U5 PLUS试驾,4S店的贴心服务与流程
- 东风小康K01L预约试驾流程讲解
- 试驾腾势Z9,超简单流程,轻松开启试驾之旅
- 东风小康C51试驾预约,从预约到试驾的完美旅程
- VGV U70 PLUS试驾预约,新手试驾注意事项
- 优优EV最新价格2023款,买车前的全方位指南
- 凯翼昆仑新款价格2025款多少钱?各款车型价格区间大揭秘
- 宝马i5落地价,最低售价35.29万起,现车充足
- 试驾北京汽车北京U7,从咨询到试驾的完整体验
- 昂科拉新车报价2023款大起底,买车超详细
- 坦克500新能源试驾预约,新手试驾注意事项
- 郑州ID.4 CROZZ落地价,买车省钱秘籍
- 岚图梦想家多少钱?看完这篇购车攻略再做决定
- 鑫源E3新款价格2025款多少钱?买车技巧与性价比全奉上