900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 急求一份C语言打字游戏代码 要求单词从屏幕上方落下 打字正确字母变为绿色? – 网络

急求一份C语言打字游戏代码 要求单词从屏幕上方落下 打字正确字母变为绿色? – 网络

时间:2023-02-02 10:35:23

相关推荐

急求一份C语言打字游戏代码 要求单词从屏幕上方落下 打字正确字母变为绿色? – 网络

#include<stdlib.h>

#include<graphics.h>

#include<conio.h>

#include<dos.h>

#include<math.h>

#defineR10

#defineESC0x011b

#defineLOW0x5000

#defineFAST0x4800

intdraw_car(intx,inty,char*ch);

doubledalta=20,angle;

void*image;

intstep=20;

main()

{

intgdriver=DETECT,gmode;

staticintstartx=60;

staticintstarty=20;

intmaxy,maxx,l=1,n=1;

charch,play,str[2];

intsize,temch;

intok,y=50;

clrscr();

printf(“\n\n\n\n\n*****************************************\n”);

printf(“1.playonlynumber0-9.\n”);

printf(“2.playonlychara-z.\n”);

printf(“3.exit\n”);

printf(“*****************************************\n”);

while(1){

printf(“\nPlsenterchoice:”);

play=getche();

if((play==’1′)||(play==’2′))

break;

if(play==’3′)

return;

}

registerbgidriver(EGAVGA_driver);/*注册vga驱动*/

initgraph(&gdriver,&gmode,”d:\\tc3\\bgi”);/*初始化图形界面*/

cleardevice();/*清除屏幕*/

setbkcolor(BLUE);/*将背景色设置成蓝色*/

size=imagesize(startx,starty,startx+60,starty+60);/*计算生成60×60个象素的图需要的字节数*/

image=(unsignedchar*)malloc(size);/*分配内存*/

maxx=getmaxx();

maxy=getmaxy();

randomize();

printf(“PressESCtoexitgame!”);

printf(“%ctofastspeed,%ctolowspeed!”,24,25);

do{

ok=0;

if(play==’1′)

ch=random(9)+48;

if(play==’2′)

ch=random(26)+65;

str[0]=ch;

do{

while(bioskey(1)==0)/*如果没有按键就不停的循环*/

{

if(l==1)/*从左到右*/

{

n++;

angle=-1*(n*step)/M_PI*180/R;

if((int)(-1*angle)%360<dalta)

angle-=dalta;

if(n>(maxx-180)/step){

if(starty>maxy-100)

starty=20;

else

starty+=y;

l=0;

}

}

if(l==0)/*从右到左*/

{

–n;

angle=-1*(n*step)/R/M_PI*180;

if((int)(-1*angle)%360<dalta)

angle-=dalta;

if(n==1){

if(starty>maxy-100)

starty=20;

else

starty+=y;

l=1;

}

}

draw_car(startx+n*step,starty,str);

}

temch=bioskey(0);

if(temch==FAST){

step+=10;

y+=10;

}

if(temch==LOW){

step-=10;

y-=10;

}

ok=temch&0x00ff;

if((ok==ch)||(ok==ch+32)){

ok=1;

starty=20;

break;

}

}while(temch!=ESC);

if(ok!=1)

break;

}while(1);

free(image);

closegraph();

return;

}

intdraw_car(intx,inty,char*ch){

setcolor(YELLOW);/*设置前景色为黄色*/

rectangle(x,y,x+60,y+40);/*画车厢*/

pieslice(x+15,y+50,angle,angle-dalta,10);/*画轮上的小片扇形部分*/

pieslice(x+45,y+50,angle,angle-dalta,10);

setfillstyle(SOLID_FILL,YELLOW);/*设置填充模式为实填充,颜色为黄色*/

circle(x+15,y+50,10);/*画车轮*/

circle(x+45,y+50,10);

circle(x+15,y+50,3);

circle(x+45,y+50,3);

setcolor(WHITE);

settextstyle(1,0,4);

outtextxy(x+25,y,ch);

getimage(x,y,x+60,y+60,image);/*获取当前的图片*/

delay(200);

putimage(x,y,image,XOR_PUT);/*使用异或模式将图片显示上去*/

return;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。