c语言小游戏编程Word下载.docx

上传人:b****4 文档编号:7901774 上传时间:2023-05-09 格式:DOCX 页数:11 大小:97.31KB
下载 相关 举报
c语言小游戏编程Word下载.docx_第1页
第1页 / 共11页
c语言小游戏编程Word下载.docx_第2页
第2页 / 共11页
c语言小游戏编程Word下载.docx_第3页
第3页 / 共11页
c语言小游戏编程Word下载.docx_第4页
第4页 / 共11页
c语言小游戏编程Word下载.docx_第5页
第5页 / 共11页
c语言小游戏编程Word下载.docx_第6页
第6页 / 共11页
c语言小游戏编程Word下载.docx_第7页
第7页 / 共11页
c语言小游戏编程Word下载.docx_第8页
第8页 / 共11页
c语言小游戏编程Word下载.docx_第9页
第9页 / 共11页
c语言小游戏编程Word下载.docx_第10页
第10页 / 共11页
c语言小游戏编程Word下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言小游戏编程Word下载.docx

《c语言小游戏编程Word下载.docx》由会员分享,可在线阅读,更多相关《c语言小游戏编程Word下载.docx(11页珍藏版)》请在冰点文库上搜索。

c语言小游戏编程Word下载.docx

5.源程序:

#include<

stdio.h>

conio.h>

stdlib.h>

time.h>

#defineN35

#defineup72

#defineleft75

#defineright77

voidrun();

//游戏控制函数

voidyn();

//设置是否继续游戏函数

voidprint(int[][N]);

//输出函数

voidmovebul(int[][N]);

//子弹移动函数

voidmovepla(int[][N]);

//敌机移动函数

voidsetting(void);

//设置函数

voidmenu(void);

//菜单函数

intscr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;

//全局变量:

界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡

voidmain()

{menu();

run();

}

voidprint(inta[][N])//输出函数

{

system("

cls"

);

inti,j;

for(i=0;

i<

22;

i++)

{

a[i][width-1]=4;

for(j=0;

j<

width;

j++)

{

if(a[i][j]==0)printf("

"

if(a[i][j]==1)printf("

\5"

//输出我机的符号

if(a[i][j]==2)printf("

^"

//子弹

if(a[i][j]==3)printf("

\3"

//输出敌机符号

if(a[i][j]==4)printf("

\2"

if(i==1&

&

j==width-1)printf("

您成功杀敌:

%d架"

score);

//右上角显示得分

if(i==2&

j==width-1)

printf("

设置:

Esc"

if(i==4&

您已经死亡了:

%d次"

death);

//右上角显示死亡次数

if(i==9&

你还剩余%d条命!

"

3-death);

if(i==18&

printf("

制作人:

XXX"

if(i==19&

信息10-3班"

if(i==20&

学号:

20100302xxxx"

}

\n"

}

voidmovebul(inta[][N])

for(j=0;

{

if(i==0&

a[i][j]==2)

a[i][j]=0;

if(a[i][j]==2)

if(a[i-1][j]==3)//加分

{

score+=1;

\7"

}

a[i][j]=0,a[i-1][j]=2;

}

voidmovepla(inta[][N])

inti,j;

for(i=21;

i>

=0;

i--)//从最后一行往上是为了避免把敌机直接冲出数组。

if(i==21&

a[i][j]==3)

a[i][j]=0;

//消除敌机,在最低层

if(a[i][j]==3)a[i][j]=0,a[i+1][j]=3;

//敌机移动

if(a[20][pl]==3&

a[21][pl]==1)death++;

//死亡

voidyn()

system("

color2e"

\t\t\t\t*****GAMEOVER*****\n\a"

\t\t*****游***戏***结***束*****\n\n\n"

\t\t\t按y键继续游戏,n键退出游戏(y/n)?

\t\t\t"

switch(getch())//提示是否要继续游戏

case'

y'

:

Y'

death=0,score=0,run();

break;

n'

N'

default:

exit(0);

voidsetting(void)

intsw=0,i,j;

system("

do

sw=0;

printf("

\n游戏界面的大小:

1.大2.小>

>

switch(getche())

case'

1'

width=34;

2'

width=24;

;

default:

\n错误,请重新选择...\n"

sw=1;

}while(sw);

\n请选择敌机密度:

1.大2.中3.小>

0'

density=10;

density=20;

density=30;

3'

density=40;

\n敌机的飞行速度:

1.快2.中3.慢>

speed=2;

speed=3;

speed=4;

for(i=0;

for(j=0;

45;

scr[i][j]=0;

scr[21][pl=9]=1;

\n按任意键保存..."

getch();

voidrun()

//设置背景颜色

inti=0,j=0;

scr[21][pl]=1;

//我方飞机初始位置

scr[0][5]=3;

while(death<

3)//限制死亡次数

if(kbhit())

switch(getch())//控制左右移动

{

caseleft:

case'

a'

A'

if(pl>

0)

scr[21][pl]=0,scr[21][--pl]=1;

caseright:

d'

D'

if(pl<

width-2)

scr[21][pl]=0,scr[21][++pl]=1;

caseup:

W'

w'

scr[20][pl]=2;

case27:

if(++j%density==0)//控制生产敌机的速度

j=0;

srand(time(NULL));

//产生随机数

scr[0][rand()%width]=3;

//生成随机敌方飞机

if(++i%speed==0)//控制敌机移动速度,相对于子弹移动速度

movepla(scr);

//飞机移动

movebul(scr);

//子弹移动

print(scr);

//绘制游戏画面

}

yn();

voidmenu(void)

{system("

说明:

按NM控制我机左右飞行,Z发射子弹\n设置:

请按Esc\n开始游戏:

任意键"

if(getch()==27)setting();

实验结果与分析:

6.实验反思:

通过本次试验,使我对c语言有了更深一层次的了解,对getche语句、for语句、while语句、printf语句、switch语句、颜色函数等等的了解及使用更加详细了一些,明白了这些语句的用法,明确了c语言的使用环境,功能。

C语言作为一个基础性编程语言是我们在以后编程中不可或缺的语言,使用率肯定会进一步增高。

掌握了c语言就相当于掌握了一门技术,同时c语言相对而言简单一些,更容易理解。

自己虽然对这个小游戏进行一部分的改造,但是我也感觉这只是其中的很很小的一部分,肯定会有更加强大的功能等待着我们去改善。

同时,我也发现了自己很多的不足,需要进一步加强这一方面的学习,明白了自己的在哪一方面的欠缺,希望可以在以后的学习中更加彻底的弥补自己的不足,改善这种情况,

也希望自己也可很容易的就可以轻松写出一些小游戏代码,我相信我也可以在以后的学习过程中逐步地掌握它,彻底的掌握它,使它成为自己手中的一把利剑……

[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2