日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c语言推箱子给上颜色,本人的C语言大作业——推箱子

發(fā)布時(shí)間:2024/10/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言推箱子给上颜色,本人的C语言大作业——推箱子 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

#include

#include

#include

#include

#include

#include

#include

#include?

#include

#include?

#define??MAX???3????????/*游戲的總關(guān)數(shù)*/

#define??STEPMAX???3????/*悔棋的最大步數(shù)*/

#define?Key_R?0x1372

#define?Key_Up??0x4800

#define?Key_Enter?0x1c0d

#define?Key_Down??0x5000

#define?Key_P?????0x1970

#define?Key_Esc???0x11b

#define?Key_Right??0x4d00

#define?Key_Left??0x4b00

#define??BKCOLOR???GREEN?/*設(shè)置背景顏色*/

#define??STARTX???40?????/*畫游戲界面時(shí),二維數(shù)組中g(shù)hose[0][0]左上角頂點(diǎn)在VGA模式下的橫坐標(biāo)*/

#define??STARTY???80?????/*畫游戲界面時(shí),二維數(shù)組中g(shù)hose[0][0]左上角頂點(diǎn)在VGA模式下的縱坐標(biāo)*/

int?ghose[10][10];???????/*用來(lái)表示游戲中各種狀態(tài)的二維數(shù)組*/

int?BOXNUM;??????????????/*每關(guān)中箱子的個(gè)數(shù)*/

int?MISSIONNUM;??????????/*玩家正在玩的關(guān)數(shù)*/

int?Key;?????????????????/*從鍵盤讀取按鍵值*/

int?STEPNUM;?????????????/*人走的步數(shù)*/

int?DIRECTIONKEY;????????/*用來(lái)記錄玩家所按的方向鍵*/

int?BOXMOVE[STEPMAX];????/*記錄人行走時(shí)箱子移動(dòng)了沒(méi)有.如有,BOXMOVE[i]=1,否則BOXMOVE[i]=0*/

int?STEP[STEPMAX];???????????/*記錄人行走的方向*/

typedef??struct??CURRENT

{?int?x;

int?y;

}PLAYER;

PLAYER??p;???????????????/*p.x和p.y分別表示人當(dāng)前所在的橫縱坐標(biāo)*/

typedef??struct?ADD

{?int?x;

int?y;

}ADD;????????????????????/*人行走或悔棋時(shí),用來(lái)表示人下一步移動(dòng)需要增加的橫縱坐標(biāo)值*/

typedef?struct?STAR

{?int?x;

int??y;

int??c;

}?STAR;

STAR??s[300];????????????/*畫星星閃動(dòng)的畫面,x,y分別表示每顆星星所在的位置,c表示星星的顏色*/

DRAWSTAR1()??????????????/*畫星星*/

{int??i,j,m,n,dotx,doty,color,maxcolor;

m=getmaxx();

n=getmaxy();

maxcolor=getmaxcolor();

for(i=0;i<300;i++)

{?s[i].x=random(m+1);

s[i].y=random(n+1);

s[i].c=random(maxcolor);

putpixel(s[i].x,s[i].y,s[i].c);}}

DRAWSTAR()????????????/*讓星星的坐標(biāo)不變,顏色變換*/

{int??i,j,m,n,dotx,doty,color,maxcolor;

m=getmaxx();

n=getmaxy();

maxcolor=getmaxcolor();

for(i=0;i<300;i++)

{?s[i].x=random(m+1);

s[i].y=random(n+1);

s[i].c=random(maxcolor);

putpixel(s[i].x,s[i].y,s[i].c);

}

do{?for(i=0;i<20000;i++)

delay(2);

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

{

s[j].c=random(maxcolor);

putpixel(s[j].x,s[j].y,s[j].c);}

}while(!bioskey(1));

}

GOOD()????????????????/*畫火球滾動(dòng)的畫面*/

{void?*?ptr;

float?i;

setactivepage(1);

setcolor(RED);

setfillstyle(1,14);

fillellipse(10,10,10,10);

ptr=malloc(imagesize(0,0,20,20));

getimage(0,0,20,20,ptr);

randomize();

setactivepage(0);

DRAWSTAR1();

for(i=0;i<6.28*4;i=i+0.005)

{putimage(300+8*(cos(i)+i*sin(i)),240+6*(sin(i)-i*cos(i)),ptr,COPY_PUT);

putimage(300+8*(cos(i)+(i)*sin(i)),240+6*(sin(i)-(i)*cos(i)),ptr,COPY_PUT);

if(kbhit())?break;

delay(10);

}

}

void?GAME()?????/*游戲過(guò)程的控制*/

{?int?i,j,flag;

ADD??a;

MISSIONNUM=0;

NEXTMISSION();

do?{?flag=0;

Key=bioskey(0);

switch(Key)

{?case??Key_Enter:{NEXTMISSION();break;}

case??Key_Up:{a.x=-1;a.y=0;flag=1;DIRECTIONKEY=Key;break;}

case??Key_Down:{a.x=1;a.y=0;flag=1;DIRECTIONKEY=Key;break;}

總結(jié)

以上是生活随笔為你收集整理的c语言推箱子给上颜色,本人的C语言大作业——推箱子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。