当前位置: 首页 > 工具软件 > Tc-play > 使用案例 >

c语言游戏画图闪烁,win-tc(C语言)小游戏画图代码.doc

慕乐池
2023-12-01

/*这个打泡泡游戏感觉实在写得不怎么样,本来我想好好的写一个的,可我实在是静不下心来,为了实现游戏功能,我这里加一个语句,那里加一个语句,

结果当然是当你再想调整或增加某些功能时,会变得异常繁杂,

而且游戏有点小错误,我也不想改了,等哪天实在闲得没事做的时候,

再好好重新做一个.

做个反面教材吧!

*/

#include

#include

#include

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define SPACE 0x3920

struct PUBUNIT

{

int x;

int y;

}PubUnit[20][10];

struct BBDATE

{

int x;

int y;

char state;

}bb[10];

int dflag=1;

int PubState[20][10];

int HeadLine;

int HeadPubCount;

int AllPubCount;

int key;

int bbx,bby;

int BBState=0;

void DownPub(void);

void play_game(void);

DrawPub(int i,int j,int state)/*画泡泡函数*/

{

if(state)

setcolor(GREEN);

else setcolor(BLACK);

circle(PubUnit[i][j].x+7,PubUnit[i][j].y+7,7);

}

void DrawPPman(int j)/*画泡泡人函数*/

{

static oldj=4;

static char flag=0;

line(PubUnit[19][j].x+7,PubUnit[19][j].y,PubUnit[19][j].x+7,PubUnit[19][j].y+14);

line(PubUnit[19][j].x+7,PubUnit[19][j].y+2,PubUnit[19][j].x,PubUnit[19][j].y+14);

line(PubUnit[19][j].x+7,PubUnit[19][j].y+2,PubUnit[19][j].x+14,PubUnit[19][j].y+14);

line(PubUnit[19][j].x,PubUnit[19][j].y+14,PubUnit[19][j].x+14,PubUnit[19][j].y+14);

if(flag)

{setcolor(BLACK);

line(PubUnit[19][oldj].x+7,PubUnit[19][oldj].y,PubUnit[19][oldj].x+7,PubUnit[19][oldj].y+14);

line(PubUnit[19][oldj].x+7,PubUnit[19][oldj].y+2,PubUnit[19][oldj].x,PubUnit[19][oldj].y+14);

line(PubUnit[19][oldj].x+7,PubUnit[19][oldj].y+2,PubUnit[19][oldj].x+14,PubUnit[19][oldj].y+14);

line(PubUnit[19][oldj].x,PubUnit[19][oldj].y+14,PubUnit[19][oldj].x+14,PubUnit[19][oldj].y+14);

oldj=j;setcolor(GREEN);

}

else flag=1;

}

void GameGraph(void)/*游戏画面和各项数据初始化函数*/

{int i,j;

int x,y;

int driver=DETECT,gm;

registerbgidriver(EGAVGA_driver);

initgraph(&driver,&gm,"");

rectangle(99,99,251,401);

x=y=100;

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

{for(j=0;j<20;j++)

{PubUnit[i][j].x=x;PubUnit[i][j].y=y;x+=15;}

y+=15;x=100;

}

for(i=0;i<5;i++) /*画50个泡泡*/

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

{PubState[i][j]=1;DrawPub(i,j,PubState[i][j]);}

DrawPPman(4);

HeadLine=4;

AllPubCount=50;

HeadPubCo

 类似资料: