双人黑白棋子游戏
2008-03-08 12:25:59 来源:WEB开发网核心提示:写个棋类游戏,练习下.在图形模式下主要显示数字比较麻烦,这里我就用一维数组来统计得分了.希望大家可以指点下在图形模式下应该如何像PRintf一样输出一个得分.这里的黑白玩家都用上下左右四个键控制,回车代表确认按下.#include "graphics.h"#define LEFT 0x4b00#de
写个棋类游戏,练习下.在图形模式下主要显示数字比较麻烦,这里我就用一维数组来统计得分了.希望大家可以指点下在图形模式下应该如何像PRintf一样输出一个得分.这里的黑白玩家都用上下左右四个键控制,回车代表确认按下.
#include "graphics.h"
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define ENTER 0x1c0d
int a[8][8]=,key,scoreblack[2]=,scorewhite[2]=;
qipan()/*开始画面*/
setcolor(0);/*取消圆四周的一圈东西*/
setfillstyle(SOLID_FILL,15);
fillellipse(500,200,15,15);
setfillstyle(SOLID_FILL,8);
fillellipse(500,300,15,15);
}
playcolor(int t)/*设置棋子第一次的颜色*/
playcolortwo(int xx,int yy)/*走了一步后恢复原来那里的格子*/
}
qipanchange(int xxx,int yyx,int t)/*棋盘的变化,也就是黑白的变化*/
}
if(j>1)/*往左边*/
}
if(i<6)/*往下*/
}
if(i>1)/*往上*/
}
if(i>1&&j<6)/*右上*/
}
if(i<6&&j>1)/*左下*/
}
if(i>1&&j>1)/*左上*/
}
if(i<6&&j<6)/* 右下*/
}
}
doscore()/*处理分数*/
}
else if(a[i][j]==2)
}
} printscore(playnum)/*输出成绩*/
if(playnum==1)/*判定输出的行数*/
k=200;
else
k=300;
setcolor(RED);
settextstyle(0,0,4);
for(i=0,j=550;i<2;i++,j+=40)
}
setcolor(0);
}
playwin()/*输出最后的胜利者结果*/
}
playtoplay()/*人人对战*/
else
continue;/*不成功就等于白按回车*/
}
else if(key==LEFT&&xx>120)/*四个方向按键盘的判定*/
else if(key==RIGHT&&xx<400&&yy>80)
else if(key==UP&&yy>120)
else if(key==DOWN&&yy<400)
}
if(key==ESC)
break;
sum=0;
for(i=0;i<8;i++)/*判定是否棋子填满*/
for(j=0;j<8;j++)
if(a[i][j]!=0)
sum++;
if(sum==64)
t++;
if(t==11)/*假如t到了11就变成1*/
t=1;
}
}
main()
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define ENTER 0x1c0d
int a[8][8]=,key,scoreblack[2]=,scorewhite[2]=;
qipan()/*开始画面*/
setcolor(0);/*取消圆四周的一圈东西*/
setfillstyle(SOLID_FILL,15);
fillellipse(500,200,15,15);
setfillstyle(SOLID_FILL,8);
fillellipse(500,300,15,15);
}
playcolor(int t)/*设置棋子第一次的颜色*/
playcolortwo(int xx,int yy)/*走了一步后恢复原来那里的格子*/
}
qipanchange(int xxx,int yyx,int t)/*棋盘的变化,也就是黑白的变化*/
}
if(j>1)/*往左边*/
}
if(i<6)/*往下*/
}
if(i>1)/*往上*/
}
if(i>1&&j<6)/*右上*/
}
if(i<6&&j>1)/*左下*/
}
if(i>1&&j>1)/*左上*/
}
if(i<6&&j<6)/* 右下*/
}
}
doscore()/*处理分数*/
}
else if(a[i][j]==2)
}
} printscore(playnum)/*输出成绩*/
if(playnum==1)/*判定输出的行数*/
k=200;
else
k=300;
setcolor(RED);
settextstyle(0,0,4);
for(i=0,j=550;i<2;i++,j+=40)
}
setcolor(0);
}
playwin()/*输出最后的胜利者结果*/
}
playtoplay()/*人人对战*/
else
continue;/*不成功就等于白按回车*/
}
else if(key==LEFT&&xx>120)/*四个方向按键盘的判定*/
else if(key==RIGHT&&xx<400&&yy>80)
else if(key==UP&&yy>120)
else if(key==DOWN&&yy<400)
}
if(key==ESC)
break;
sum=0;
for(i=0;i<8;i++)/*判定是否棋子填满*/
for(j=0;j<8;j++)
if(a[i][j]!=0)
sum++;
if(sum==64)
t++;
if(t==11)/*假如t到了11就变成1*/
t=1;
}
}
main()
更多精彩
赞助商链接