找回密码
 点一下
查看: 3401|回复: 18

[绝对经典的东西]“贪吃蛇”游戏源代码

[复制链接]
发表于 2008-1-16 08:07:48 | 显示全部楼层 |阅读模式
共有两关,有记时器和记分器;
按Enter键开局;
在游戏过程中,按ESC键退出,按Enter键重新开局;

#include <stdlib.h>
#include <graphics.h>
#include <bios.h>
#include <dos.h>
#include <conio.h>
#define Enter 7181
#define ESC 283
#define UP 18432
#define DOWN 20480
#define LEFT 19200
#define RIGHT 19712
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
void interrupt (*oldhandler)(__CPPARGS);
void interrupt newhandler(__CPPARGS);
void SetTimer(void interrupt (*IntProc)(__CPPARGS));
void KillTimer(void);
void Initgra(void);
void TheFirstBlock(void);
void DrawMap(void);
void Initsnake(void);
void Initfood(void);
void Snake_Headmv(void);
void Flag(int,int,int,int);
void GameOver(void);
void Snake_Bodymv(void);
void Snake_Bodyadd(void);
void PrntScore(void);
void Timer(void);
void Win(void);
void TheSecondBlock(void);
void Food(void);
void Dsnkorfd(int,int,int);
void Delay(int);
struct Snake
{int x;int y;int color;}Snk[12];
struct Food
{int x;int y;int color;}Fd;
int flag1=1,flag2=0,flag3=0,flag4=0,flag5=0,flag6=0,
checkx,checky,num,key=0,Times,Score,Hscore,Snkspeed,TimerCounter,TureorFalse;
char Sco[2],Time[6];
void main()
{ Initgra();
SetTimer(newhandler);
TheFirstBlock();
while(1)
{DrawMap();
Snake_Headmv();
GameOver();
Snake_Bodymv();
Snake_Bodyadd();
PrntScore();
Timer();
Win();
if(key==ESC)
break;
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
TheSecondBlock();
Food();
Delay(Snkspeed);
}
closegraph();
KillTimer();
}
void interrupt newhandler(__CPPARGS)
{
TimerCounter++;
oldhandler();
}
void SetTimer(void interrupt (*IntProc)(__CPPARGS))  
{
oldhandler=getvect(0x1c);
disable();
setvect(0x1c,IntProc);
enable();
}

