C语言可以敲哪些小游戏,C语言可以写哪些小游戏?

09d9c335734067def2588e72aa0f8f3e.png

C语言可以写哪些小游戏?

C语言可以编手机游戏。你叫他去死不过我这有贪吃蛇的代码,你倒可以看看(用TC编译一定过(

#包括

#包括

#包括

#包括

#包括

#定义输入7181

#定义ESC 283

#定义UP 18432

#定义向下20480

#定义左19200

#定义权利19712

#ifdef __cplusplus

#define __CPPARGS.

#否则

#define __CPPARGS

#endif

void interrupt(* old handler)(_ _ CPPARGS);

void中断新处理程序(_ CPPARGS);

void SetTimer(void interrupt(* IntProc)(_ _ CPPARGS));

void KillTiMer(void);

void init gra(void);

void First BLock(void);

void绘制地图(void);

void init snake(void);

void init food(void);

void Snake _ Toolv(void);

void Flag(int,int,int,int);

void GameOVer(void);

void Snake _ body mv(void);

void Snake _ body add(void);

void PRntScore(void);

void Timer(void);

void Win(void);

无效第二块(void);

虚食(void);

void Dsnkorfd(int,int,int);

void Delay(int);

结构蛇

{ int x;int y;int color } Snk[12];

结构食物

{ int x;int y;int color} Fd

int标志1=1,标志2=0,标志3=0,标志4=0,标志5=0,标志6=0,

checkx,checky,num,key=0,Times,Score,Hscore,Snkspeed,TimerCounter,TureorFalse

char Sco[2],时间[6];

void main()

{ Initgra();

SetTimer(新处理程序);

first BLock();

while(1)

{ DrawMap();

snake _ Toolv();

game over();

snake _ body mv();

snake _ body add();

PrntScore();

timer();

win();

if(键==ESC)

打破;

如果(键==回车(

{ clear device();

first BLock();

{}

第二个块();

food();

延迟(Snks速度);

{}

关闭图形();

killTiMer();

{}

void中断新处理程序(_ CPPARGS)

{

计时器

旧处理程序();

{}

void SetTimer(void interrupt(* IntProc)(_ _ CPPARGS))

{

old handler=getvect(0x1c);

disable();

setvect(0x1c,IntProc);

enable();

{}

void KillTimer()

{

disable();

setvect(0x1c,旧处理程序);

enable();

{}

void Initgra()

{int gd=DETECT,GM;

initgraph(gd,gm,' d : \ \ TC ');

{}

无效的第一个块()

{ setcolor(11);

setext style(0,0,4);

outextxy(100,220,"第一个块”;

循环3360键=BIOS键(0);

如果(键==回车(

{ clear device();

init snake();

init food();

分数=0;

hs core=1;

Snkspeed=10

num=2;

次数=0;

key=0;

turorfalse=1;

定时器计数器=0;

时间[0]=' 0 ';时间[1]=' 0 ';时间[2]=' : ';时间[3]=' 1 ';时间[4]=' 0 ';时间[5]=' \ 0 ';

{}

否则if(key==ESC)clear device();

否则转到循环;

{}

void DrawMap()

{line(10,10,470,10);

行(470,10,470,470);

行(470,470,10,470);

行(10,470,10,10);

行(480,20,620,20);

行(620,20,620,460);

行(620,460,480,460);

行(480,460,480,20);

{}

void Initsnake()

{随机化();

num=2;

Snk[0].x=random(440);

Snk[0].x=Snk[0].x-Snk[0].x50

Snk[0].y=random(440);

Snk[0].y=Snk[0].y-Snk[0].y50

Snk[0].color=4;

Snk[1].x=Snk[0].x;

Snk[1].y=Snk[0].y 20

Snk[1].color=4;

{}

void Initfood()

{随机化();

FD。x=random(440);

Fd。x=Fd。x-Fd。x30;

FD。y=random(440);

Fd。y=Fd。y-Fd。y 30

FD。color=random(14)1;

{}

void Snake _ Toolv()

{if(bioskey(1))

{ key=BIOS密钥(0);

开关(键(

{case UP:Flag(1,0,0,0);打破;

case DOWN:Flag(0,1,0,0);打破;

case LEFT:Flag(0,0,1,0);打破;

case RIGHT:Flag(0,0,0,1);打破;

默认值:break

{}

{}

if(标志1)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0]).x,Snk[0].y,0);

Snk[0].y-=20;

Dsnkorfd(Snk[0]).x,Snk[0].y,Snk[0].颜色);

{}

if(标志2)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0]).x,Snk[0].y,0);

Snk[0].y=20

Dsnkorfd(Snk[0]).x,Snk[0].y,Snk[0].颜色);

{}

if(标志3)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0]).x,Snk[0].y,0);

Snk[0].x-=20;

Dsnkorfd(Snk[0]).x,Snk[0].y,Snk[0].颜色);

{}

if(标志4)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0]).x,Snk[0].y,0);

Snk[0].x=20

Dsnkorfd(Snk[0]).x,Snk[0].y,Snk[0].颜色);

{}

{}

无效标志(int a,int b,int c,int d)

{ flag 1=a;标志2=b;标志3=c;标志4=d;{}

void GameOver()

{ int I;

if(Snk[0].x460||Snk[0].y460)

{ clear device();

setcolor(11);

setext style(0,0,4);

outextxy(160,220,"游戏结束”;

循环1:键=BIOS键(0);

如果(键==回车(

{ clear device();

first BLock();

{}

其他

if(键==ESC)

clear device();

其他

转到loop1

{}

for(I=3;i{if(Snk[0]).x==Snk[i].xSnk[0].y==Snk[i].y)

{ clear device();

setcolor(11);

setext style(0,0,4);

outextxy(160,220,"游戏结束”;

循环2:键=BIOS键(0);

如果(键==回车(

{ clear device();

first BLock();

{}

其他

if(键==ESC)

clear device();

否则转到循环2;

{}

{}

{}

void Snake_Bodymv()

{int i,s,t;

for(I=1;我{ Dnskorfd(checkx,checky,Snk[i]).颜色);

Dsnkorfd(Snk[i]).x,Snk[i].y,0);

s=Snk[i].x;

t=Snk[i].y;

Snk[i].x=checkx

Snk[i].y=checky

checkx=s;

checky=t;

{}

{}

食物无效()

{if(flag5)

{随机化();

FD。x=random(440);

Fd。x=Fd。x-Fd。x30;

FD。y=random(440);

Fd。y=Fd。y-Fd。y 30

FD。color=random(14)1;

标志5=0;

{}

Dsnkorfd(fd.x,Fd.y,Fd)。颜色);

{}

void Snake_Bodyadd()

{if(Snk[0]).x==Fd.xSnk[0].y==Fd.y)

{if(Snk[num-1]).xSnk[num-2].x)

{ num

Snk[num-1].x=Snk[num-2].x20

Snk[num-1].y=Snk[num-2].y;

Snk[num-1].color=Fd.color

{}

其他

if(Snk[num-1]).x { num

Snk[num-1].x=Snk[num-2].x-20;

Snk[num-1].y=Snk[num-2].y;

Snk[num-1].color=Fd.color

{}

其他

if(Snk[num-1]).ySnk[num-2].y)

{ num

Snk[num-1].x=Snk[num-2].x;

Snk[num-1].y=Snk[num-2].y 20

Snk[num-1].color=Fd.color

{}

其他

if(Snk[num-1]).y { num

Snk[num-1].x=Snk[num-2].x;

Snk[num-1].y=Snk[num-2].y-20;

Snk[num-1].color=Fd.color

{}

标志5=1;

分数;

{}

{}

void PrntScore()

{if(Hscore!=分数(

{ setcolor(11);

setext style(0,0,3);

outextxy(490,100,' SCORE ');

setcolor(2);

setfillstyle(1,0);

矩形(520,140,580,180);

漫滩(530,145,2);

Sco[0]=(char)(分值48);

SCO[1]=' \ 0 ';

Hscore=分数

setcolor(4);

setext style(0,0,3);

outextxy(540,150,Sco);

{}

{}

无效计时器()

{if(定时器计数器18)

{ Time[4]=(char)(Time[4]-1);

if(时间[4]“0”)

{ Time[4]=' 9 ';

Time[3]=(char)(Time[3]-1);

{}

if(时间[3]“0”)

{ Time[3]=' 5 ';

Time[1]=(char)(Time[1]-1);

{}

if(turorfalse)

{ setcolor(11);

setext style(0,0,3);

outextxy(490,240,' TIMER ');

setcolor(2);

setfillstyle(1,0);

矩形(490,280,610,320);

漫滩(530,300,2);

setcolor(11);

setext style(0,0,3);

outextxy(495,290,Time);

turorfalse=0;

{}

if(Time[1]=' 0 ' Time[3]=' 0 ' Time[4]=' 0 ')

{ setcolor(11);

setext style(0,0,4);

outextxy(160,220,"游戏结束”;

循环3360键=BIOS键(0);

如果(键==回车(

{ clear device();

first BLock();

{}

否则if(key==ESC)clear device();

否则转到循环;

{}

定时器计数器=0;

turorfalse=1;

{}

{}

void Win()

{if(分数==3)

时代;

if(Times==2)

{ clear device();

setcolor(11);

setext style(0,0,4);

outextxy(160,220,' You Win ');

循环3360键=BIOS键(0);

如果(键==回车(

{ clear device();

first BLock();

key=0;

{}

否则if(key==ESC)clear device();

否则转到循环;

{}

{}

无效第二个块()

{if(分数==3)

{ clear device();

setcolor(11);

setext style(0,0,4);

outextxy(100,220,"第二块”;

循环3360键=BIOS键(0);

如果(键==回车(

{ clear device();

init snake();

init food();

分数=0;

hs core=1;

snk速度=8;

num=2;

key=0;

{}

否则if(key==ESC)clear device();

否则转到循环;

{}

{}

void Dsnkorfd(int x,int y,int color)

{ setcolor(color);

setfillstyle(1,color);

圆(x,y,10);

漫填(x,y,颜色);

{}

无效延迟(整数倍(

{ int I;

for(I=1;I=次数;I)

延迟(15000);

}还有黑白棋,扫雷,俄罗斯方块等贪吃蛇,推方块等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值