龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

双人黑白棋子游戏

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
写个棋类游戏,练习下.在图形模式下主要显示数字比较麻烦,这里我就用一维数组来统计得分了.希望大家可以指点下在图形模式下应该如何像printf一样输出一个得分.这里的黑白玩家都用

写个棋类游戏,练习下.在图形模式下主要显示数字比较麻烦,这里我就用一维数组来统计得分了.希望大家可以指点下在图形模式下应该如何像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()

  

  

  

精彩图集

赞助商链接