void KillTimer()  
{
disable();
setvect(0x1c,oldhandler);
enable();
}
void Initgra()
{int gd=DETECT,gm;
initgraph(&gd,&gm,"d:\\tc");
}
void TheFirstBlock()
{setcolor(11);
settextstyle(0,0,4);
outtextxy(100,220,"The First Block");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
Initsnake();
Initfood();
Score=0;
Hscore=1;
Snkspeed=10;
num=2;
Times=0;
key=0;
TureorFalse=1;
TimerCounter=0;
Time[0]='0';Time[1]='0';Time[2]=':';Time[3]='1';Time[4]='0';Time[5]='\0';
}
else if(key==ESC) cleardevice();
else goto loop;
}
void DrawMap()
{line(10,10,470,10);
line(470,10,470,470);
line(470,470,10,470);
line(10,470,10,10);
line(480,20,620,20);
line(620,20,620,460);
line(620,460,480,460);
line(480,460,480,20);
}
void Initsnake()
{randomize();
num=2;
Snk[0].x=random(440);
Snk[0].x=Snk[0].x-Snk[0].x%20+50;
Snk[0].y=random(440);
Snk[0].y=Snk[0].y-Snk[0].y%20+50;
Snk[0].color=4;
Snk[1].x=Snk[0].x;
Snk[1].y=Snk[0].y+20;
Snk[1].color=4;
}
void Initfood()
{randomize();
Fd.x=random(440);
Fd.x=Fd.x-Fd.x%20+30;
Fd.y=random(440);
Fd.y=Fd.y-Fd.y%20+30;
Fd.color=random(14)+1;
}
void Snake_Headmv()
{if(bioskey(1))
{key=bioskey(0);
switch(key)
{case UP:Flag(1,0,0,0);break;
case DOWN:Flag(0,1,0,0);break;
case LEFT:Flag(0,0,1,0);break;
case RIGHT:Flag(0,0,0,1);break;
default:break;
}
}
if(flag1)
{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].color);
}
if(flag2)
{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].color);
}
if(flag3)
{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].color);
}
if(flag4)
{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].color);
}
}
void Flag(int a,int b,int c,int d)
{flag1=a;flag2=b;flag3=c;flag4=d;}
void GameOver()
{int i;
if(Snk[0].x<20||Snk[0].x>460||Snk[0].y<20||Snk[0].y>460)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"Game Over");
loop1:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
else
if(key==ESC)
cleardevice();
else
goto loop1;
}
for(i=3;i<num;i++)
{if(Snk[0].x==Snk.x&&Snk[0].y==Snk.y)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"Game Over");
loop2:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
else
if(key==ESC)
cleardevice();
else goto loop2;
}
}
}
void Snake_Bodymv()
{int i,s,t;
for(i=1;i<num;i++)
{Dsnkorfd(checkx,checky,Snk.color);
Dsnkorfd(Snk.x,Snk.y,0);
s=Snk.x;
t=Snk.y;
Snk.x=checkx;
Snk.y=checky;
checkx=s;
checky=t;
}
}
void Food()
{if(flag5)
{randomize();
Fd.x=random(440);
Fd.x=Fd.x-Fd.x%20+30;
Fd.y=random(440);
Fd.y=Fd.y-Fd.y%20+30;
Fd.color=random(14)+1;
flag5=0;
}
Dsnkorfd(Fd.x,Fd.y,Fd.color);
}
void Snake_Bodyadd()
{if(Snk[0].x==Fd.x&&Snk[0].y==Fd.y)
{if(Snk[num-1].x>Snk[num-2].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;
}
else
if(Snk[num-1].x<Snk[num-2].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;
}
else
if(Snk[num-1].y>Snk[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;
}
else
if(Snk[num-1].y<Snk[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;
}
flag5=1;
Score++;
}
}
void PrntScore()
{if(Hscore!=Score)
{setcolor(11);
settextstyle(0,0,3);
outtextxy(490,100,"SCORE");
setcolor(2);
setfillstyle(1,0);
rectangle(520,140,580,180);
floodfill(530,145,2);
Sco[0]=(char)(Score+48);
Sco[1]='\0';
Hscore=Score;
setcolor(4);
settextstyle(0,0,3);
outtextxy(540,150,Sco);
}
}
void Timer()
{if(TimerCounter>18)
{Time[4]=(char)(Time[4]-1);
if(Time[4]<'0')
{Time[4]='9';
Time[3]=(char)(Time[3]-1);
}
if(Time[3]<'0')
{Time[3]='5';
Time[1]=(char)(Time[1]-1);
}
if(TureorFalse)
{setcolor(11);
settextstyle(0,0,3);
outtextxy(490,240,"TIMER");
setcolor(2);
setfillstyle(1,0);
rectangle(490,280,610,320);
floodfill(530,300,2);
setcolor(11);
settextstyle(0,0,3);
outtextxy(495,290,Time);
TureorFalse=0;
}
if(Time[1]=='0'&&Time[3]=='0'&&Time[4]=='0')
{setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"Game Over");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
else if(key==ESC) cleardevice();
else goto loop;
}
TimerCounter=0;
TureorFalse=1;
}
}
void Win()
{if(Score==3)
Times++;
if(Times==2)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"You Win");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
key=0;
}
else if(key==ESC) cleardevice();
else goto loop;
}
}
void TheSecondBlock()
{if(Score==3)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(100,220,"The Second Block");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
Initsnake();
Initfood();
Score=0;
Hscore=1;
Snkspeed=8;
num=2;
key=0;
}
else if(key==ESC) cleardevice();
else goto loop;
}
}
void Dsnkorfd(int x,int y,int color)
{setcolor(color);
setfillstyle(1,color);
circle(x,y,10);
floodfill(x,y,color);
}
void Delay(int times)
{int i;
for(i=1;i<=times;i++)
delay(15000);
}
发表于 2008-1-16 22:02:54 | 显示全部楼层
dos~
回复

使用道具 举报

发表于 2008-1-16 22:06:13 | 显示全部楼层
cpp………………?
不怎么会………………尝试下读代码
回复

使用道具 举报

 楼主| 发表于 2008-1-17 12:43:27 | 显示全部楼层
不是C++啦。。是C语言。。。
回复

使用道具 举报

发表于 2008-1-17 15:52:44 | 显示全部楼层
引用第3楼NEghox于2008-01-17 12:43发表的  :
不是C++啦。。是C语言。。。

哦………………也不怎么会………………
不过应该能看懂些~~
回复

使用道具 举报

发表于 2008-1-17 15:55:37 | 显示全部楼层
代码是不是没输完呢?或是最后少了}?
回复

使用道具 举报

 楼主| 发表于 2008-1-20 17:37:02 | 显示全部楼层
好严重的WT。。。已经加上
回复

使用道具 举报

发表于 2008-2-9 17:01:59 | 显示全部楼层
怀念哪个摆弄TC的时代..........
回复

使用道具 举报

发表于 2008-8-4 10:08:59 | 显示全部楼层
载入之后..
11个错误
回复

使用道具 举报

发表于 2008-8-4 16:31:07 | 显示全部楼层
这个是要TC编译的,LS估计是用VC吧
回复

使用道具 举报

发表于 2008-8-7 00:07:38 | 显示全部楼层
啥TC,说下
回复

使用道具 举报

发表于 2008-8-7 00:16:00 | 显示全部楼层
引用第10楼嗜血魂于2008-08-07 00:07发表的  :
   啥TC,说下

你去百度一下就知道了~~~

TC现在学校已经不教了吧~
回复

使用道具 举报

发表于 2008-8-7 00:20:17 | 显示全部楼层
turbo c?
回复

使用道具 举报

发表于 2008-8-7 00:21:46 | 显示全部楼层
  [s:186]

猪头泄漏天机,拉出去砍喽~~~~
回复

使用道具 举报

发表于 2008-8-7 00:22:44 | 显示全部楼层
我只是瞎猜的………………
回复

使用道具 举报

