⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pvsp.h

📁 代码+论文 (一篇很好的毕业论文
💻 H
字号:
#include "head.h"
/*头文件、常量定义*/
void pvsP(void)/*人人对战函数*/
{
   int key,i,j;
   int ch;
   for(i=0;i<SIZE;i++) /* 初始化棋盘 */
      for(j=0;j<SIZE;j++)
         hb.a[i][j]=0;
   hb.a[3][3] = 2; /* 初始化开始的四个棋子 */
   hb.a[4][4] = 2;
   hb.a[4][3] = 1;
   hb.a[3][4] = 1;
   drawQZ(getX(3),getY(3),15);
   drawQZ(getX(4),getY(4),15);
   drawQZ(getX(4),getY(3),8);
   drawQZ(getX(3),getY(4),8);

   hb.x = 2; /* 初始化光标位置 */
   hb.y = 2;
   hb.read = 8;/* 表示黑棋先走 */

   hb.s1=2;/*  初始化分数为0 */
   hb.s2=2;

   dispMouse(getX(hb.x),getY(hb.y),7);/* 画出光标的位置 */

   while(1)/* 开始游戏 */
   {
      if(hb.read==8)/* 如果没有移动力,则将句柄交给对手 */
      {
         if(!moveTimes(1))
         {
            hb.read=15;
            continue;
         }
      }
      else if(hb.read==15)
      {
         if(!moveTimes(2))
         {
            hb.read = 8;
            continue;
         }
      }
   
      key = bioskey(0);
      if(key == ESC)
      {
         if(judgeYorN()==0)
            break;
      }
      else if(hb.read==8&&(key==UP||key==DOWN||key==RIGHT||key==LEFT||key==ENTER))
      {
         if(key==UP||key==DOWN||key==RIGHT||key==LEFT)
         {
            dispMouse(getX(hb.x),getY(hb.y),0);
            if(key == UP && hb.y > 0)
               hb.y--;
            else if(key == DOWN && hb.y < (SIZE-1))
               hb.y++;
            else if(key == LEFT && hb.x > 0)
               hb.x--;
            else if(key == RIGHT && hb.x <(SIZE-1))
               hb.x++;
            dispMouse(getX(hb.x),getY(hb.y),15);
         }
         else if(key==ENTER&&hb.a[hb.x][hb.y]==0)
         {
            if(ch = judgeEnter(hb.x,hb.y,1))
            {
               drawLast(hb.x,hb.y,1);
               hb.read = 15; /* 将句柄交给对手 */
               hb.a[hb.x][hb.y] = 1;/* 标志出该位置已经有黑棋 */
               hb.s1+=ch+1;/* 处理玩家的分数 */
               hb.s2-=ch;
               printScore(); /* 打印分数 */
               if(ch=judgeGameover())
               {
                  Gameover(ch);
                  if(judgeYorN())
                  {
                     cleardevice();/* 清屏函数 */
                     playFace();
                     playGame();
                  }
                  else
                     break;
               }
               continue;
            }
         }
      }
      else if(hb.read==15&&(key==W||key==S||key==D||key==A||key==SPACE))
      {
         if(key==W||key==S||key==D||key==A)
         {
            dispMouse(getX(hb.x),getY(hb.y),0);
            if(key == W && hb.y > 0)
               hb.y--;
            else if(key == S && hb.y < (SIZE-1))
               hb.y++;
            else if(key == A && hb.x > 0)
               hb.x--;
            else if(key == D && hb.x <(SIZE-1))
               hb.x++;
            dispMouse(getX(hb.x),getY(hb.y),15);
         }
         else if(key==SPACE&&hb.a[hb.x][hb.y]==0)
         {
            if(ch = judgeEnter(hb.x,hb.y,2))
            {
               drawLast(hb.x,hb.y,2);
               hb.read = 8; /* 将句柄交给对手 */
               hb.a[hb.x][hb.y] = 2;/* 标志出该位置已经有黑棋 */
               hb.s2+=ch+1;/* 处理玩家的分数 */
               hb.s1-=ch;
               printScore();
               if(ch=judgeGameover())
               {
                  Gameover(ch);
                  if(judgeYorN())
                  {
                     cleardevice();/* 清屏函数 */
                     playFace();
                     playGame();
                  }
                  else
                     break;
               }
               continue;
            }
         }
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -