求c语言下的坦克大战源代码

reginaldgo 2007-03-29 09:15:24
最好有说明的 顺便带个赛车类的游戏就更感激不尽了
...全文
1345 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxu01 2011-05-13
  • 打赏
  • 举报
回复
楼上好强啊,学习很重要啊
匠心零度 2011-05-13
  • 打赏
  • 举报
回复
void PauseGame(int count, void (*pfnToDo)())
{
int flag=1, i=0;
ClearKeyState();

OutTextXY(491, 349, 626, 364, "暂停中…", YELLOW, BLACK);
if(pfnToDo!=NULL) (*pfnToDo)();
Box(491, 349, 626, 364, BLACK);
ClearKeyState();
OutTextXY(491, 349, 626, 364, "即将继续", YELLOW, BLACK);
while((inportb(0x03da)&0x0008==0));
while((inportb(0x03da)&0x0008==1));
while(1)
{
if((inportb(0x03da)&0x0008)==0&&flag!=0)
{
if(i==count) break;
i++;
flag=0;
}
else if((inportb(0x03da)&0x0008)!=0&&flag==0)
{
flag=1;
}
}
Box(491, 349, 626, 364, BLACK);
}

int GameCtrl(int count)
{
int res;
time_t t;

/* 程序控制 */
if(GetKeyState(KEY_ESC))
{
OutTextXY(491, 349, 626, 364, "确定要退出吗?", YELLOW, BLACK);
OutTextXY(491, 365, 626, 380, "按Y退出", YELLOW, BLACK);
if(BIOSKey()==KEY_Y) QuitGame();
Box(491, 349, 626, 364, BLACK);
Box(491, 365, 626, 380, BLACK);
}

if(GetKeyState(KEY_P)||GetKeyState(KEY_PAUSE))
{
PauseGame(count, Pause);
}

if(GetKeyState(KEY_F8))
{
PauseGame(count, SetKeys);
}

if(GetKeyState(KEY_F6))
{
ClearKey(KEY_F6);
g_byPause=!g_byPause;
}

if(!IsPlaying())
{
PlayMusic();
}

switch(GameAction(count))
{
case 1:
t=clock();
OutTextXY(491, 349, 626, 364, "过关", YELLOW, BLACK);
while(clock()-t<=CLK_TCK);
Box(491, 349, 626, 364, BLACK);

if(StartGame(++g_nLv))
{
return -1;
}
else
{
OutTextXY(491, 349, 626, 364, "胜利", YELLOW, BLACK);
break;
}
case -1:
OutTextXY(491, 349, 626, 364, "失败", YELLOW, BLACK);
break;
case 0:
return count;
}

OutTextXY(491, 365, 626, 380, "按 ESC 退出", YELLOW, BLACK);
while(1)
{
if(GetKeyState(KEY_ESC))
{
QuitGame();
}
}
}


int main()
{
int flag=1;
int count=0;

Init();

if(!StartGame(1))
{
OutTextXY(491, 349, 626, 364, "找不到 01.map", YELLOW, BLACK);
OutTextXY(491, 365, 626, 380, "按 ESC 退出", YELLOW, BLACK);
while(!GetKeyState(KEY_ESC));
QuitGame();
}

while((inportb(0x03da)&0x0008==0));
while((inportb(0x03da)&0x0008==1));
while(1)
{
if((inportb(0x03da)&0x0008)==0&&flag!=0) /* 屏幕回扫结束 */
{
count=GameCtrl(count);
count++;
if(count>=80) count=0;
flag=0;
}
else if((inportb(0x03da)&0x0008)!=0&&flag==0)
{
flag=1;
}
}
}
hxb3530 2010-05-20
  • 打赏
  • 举报
回复
这是下载地址http://www.rupeng.com/forum/thread-12426-1-1.html
FDWolf 2010-05-20
  • 打赏
  • 举报
回复
帮顶,学习
w74839520 2010-05-20
  • 打赏
  • 举报
回复
我也想研读这个代码,前几天我看过中国象棋的代码的...
weilong8998 2010-05-16
  • 打赏
  • 举报
回复
呵呵,还自己上网上找吧
迷途的书童 2010-05-15
  • 打赏
  • 举报
回复
自己到网上去找找@
oceanking7 2010-05-15
  • 打赏
  • 举报
回复
我也想要耶~
guaicong520 2010-05-15
  • 打赏
  • 举报
回复
看的茫然.有源代码下载么
FigoZhu 2007-12-21
  • 打赏
  • 举报
回复
帮顶,接分

70,018

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