发表于 2008-8-7 00:40:03 | 显示全部楼层
其实可以用翻译机器的
#包括<stdlib.h>
#包括<graphics.h>
#包括<bios.h>
#包括<dos.h>
#包括<conio.h>
#定义输入7181
#界定人事编制小组委员会283
#定义最多18432
#确定下来20480
#定义左19200
#界定的权利, 19712
# ifdef __cplusplus
#界定__cppargs ...
#否则
#界定__cppargs
# endif
无效中断( * oldhandler ) ( __cppargs ) ;
无效打断newhandler ( __cppargs ) ;
无效settimer (无效中断( * intproc ) ( __cppargs ) ) ;
无效killtimer (无效) ;
无效initgra (无效) ;
无效thefirstblock (无效) ;
无效drawmap (无效) ;
无效initsnake (无效) ;
无效initfood (无效) ;
无效snake_headmv (无效) ;
无效的国旗(诠释,诠释,诠释,诠释) ;
无效gameover (无效) ;
无效snake_bodymv (无效) ;
无效snake_bodyadd (无效) ;
无效prntscore (无效) ;
无效计时器(无效) ;
无效的双赢(无效) ;
无效thesecondblock (无效) ;
无效的食物(无效) ;
无效dsnkorfd (诠释,诠释,诠释) ;
无效延误( int )将;
结构蛇
(诠释x ;诠释y ;诠释的颜色; ) snk [ 12 ] ;
食物结构
(诠释x ;诠释y ;诠释的颜色; )金融衍生工具;
诠释flag1 = 1 , flag2 = 0 , flag3 = 0 , flag4 = 0 , flag5 = 0 , flag6 = 0 ,
checkx , checky , NUM个,重点= 0 ,时间,分数, hscore , snkspeed , timercounter , tureorfalse ;
煤焦上海合作组织[ 2 ] ,时间[ 6 ] ;
无效的Main ( )
( initgra ( ) ;
settimer ( newhandler ) ;
thefirstblock ( ) ;
而( 1 )
( drawmap ( ) ;
snake_headmv ( ) ;
gameover ( ) ;
snake_bodymv ( ) ;
snake_bodyadd ( ) ;
prntscore ( ) ;
计时器( ) ;
赢( ) ;
如果(关键== ESC )上
打破;
如果(关键==进入)
( cleardevice ( ) ;
thefirstblock ( ) ;

thesecondblock ( ) ;
食物( ) ;
拖延( snkspeed ) ;

closegraph ( ) ;
killtimer ( ) ;

无效打断newhandler ( __cppargs )

timercounter + + ;
oldhandler ( ) ;

无效settimer (无效中断( * intproc ) ( __cppargs ) )

oldhandler = getvect ( 0x1c ) ;
禁用( ) ;
setvect ( 0x1c , intproc ) ;
使( ) ;


无效killtimer ( )

禁用( ) ;
setvect ( 0x1c , oldhandler ) ;
使( ) ;

无效initgra ( )
(诠释钆=检测,通用汽车公司;
initgraph ( &钆,与通用,在“ D : \\ \\技术合作” ) ;

无效thefirstblock ( )
( setcolor ( 11 ) ;
settextstyle ( 0,0,4 ) ;
outtextxy ( 100220 , “第一座” ) ;
回路:关键= bioskey ( 0 ) ;
如果(关键==进入)
( cleardevice ( ) ;
initsnake ( ) ;
initfood ( ) ;
评分= 0 ;
hscore = 1 ;
snkspeed = 10 ;
NUM个= 2 ;
时代= 0 ;
关键= 0 ;
tureorfalse = 1 ;
timercounter = 0 ;
时间[ 0 ] = '0 ' ;时间[ 1 ] = '0 ' ;时间[ 2 ]=':';时间[ 3 ] = '1 ' ;时间[ 4 ] = '0 ' ;时间[ 5 ] = ' \\ 0 ' ;

否则,如果(关键== ESC )上cleardevice ( ) ;
否则,后藤回路;

无效drawmap ( )
(线( 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 ) ;

无效initsnake ( )
(随机( ) ;
NUM个= 2 ;
snk [ 0 ]的X =随机( 440 ) ;
snk [ 0 ]的X = snk [ 0 ]的X snk [ 0 ] 。 x %的20 50 ;
snk [ 0 ] 。随机为Y = ( 440 ) ;
snk [ 0 ] 。为Y = snk [ 0 ] 。 Y型snk [ 0 ] 。 y厘20 50 ;
snk [ 0 ] 。彩色= 4 ;
snk [ 1 ]的X = snk [ 0 ] X的;
snk [ 1 ] 。为Y = snk [ 0 ] 。 y 20 ;
snk [ 1 ] 。彩色= 4 ;

无效initfood ( )
(随机( ) ;
fd.x =随机( 440 ) ;
fd.x = fd.x - fd.x % 20 30 ;
fd.y =随机( 440 ) ;
fd.y = fd.y - fd.y % 20 30 ;
fd.color =随机( 14 )一;

无效snake_headmv ( )
(如果( bioskey ( 1 )条)
(关键= bioskey ( 0 ) ;
开关(关键)
(案例:旗( 1,0,0,0 ) ;突破;
案件下降:旗( 0,1,0,0 ) ;突破;
案左:旗( 0,0,1,0 ) ;突破;
案件的权利:旗( 0,0,0,1 ) ;突破;
默认值:打破;


如果( flag1 )
( 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 ] 。彩色) ;

如果( flag2 )
( 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 ] 。彩色) ;

如果( flag3 )
( 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 ] 。彩色) ;

如果( flag4 )
( 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 ] 。彩色) ;


无效的国旗(诠释,诠释b , c诠释,诠释四)
( flag1 =一; flag2 = B的; flag3 = C的; flag4 = D的; )
无效gameover ( )
(诠释;
如果( snk [ 0 ] X的< 20 | | snk [ 0 ]的X > 460 | | snk [ 0 ] 。 y < 20 | | snk [ 0 ] 。 y > 460 )
( cleardevice ( ) ;
setcolor ( 11 ) ;
settextstyle ( 0,0,4 ) ;
outtextxy ( 160220 , “游戏结束” ) ;
loop1 :关键= bioskey ( 0 ) ;
如果(关键==进入)
( cleardevice ( ) ;
thefirstblock ( ) ;

其他的
如果(关键== ESC )上
cleardevice ( ) ;
其他的
后藤loop1 ;

(一= 3 ,我< NUM个;我+ + )
(如果( snk [ 0 ]的X == snk.x & & snk [ 0 ] 。 y == snk.y )
( cleardevice ( ) ;
setcolor ( 11 ) ;
settextstyle ( 0,0,4 ) ;
outtextxy ( 160220 , “游戏结束” ) ;
loop2 :关键= bioskey ( 0 ) ;
如果(关键==进入)
( cleardevice ( ) ;
thefirstblock ( ) ;

其他的
如果(关键== ESC )上
cleardevice ( ) ;
否则,后藤loop2 ;



无效snake_bodymv ( )
(诠释i ,硫,吨;
(一= 1 ,我< NUM个;我+ + )
( dsnkorfd ( checkx , checky , snk.color ) ;
dsnkorfd ( snk.x , snk.y , 0 ) ;
= snk.x ;
吨= snk.y ;
snk.x = checkx ;
snk.y = checky ;
checkx = ;
checky =吨;


无效的食物( )
(如果( flag5 )
(随机( ) ;
fd.x =随机( 440 ) ;
fd.x = fd.x - fd.x % 20 30 ;
fd.y =随机( 440 ) ;
fd.y = fd.y - fd.y % 20 30 ;
fd.color =随机( 14 )一;
flag5 = 0 ;

dsnkorfd ( fd.x , fd.y , fd.color ) ;

无效snake_bodyadd ( )
(如果( snk [ 0 ]的X == fd.x & & snk [ 0 ] 。 y == fd.y )
(如果( snk [ NUM个- 1 ]的X > snk [ NUM个- 2 ] 。 x )的
( NUM个+ + ;
snk [ NUM个- 1 ]的X = snk [ NUM个- 2 ]的X 20 ;
snk [ NUM个- 1 ] 。为Y = snk [ NUM个- 2 ] 。 y ;
snk [ NUM个- 1 ] 。彩色= fd.color ;

其他的
如果( snk [ NUM个- 1 ] X的< snk [ NUM个- 2 ] 。 x )的
( NUM个+ + ;
snk [ NUM个- 1 ]的X = snk [ NUM个- 2 ] 。的X 20 ;
snk [ NUM个- 1 ] 。为Y = snk [ NUM个- 2 ] 。 y ;
snk [ NUM个- 1 ] 。彩色= fd.color ;

其他的
如果( snk [ NUM个- 1 ] 。 y > snk [ NUM个- 2 ] 。 y )的
( NUM个+ + ;
snk [ NUM个- 1 ]的X = snk [ NUM个- 2 ]的X ;
snk [ NUM个- 1 ] 。为Y = snk [ NUM个- 2 ] 。 y 20 ;
snk [ NUM个- 1 ] 。彩色= fd.color ;

其他的
如果( snk [ NUM个- 1 ] 。 y < snk [ NUM个- 2 ] 。 y )的
( NUM个+ + ;
snk [ NUM个- 1 ]的X = snk [ NUM个- 2 ]的X ;
snk [ NUM个- 1 ] 。为Y = snk [ NUM个- 2 ] 。 Y型20个;
snk [ NUM个- 1 ] 。彩色= fd.color ;

flag5 = 1 ;
评分+ + ;


无效prntscore ( )
(如果( hscore ! =评分)
( setcolor ( 11 ) ;
settextstyle ( 0,0,3 ) ;
outtextxy ( 490100 , “分数” ) ;
setcolor ( 2 ) ;
setfillstyle ( 1,0 ) ;
矩形( 520,140,580,180 ) ;
floodfill ( 530,145,2 ) ;
上海合作组织[ 0 ] = (焦) (评分48 ) ;
上海合作组织[ 1 ] = ' \\ 0 ' ;
hscore =评分;
setcolor ( 4 ) ;
settextstyle ( 0,0,3 ) ;
outtextxy ( 540150 ,上海合作组织) ;


无效计时器( )
(如果( timercounter > 18 )
(时间[ 4 ] = (焦) (时间[ 4 ] -1 ) ;
如果(时间[ 4 ] < '0 ' )
(时间[ 4 ] = 9.11 ' ;
时间[ 3 ] = (焦) (时间[ 3 ] -1 ) ;

如果(时间[ 3 ] < '0 ' )
(时间[ 3 ] = 5 ' ;
时间[ 1 ] = (焦) (时间[ 1 ] -1 ) ;

如果( tureorfalse )
( setcolor ( 11 ) ;
settextstyle ( 0,0,3 ) ;
outtextxy ( 490240 , “定时器” ) ;
setcolor ( 2 ) ;
setfillstyle ( 1,0 ) ;
矩形( 490,280,610,320 ) ;
floodfill ( 530,300,2 ) ;
setcolor ( 11 ) ;
settextstyle ( 0,0,3 ) ;
outtextxy ( 495290 ,时间) ;
tureorfalse = 0 ;

如果(时间[ 1 ] == 0 ' & &时间[ 3 ] == 0 ' & &时间[ 4 ] == 0 )
( setcolor ( 11 ) ;
settextstyle ( 0,0,4 ) ;
outtextxy ( 160220 , “游戏结束” ) ;
回路:关键= bioskey ( 0 ) ;
如果(关键==进入)
( cleardevice ( ) ;
thefirstblock ( ) ;

否则,如果(关键== ESC )上cleardevice ( ) ;
否则,后藤回路;

timercounter = 0 ;
tureorfalse = 1 ;


无效的双赢( )
(如果(评分== 3 )
时代+ + ;
如果(时代== 2 )
( cleardevice ( ) ;
setcolor ( 11 ) ;
settextstyle ( 0,0,4 ) ;
outtextxy ( 160220 , “你赢了” ) ;
回路:关键= bioskey ( 0 ) ;
如果(关键==进入)
( cleardevice ( ) ;
thefirstblock ( ) ;
关键= 0 ;

否则,如果(关键== ESC )上cleardevice ( ) ;
否则,后藤回路;


无效thesecondblock ( )
(如果(评分== 3 )
( cleardevice ( ) ;
setcolor ( 11 ) ;
settextstyle ( 0,0,4 ) ;
outtextxy ( 100220 , “第二座” ) ;
回路:关键= bioskey ( 0 ) ;
如果(关键==进入)
( cleardevice ( ) ;
initsnake ( ) ;
initfood ( ) ;
评分= 0 ;
hscore = 1 ;
snkspeed = 8 ;
NUM个= 2 ;
关键= 0 ;

否则,如果(关键== ESC )上cleardevice ( ) ;
否则,后藤回路;


无效dsnkorfd (诠释X的诠释y ,诠释彩色)
( setcolor (彩色) ;
setfillstyle ( 1 ,彩色) ;
圆(的X , Y , 10 ) ;
floodfill (的X , Y ,彩色) ;

无效延误(诠释倍)
(诠释;
(一= 1 ,我< =倍;我+ + )
拖延( 15000 ) ;
回复

使用道具 举报

发表于 2008-8-7 00:41:10 | 显示全部楼层
c也能用翻译机………………
好渣~~
回复

使用道具 举报

发表于 2008-8-7 00:42:35 | 显示全部楼层
诚然.......
回复

使用道具 举报

发表于 2008-8-7 10:17:59 | 显示全部楼层
什么翻译机啊?
这么无敌
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 01:22 , Processed in 0.104224 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表