C赛车游戏.docx

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

C赛车游戏.docx

《C赛车游戏.docx》由会员分享,可在线阅读,更多相关《C赛车游戏.docx(12页珍藏版)》请在冰点文库上搜索。

C赛车游戏.docx

C赛车游戏

以下是一个用线和矩形绘制的简单赛车

#include 

#include 

void main(void){

 int gdriver=DETECT,gmode;

 initgraph(&gdriver,&gmode, "");

 setbkcolor(7);

 setwritemode(XOR_PUT);

 setcolor(BLUE);

 setlinestyle(SOLID_LINE,0,3);

 rectangle(280,350,320,390);

 rectangle(270,340,330,350);

 rectangle(290,320,310,340);

 rectangle(270,390,330,400);

 setcolor(5);

 line(290,350,290,390);

 line(300,300,300,320);

 line(300,350,300,390);

 line(310,350,310,390);

 line(285,300,315,300);

 getch();

 closegraph();

}

接下来我们试着绘制赛道,周围的绿化树木和简单的集装箱车

代码如下:

#include 

#include 

#include 

#include 

#include 

const

int u = 26;

int i = 2;

int j = 3;

void road(void)

{

int h;

for(h=0;h<4;h++)

line(150+h*100,0,150+h*100,472);

for(h=0;h<3;h++)

{

setlinestyle(3,0,1);

line(200+h*100,0,200+h*100,472);

settextstyle(1,HORIZ_DIR,3);

}

}

void tree(void)

{

int w;

int poly[14];

setcolor(10);

setlinestyle(SOLID_LINE,0,3);

for (w=-3;w<3;w=w+2)

{

line(85  , -25+u*15+w*157 , 85  , 35+u*15+w*157);

line(95  , -25+u*15+w*157 , 95  , 35+u*15+w*157);

line(105 , -25+u*15+w*157 , 105 , 35+u*15+w*157);

line(115 , -25+u*15+w*157 , 115 , 35+u*15+w*157);

line(75  , -9+u*15+w*157  , 75  , 19+u*15+w*157);

line(125 , -9+u*15+w*157  , 125 , 19+u*15+w*157);

}

  for (w=-2;w<3;w=w+2)

  {

poly[0] = 530;

poly[1] = u*15+w*157;

poly[2] =515;

poly[3] = 25+u*15+w*157;

poly[4] =485;

poly[5] =25+u*15+w*157 ;

poly[6] =470;

poly[7] =u*15+w*157 ;

poly[8] =485;

poly[9] =-25+u*15+w*157;

poly[10] =515;

poly[11] =-25+u*15+w*157 ;

poly[12] = poly[0];

poly[13] = poly[1];

drawpoly(7,poly);

  }

}

void truck(void)

{

setcolor

(2);

setlinestyle(SOLID_LINE,0,3);

rectangle(170+i*100,j*10,230+i*100,60+j*10);

rectangle(160+i*100,70+j*10,240+i*100,260+j*10);

line(180+i*100,70+j*10,180+i*100,260+j*10);

line(200+i*100,70+j*10,200+i*100,260+j*10);

line(220+i*100,70+j*10,220+i*100,260+j*10);

}

void car(void)

{

setcolor(BLUE);

setlinestyle(SOLID_LINE,0,3);

rectangle(280,350,320,390);

rectangle(270,340,330,350);

rectangle(290,320,310,340);

rectangle(270,390,330,400);

setcolor(5);

line(290,350,290,390);

line(300,300,300,320);

line(300,350,300,390);

line(310,350,310,390);

line(285,300,315,300);

}

void main(void)

{

int gdriver = DETECT , gmode,w;

 

initgraph(&gdriver, &gmode, "");

setbkcolor(7);

setcolor(WHITE);

setwritemode(XOR_PUT);

road();

tree();

truck();

car();

getch();

closegraph();

}

在来说一下赛车游戏

我上面给大家可以说是从第一步:

制作简单的场景和玩家的赛车

到第二步:

进一步完善场景,

大家可能已经有所领会

下面我们就把它做成一个简单的游戏

代码如下:

#include 

#include 

#include 

#include 

#include 

static int c=1;

static int e=0;

static int u=0;

static int v=0;

static int x=1;

static int y=0;

static int j=-21;

static int i;

static int b;

void begin(void)

{

int xmax, ymax;

int startx,starty,endx,endy;

setbkcolor(WHITE);

xmax = getmaxx();

ymax = getmaxy();

endx=20;endy=20;

startx=10;starty=10;

setcolor(RED);

settextstyle(1,HORIZ_DIR,4);

outtextxy(10,240,"Bus Bus Bus");

outtextxy(300,300,"Made by PU BIN.");

setlinestyle(SOLID_LINE,0,3);

setwritemode(XOR_PUT);

setcolor(GREEN);

while(startx

{

rectangle(startx,starty,endx,endy);

delay(4);

rectangle(startx,starty,endx,endy);

startx+=2;

starty+=startx*startx/2000;

endx=startx+10;

endy=starty+10;

sound(startx*10);

delay(10);

nosound();

}

getch();

cleardevice();

}

void road(void)

{

int h;

for(h=0;h<4;h++)

line(150+h*100,0,150+h*100,472);

for(h=0;h<3;h++)

{

setlinestyle(3,0,1);

line(200+h*100,0,200+h*100,472);

settextstyle(1,HORIZ_DIR,3);

}

settextstyle(1,HORIZ_DIR,4);

setcolor(RED);

outtextxy(40,40,"PASS");

outtextxy(40,80,"1");

setcolor(10);

setlinestyle(SOLID_LINE,0,3);

rectangle(150,400,450,460);

outtextxy(160,410,"Ready,Begin!

");

}

void math(void)

{

settextstyle(1,HORIZ_DIR,4);

setcolor(RED);

if(x==2)

{

outtextxy(40,80,"1");

outtextxy(40,80,"2");

}

else if(x==3)

{

outtextxy(40,80,"2");

outtextxy(40,80,"3");

}

else if(x==4)

{

outtextxy(40,80,"3");

 outtextxy(40,80,"4");

 }else if(x==5){

 outtextxy(40,80,"4");

 outtextxy(40,80,"5");

 }else if(x==6){

 outtextxy(40,80,"5");

 outtextxy(40,80,"6");

 }else if(x==7){

 outtextxy(40,80,"6");

 outtextxy(40,80,"7");

 }else if(x==8){

 outtextxy(40,80,"7");

 outtextxy(40,80,"8");

 }else if(x==9){

 outtextxy(40,80,"8");

 outtextxy(40,80,"9");

 }else if(x==10){

 outtextxy(40,80,"9");

 outtextxy(40,80,"10");

 }else if(x==11){

 outtextxy(40,80,"10");

 outtextxy(40,80,"11");

 }else if(x==12){

 outtextxy(40,80,"11");

 outtextxy(40,80,"12");

 }else if(x==13){

 outtextxy(40,80,"12");

 outtextxy(40,80,"13");

 }else if(x==14){

 outtextxy(40,80,"13");

 outtextxy(40,80,"14");

 }else if(x==15){

 outtextxy(40,80,"14");

 outtextxy(40,80,"15");

 }else if(x==16){

 outtextxy(40,80,"15");

 outtextxy(40,80,"16");

 }else if(x==17){

 outtextxy(40,80,"16");

 outtextxy(40,80,"17");

 }else if(x==18){

 outtextxy(40,80,"17");

 outtextxy(40,80,"18");

 }else if(x==19){

 outtextxy(40,80,"18");

 outtextxy(40,80,"19");

 }else if(x==20){

 outtextxy(40,80,"19");

 outtextxy(40,80,"20");

 }else if(x==21){

 outtextxy(40,80,"20");

 outtextxy(40,80,"21");

 }else if(x==22){

 outtextxy(40,80,"21");

 outtextxy(40,80,"22");

 }else if(x==23){

 outtextxy(40,80,"22");

outtextxy(40,80,"23");

 }else if(x==24){

 outtextxy(40,80,"23");

 outtextxy(40,80,"24");

 }else if(x==25){

 outtextxy(40,80,"24");

 outtextxy(40,80,"25");

 y=1; v=1;

}

}

void bus2(void)

{

 setcolor(BLUE);

 rectangle(180+c*100,350,220+c*100,390);

rectangle(170+c*100,340,230+c*100,350);

 rectangle(190+c*100,320,210+c*100,340);

 rectangle(170+c*100,390,230+c*100,400);

 setcolor(5);

 line(190+c*100,350,190+c*100,390);

 line(200+c*100,350,200+c*100,390);

 line(210+c*100,350,210+c*100,390);

 line(200+c*100,300,200+c*100,320);

line(185+c*100,300,215+c*100,300);

if((b==0x4b00)&&(c>0))

 c--;

 else if((b==0x4d00)&&(c<2))

 c++;

 else if((b==0x5000)&&(c<2))

sleep

(1);

 setcolor(BLUE);

rectangle(180+c*100,350,220+c*100,390);

 rectangle(170+c*100,340,230+c*100,350);

 rectangle(190+c*100,320,210+c*100,340);

 rectangle(170+c*100,390,230+c*100,400);

 setcolor(5);

 line(190+c*100,350,190+c*100,390);

 line(200+c*100,350,200+c*100,390);

 line(210+c*100,350,210+c*100,390);

 line(200+c*100,300,200+c*100,320);

line(185+c*100,300,215+c*100,300);

setcolor(BLUE);

}

void light(void)

{

 rectangle(535,65,565,155);

 floodfill(545,100,BLUE);

setfillstyle(1,RED);

 fillellipse(550,80,10,10);

 sound(650);

 delay(300);

 nosound();

 delay(100);

 setfillstyle(1,YELLOW);

 fillellipse(550,110,10,10);

sound(650);

 delay(300);

 nosound();

 delay(100);

 setfillstyle(1,GREEN);

 fillellipse(550,140,10,10);

sound(650);

 delay(300);

 nosound();

 delay(100);

setcolor(10);

 setlinestyle(SOLID_LINE,0,3);

 rectangle(150,400,450,460);

 outtextxy(160,410,"Ready,Begin!

");

}

void brock(void)

{

if((c==i)&&(j>4)&&(j<38))

e=1;

}

void tree(void)

{

int w;

int poly[14];

setcolor(10);

for (w=-3;w<3;w=w+2)

{

line(85,-25+u*15+w*157,85,35+u*15+w*157);

line(95,-25+u*15+w*157,95,35+u*15+w*157);

line(105,-25+u*15+w*157,105,35+u*15+w*157);

line(115,-25+u*15+w*157,115,35+u*15+w*157);

line(75,-9+u*15+w*157,75,19+u*15+w*157);

line(125,-9+u*15+w*157,125,19+u*15+w*157);

}

for (w=-2;w<3;w=w+2)

{

poly[0] = 530;

poly[1] = u*15+w*157;

poly[2] =515;

poly[3] = 25+u*15+w*157;

poly[4] =485;

poly[5] =25+u*15+w*157 ;

poly[6] =470;

poly[7] =u*15+w*157 ;

poly[8] =485;

poly[9] =-25+u*15+w*157;

poly[10] =515;

poly[11] =-25+u*15+w*157 ;

poly[12] = poly[0];

poly[13] = poly[1];

drawpoly(7,poly);

}

}

void bus1(void)

{

randomize();

i=random(3);

setlinestyle(SOLID_LINE,0,3);

do

{

do

{

if((x!

=7)&&(x!

=16)&&(x!

=23))

setcolor(x);

else

setcolor

(2);

rectangle(170+i*100,j*10,230+i*100,60+j*10);

 rectangle(160+i*100,70+j*10,240+i*100,260+j*10);

line(180+i*100,70+j*10,180+i*100,260+j*10);

 line(200+i*100,70+j*10,200+i*100,260+j*10);

 line(220+i*100,70+j*10,220+i*100,260+j*10);

 tree();

sound(j*10);

delay(10);

nosound();

if((x!

=7)&&(x!

=16)&&(x!

=23))

setcolor(x);

else

setcolor

(2);

rectangle(170+i*100,j*10,230+i*100,60+j*10);

rectangle(160+i*100,70+j*10,240+i*100,260+j*10);

line(180+i*100,70+j*10,180+i*100,260+j*10);

line(200+i*100,70+j*10,200+i*100,260+j*10);

line(220+i*100,70+j*10,220+i*100,260+j*10);

tree();

u++;

j++;

brock();

if(e==1)

{

j=48;

y=1;

u=63;

v=0;

}

}while((bioskey

(1)==0)&&(j<=47)&&(u<=62));

if((j<=47)&&(u<=62))

/* function 0 returns the key that is waiting */

{

b= bioskey(0);

bus2();

}

 else if(u<=62)

{

j=-21;

 randomize();

 i=rand()%3;

 x++;

 math();

 setcolor(x);

}

else

u=0;

}while(y!

=1);

}

void end()

{

if (v==1)

{

 for(j=0;j<94;j++)

{

 rectangle(150,j*5,450,60+j*5);

 settextstyle(1,HORIZ_DIR,4);

 outtextxy(160,10+j*5,"STOP!

 You win!

");

 sound(500+j*10);

 delay

(2);

 nosound();

 setlinestyle(SOLID_LINE,0,3);

 rectangle(150,j*5,450,60+j*5);

outtextxy(160,10+j*5,"STOP!

 You win!

");

 }

 closegraph();

 printf("\n\nyou win!

");

}

 else if(v==0 )

{

 closegraph();

printf("\n\nYou lose.");

 }

printf("\n\n\nCome back again.\n\n Made by YOU LIAO w

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

当前位置:首页 > 人文社科 > 法律资料

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

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