用c编写贪吃蛇全过程Word文档格式.docx

上传人:b****1 文档编号:13237556 上传时间:2022-10-08 格式:DOCX 页数:15 大小:25.16KB
下载 相关 举报
用c编写贪吃蛇全过程Word文档格式.docx_第1页
第1页 / 共15页
用c编写贪吃蛇全过程Word文档格式.docx_第2页
第2页 / 共15页
用c编写贪吃蛇全过程Word文档格式.docx_第3页
第3页 / 共15页
用c编写贪吃蛇全过程Word文档格式.docx_第4页
第4页 / 共15页
用c编写贪吃蛇全过程Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

用c编写贪吃蛇全过程Word文档格式.docx

《用c编写贪吃蛇全过程Word文档格式.docx》由会员分享,可在线阅读,更多相关《用c编写贪吃蛇全过程Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

用c编写贪吃蛇全过程Word文档格式.docx

intprint(intret);

intrun(intret);

intfoods(void);

intgrow(void);

intdirection(void);

intdie(void);

intor(void);

intpoi(void);

intgotoxy(intx,inty);

二、资源文件src.c,这里存放的是函数的实现方法:

#include"

header.h"

intflag=0;

intlen=5;

intkey=0;

charname[]="

name"

;

intcore=0;

intlife=3;

//初始化墙

intwall(void)

{

inti=0;

intj=0;

for(i=0;

i<

30;

i++)

for(j=0;

j<

j++)

if(i==0)

printf("

*"

);

if(j==29)

\n"

}

if(i>

0&

&

29)

if(j==0)

*\n"

if(j>

29){

"

if(i==29)

}//

//初始化蛇属性

intinit(intlen)

life=3;

core=0;

flag=0;

len=5;

key=0;

gotoxy(8,15);

请输入你的大名,按Enter键开始游戏:

scanf("

%s"

&

name);

gotoxy(62,2);

gotoxy(62,4);

name:

name);

"

gotoxy(62,6);

方向控制说明:

gotoxy(62,7);

w:

向上s:

向下"

gotoxy(62,8);

a:

向左d:

向右"

gotoxy(62,10);

O表示食物"

gotoxy(62,11);

表示有毒"

gotoxy(62,12);

分数:

%d"

core);

gotoxy(62,14);

生命值:

3;

★"

xy[0][0]=22;

xy[1][0]=22;

for(i=1;

len;

xy[0][i]=xy[0][i-1]-2;

xy[1][i]=xy[1][i-1];

print(len);

5;

pois[0][i]=2*(rand()%(28)+1);

pois[1][i]=rand()%(28)+1;

gotoxy(pois[0][i],pois[1][i]);

printf("

O"

//蛇移动

intrun(intret)

{for(i=ret-1;

i>

0;

i--)

xy[0][i]=xy[0][i-1];

//打印蛇

intprint(intret)

ret;

gotoxy(xy[0][0],xy[1][0]);

♦"

else

gotoxy(xy[0][i],xy[1][i]);

•"

//定义窗口属性

intgotoxy(intx,inty)

COORDcoord={x,y};

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);

intmov(intk)

switch(k)

case1:

if(2!

=flag)

run(len);

xy[0][0]=xy[0][0]-2;

case3

case4

case2:

if(1!

=flag)

xy[0][0]=xy[0][0]+2;

flag=2;

break;

if(4!

xy[1][0]=xy[1][0]-1;

flag=3;

if(3!

xy[1][0]=xy[1][0]+1;

//生成食物

intfoods(void)

food[0]=2*(rand()%(28)+1);

food[1]=rand()%(28)+1;

gotoxy(food[0],food[1]);

//蛇吃食物并成长

intgrow(void)

if(xy[0][0]==food[0]&

xy[1][0]==food[1]){

len++;

foods();

core=core+100;

returnlen;

//根据键值获取蛇的移动方向

intdirection(void)

if(_kbhit())

key=_getch();

if('

a'

==key&

flag!

=2)flag=1;

elseif('

d'

=1)flag=2;

w'

=4)flag=3;

s'

=3)flag=4;

returnflag;

//撞强和碰尾死亡方式

intdie(void)

if(xy[0][0]==0||xy[0][0]==58||xy[1][0]==0||xy[1][0]==29)return-1;

if(xy[0][0]==xy[0][i]&

xy[1][0]==xy[1][i])

//死亡后由玩家决定是否继续游戏

intor(void)

intkey;

while

(1)

y'

==key)

return1;

n'

return2;

//吃有毒的食物,生命减少至0;

intpoi(void)

if(xy[0][0]==pois[0][i]&

xy[1][0]==pois[1][i]){

life--;

if(life==0)

{gotoxy(62,14);

printf("

gotoxy(62,14);

return-3;

for(i=1;

=life;

★"

}pois[0][i]=2*(rand()%(28)+1);

pois[1][i]=rand()%(28)+1;

gotoxy(pois[0][i],pois[1][i]);

、主函数main.c文件

intmain(void)

inti;

intflag=2;

intkill;

intret;

intret2;

system("

COLOR0C"

//窗口颜色

MODECON:

COLS=99LINES=30"

//窗口宽度和高度

in:

//初始化移动方向

kill=1;

ret=0;

ret2=0;

gotoxy(0,0);

//光标移动到坐标(0,0)的位置

wall();

//打印围墙

//初始化蛇

init(5);

//测试语句

//gotoxy(58,29);

//printf("

这"

//调用生成食物的函数,生成一个食物while

(1)

{gotoxy(xy[0][len-1],xy[1][len-1]);

//蛇移动时,蛇尾前移时擦去原蛇尾mov(flag);

//控制蛇移动方向

len=grow();

//蛇生长,并返回蛇的长度

ret2=poi();

//蛇吃到有毒的食物,如果生命值为0,刚死亡if(ret2==-3)

gotoout3;

flag=direction();

//根据键值,得到蛇移动方向kill=die();

//蛇死亡判断,撞墙和碰尾死亡;

print(len);

//打印当前长度的蛇

if(-1==kill)

gotoout1;

//撞墙死亡

if(-2==kill)

gotoout2;

//碰尾死亡

Sleep(300-5*len);

//简单延时

out1:

gotoxy(15,15);

恭喜你撞墙而死!

按y重新开始,按n结束游戏"

in2:

ret=or();

//死亡后由玩家决定是否继续游戏,按y继续游戏,按n退出游戏

if(1==ret)//复活后游戏,把蛇身置空

50;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1