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

📄 chessmain.java

📁 JAVA编写的中国象棋,供初学者学习使用
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      g.drawImage(imagejiemian,0,0,g.TOP|g.LEFT);
      g.drawImage(imagexuanzeanniu,14,itemPress,g.TOP|g.LEFT);
    }
    if(isFirst==2)
    {
      g.drawImage(imagedating,0,0,g.TOP|g.LEFT);
      if(handX==28&&handY==20)
      {
        g.drawImage(imageno1,17,5,g.TOP|g.LEFT);
        g.drawImage(imageren,4,15,g.TOP|g.LEFT);
      }
      if(handX==85&&handY==20)
      {
        g.drawImage(imageno2,74,5,g.TOP|g.LEFT);
      }
      if(handX==28&&handY==55)
      {
        g.drawImage(imageno3,17,41,g.TOP|g.LEFT);
      }
      if(handX==85&&handY==55)
      {
        g.drawImage(imageno4,74,41,g.TOP|g.LEFT);
      }
      if(handX==28&&handY==90)
      {
        g.drawImage(imageno5,17,77,g.TOP|g.LEFT);
      }
      if(handX==85&&handY==90)
      {
        g.drawImage(imageno6,74,77,g.TOP|g.LEFT);
      }
      g.drawImage(imagehand,handX,handY,g.TOP|g.LEFT);
      //  临时屏蔽大厅的通讯代码
      if(socketthread.B_Socketthread == true)
      {
        if(socketthread.GMessage=="NULL")
        {
          self=1;
          yesno=1;
          if(self==1)
            activeY=13*7+7;
          if(self==0)
            activeY=13*2+7;
          socketthread.accept();
        }
        else
        {
          if(Integer.parseInt(socketthread.GMessage)==10014033)
          {
            person="yes";
            isFirst++;
            g.drawImage(imageren,4,15,g.TOP|g.LEFT);
          }
        }
      }
    }
    if(isFirst==3)
    {
      g.drawImage(imagediban,0,0,g.TOP|g.LEFT);

      if(chessitem[0*6+3]==1)
        g.drawImage(imagehongju1,    chessitem[0*6+1],chessitem[0*6+2],g.TOP|g.LEFT);
      if(chessitem[1*6+3]==1)
        g.drawImage(imagehongma1,    chessitem[1*6+1],chessitem[1*6+2],g.TOP|g.LEFT);
      if(chessitem[2*6+3]==1)
        g.drawImage(imagehongxiang1, chessitem[2*6+1],chessitem[2*6+2],g.TOP|g.LEFT);
      if(chessitem[3*6+3]==1)
        g.drawImage(imagehongshi1,   chessitem[3*6+1],chessitem[3*6+2],g.TOP|g.LEFT);
      if(chessitem[4*6+3]==1)
        g.drawImage(imagehongshuai,  chessitem[4*6+1],chessitem[4*6+2],g.TOP|g.LEFT);
      if(chessitem[5*6+3]==1)
        g.drawImage(imagehongshi2,   chessitem[5*6+1],chessitem[5*6+2],g.TOP|g.LEFT);
      if(chessitem[6*6+3]==1)
        g.drawImage(imagehongxiang2, chessitem[6*6+1],chessitem[6*6+2],g.TOP|g.LEFT);
      if(chessitem[7*6+3]==1)
        g.drawImage(imagehongma2,    chessitem[7*6+1],chessitem[7*6+2],g.TOP|g.LEFT);
      if(chessitem[8*6+3]==1)
        g.drawImage(imagehongju2,    chessitem[8*6+1],chessitem[8*6+2],g.TOP|g.LEFT);
      if(chessitem[9*6+3]==1)
        g.drawImage(imagehongpao1,   chessitem[9*6+1],chessitem[9*6+2],g.TOP|g.LEFT);
      if(chessitem[10*6+3]==1)
        g.drawImage(imagehongpao2,   chessitem[10*6+1],chessitem[10*6+2],g.TOP|g.LEFT);
      if(chessitem[11*6+3]==1)
        g.drawImage(imagehongbing1,  chessitem[11*6+1],chessitem[11*6+2],g.TOP|g.LEFT);
      if(chessitem[12*6+3]==1)
        g.drawImage(imagehongbing2,  chessitem[12*6+1],chessitem[12*6+2],g.TOP|g.LEFT);
      if(chessitem[13*6+3]==1)
        g.drawImage(imagehongbing3,  chessitem[13*6+1],chessitem[13*6+2],g.TOP|g.LEFT);
      if(chessitem[14*6+3]==1)
        g.drawImage(imagehongbing4,  chessitem[14*6+1],chessitem[14*6+2],g.TOP|g.LEFT);
      if(chessitem[15*6+3]==1)
        g.drawImage(imagehongbing5,  chessitem[15*6+1],chessitem[15*6+2],g.TOP|g.LEFT);
      if(chessitem[16*6+3]==1)
        g.drawImage(imagelvzu1,      chessitem[16*6+1],chessitem[16*6+2],g.TOP|g.LEFT);
      if(chessitem[17*6+3]==1)
        g.drawImage(imagelvzu2,      chessitem[17*6+1],chessitem[17*6+2],g.TOP|g.LEFT);
      if(chessitem[18*6+3]==1)
        g.drawImage(imagelvzu3,      chessitem[18*6+1],chessitem[18*6+2],g.TOP|g.LEFT);
      if(chessitem[19*6+3]==1)
        g.drawImage(imagelvzu4,      chessitem[19*6+1],chessitem[19*6+2],g.TOP|g.LEFT);
      if(chessitem[20*6+3]==1)
        g.drawImage(imagelvzu5,      chessitem[20*6+1],chessitem[20*6+2],g.TOP|g.LEFT);
      if(chessitem[21*6+3]==1)
        g.drawImage(imagelvpao1,     chessitem[21*6+1],chessitem[21*6+2],g.TOP|g.LEFT);
      if(chessitem[22*6+3]==1)
        g.drawImage(imagelvpao2,     chessitem[22*6+1],chessitem[22*6+2],g.TOP|g.LEFT);
      if(chessitem[23*6+3]==1)
        g.drawImage(imagelvju1,      chessitem[23*6+1],chessitem[23*6+2],g.TOP|g.LEFT);
      if(chessitem[24*6+3]==1)
        g.drawImage(imagelvma1,      chessitem[24*6+1],chessitem[24*6+2],g.TOP|g.LEFT);
      if(chessitem[25*6+3]==1)
        g.drawImage(imagelvxiang1,   chessitem[25*6+1],chessitem[25*6+2],g.TOP|g.LEFT);
      if(chessitem[26*6+3]==1)
        g.drawImage(imagelvshi1,     chessitem[26*6+1],chessitem[26*6+2],g.TOP|g.LEFT);
      if(chessitem[27*6+3]==1)
        g.drawImage(imagelvjiang,    chessitem[27*6+1],chessitem[27*6+2],g.TOP|g.LEFT);
      if(chessitem[28*6+3]==1)
        g.drawImage(imagelvshi2,     chessitem[28*6+1],chessitem[28*6+2],g.TOP|g.LEFT);
      if(chessitem[29*6+3]==1)
        g.drawImage(imagelvxiang2,   chessitem[29*6+1],chessitem[29*6+2],g.TOP|g.LEFT);
      if(chessitem[30*6+3]==1)
        g.drawImage(imagelvma2,      chessitem[30*6+1],chessitem[30*6+2],g.TOP|g.LEFT);
      if(chessitem[31*6+3]==1)
        g.drawImage(imagelvju2,      chessitem[31*6+1],chessitem[31*6+2],g.TOP|g.LEFT);

      //g.drawImage(imagexiaoguo,0,0,g.TOP|g.LEFT);
      //g.drawString(String.valueOf(chessmatrixX[5]),1,145,g.TOP|g.HCENTER);
      //g.drawString("版权所有: ANYWALK TECH.COM.",width/2,height-15,g.TOP|g.HCENTER);

      //处理下棋时钟的
      if(sTime>0)
      {
              sTime--;
      }
      else
      {
        sTime=300;
        //处理玩家行走棋时的时间超出规定时间问题。
        if(yesno==0&&self==0)
          chessitem[27*6+3]=0;
        if(yesno==0&&self==1)
          chessitem[4*6+3]=0;
        if(yesno==1&&self==0)
          chessitem[4*6+3]=0;
        if(yesno==1&&self==1)
          chessitem[27*6+3]=0;
      }
      if(sTime<50)
        g.setColor(255);
      else
        g.setColor(0);
      g.drawString(Integer.toString(sTime/10),60,65,g.TOP|g.HCENTER);

      active(g,activeX,activeY,activecolor,2);
      g.drawImage(imagehand,activeX+3,activeY+7,g.TOP|g.LEFT);

      //      System.out.print("*****yesnofirst:"+Integer.toString(yesno));
      //循环等待接受坐标信息
      if(yesno==0)
      {
        if(socketthread.B_Socketthread == true)
          socketthread.accept();
        //        System.out.print("*****getting...:"+Integer.toString(yesno));
      }
      //对从对方客户端收的坐标信息进行处理。
      if(socketthread.GMessage!="NULL" && socketthread.B_Socketthread == true)
      {
        g.drawString(socketthread.GMessage,60,height-40,g.TOP|g.HCENTER);
        //        System.out.print("*****GMessage:"+GMessage);

        temp=Integer.parseInt(socketthread.GMessage);
        tempY=temp%1000;
        tempX=(temp/1000)%1000;
        tempID=temp/1000000;
        chessitem[(tempID-1)*6+1]=tempX;
        chessitem[(tempID-1)*6+2]=tempY;
        for(int i=0;i<32;i++)
        {
          if(chessitem[i*6+1]==tempX && chessitem[i*6+2]==tempY && i!=(tempID-1)&&chessitem[i*6+5]==self)
            chessitem[i*6+3]=0;
        }

        socketthread.GMessage="NULL";
        yesno=1;
        //当玩家行走一不棋的时候,判断两个将面对面时的情况。
        if(chessitem[(5-1)*6+1]==chessitem[(28-1)*6+1])
        {
          int tempi=0;
          for(int i=0;i<32;i++)
          {
            if( chessitem[i*6+3]==1&&chessitem[i*6+1]==chessitem[4*6+1] && i!=4&&i!=27)
              tempi++;
          }
          if(tempi==0&&self==0)
          {
            chessitem[27*6+3]=0;
          }
          if(tempi==0&&self==1)
          {
            chessitem[4*6+3]=0;
          }
        }
      }
      //等待对方下棋的时候,判断两个将面对面时的情况。
      if(yesno==0 &&chessitem[(5-1)*6+1]==chessitem[(28-1)*6+1])
      {
        int tempi=0;
        for(int i=0;i<32;i++)
        {
          if( chessitem[i*6+3]==1&&chessitem[i*6+1]==chessitem[4*6+1] && i!=4&&i!=27)
            tempi++;
        }
        if(tempi==0&&self==0)
        {
          chessitem[4*6+3]=0;
        }
        if(tempi==0&&self==1)
        {
          chessitem[27*6+3]=0;
        }
      }
      //显示win或者lost的图片
      if(self==1)
      {
        if(chessitem[27]==0)
        {
          g.drawImage(imagewin,8,50,g.TOP|g.LEFT);
          gamecontinue =0;
        }
        if(chessitem[165]==0)
        {
          g.drawImage(imagelost,8,50,g.TOP|g.LEFT);
          gamecontinue =0;
        }
      }
      if(self==0)
      {
        if(chessitem[165]==0)
        {
          g.drawImage(imagewin,8,50,g.TOP|g.LEFT);
          gamecontinue =0;
        }
        if(chessitem[27]== 0)
        {
          g.drawImage(imagelost,8,50,g.TOP|g.LEFT);
          gamecontinue =0;
        }
      }
    }
    repaint();//系统函数,不停刷新显示
    try{
      thread.sleep(100);
    }catch (InterruptedException ie){ }
    Display.getDisplay(omidlet).callSerially(this);
  }

  /*****************************************************/
  // 游戏初始化
  //
  //
  /*****************************************************/
  public void start()
  {
    //  临时屏蔽大厅的通讯代码
    if(socketthread.B_Socketthread == true)
    {
      //  临时屏蔽大厅的通讯代码
      socketthread.accept();
      socketthread.sendmessage("10014033");
    }

    int i=0;
    sTime=300;
    activeX=13+1;
    if(self==1)
      activeY=13*7+7;
    if(self==0)
      activeY=13*2+7;
    for(i=0;i<9;i++)
      chessmatrixX[i]=i*13+1;
    for(i=0;i<10;i++)
      chessmatrixY[i]=i*13+7;
    //车1,马2,象3,士4,将5,炮6,兵7
    //32*6;id,               X,                         Y,                       isShow,        type(),       me
    chessitem[0]=1;chessitem[1]=chessmatrixX[0];chessitem[2]=chessmatrixY[0];chessitem[3]=1;chessitem[4]=1;chessitem[5]=0;
    chessitem[6]=2;chessitem[7]=chessmatrixX[1];chessitem[8]=chessmatrixY[0];chessitem[9]=1;chessitem[10]=2;chessitem[11]=0;
    chessitem[12]=3;chessitem[13]=chessmatrixX[2];chessitem[14]=chessmatrixY[0];chessitem[15]=1;chessitem[16]=3;chessitem[17]=0;
    chessitem[18]=4;chessitem[19]=chessmatrixX[3];chessitem[20]=chessmatrixY[0];chessitem[21]=1;chessitem[22]=4;chessitem[23]=0;
    chessitem[24]=5;chessitem[25]=chessmatrixX[4];chessitem[26]=chessmatrixY[0];chessitem[27]=1;chessitem[28]=5;chessitem[29]=0;
    chessitem[30]=6;chessitem[31]=chessmatrixX[5];chessitem[32]=chessmatrixY[0];chessitem[33]=1;chessitem[34]=4;chessitem[35]=0;
    chessitem[36]=7;chessitem[37]=chessmatrixX[6];chessitem[38]=chessmatrixY[0];chessitem[39]=1;chessitem[40]=3;chessitem[41]=0;
    chessitem[42]=8;chessitem[43]=chessmatrixX[7];chessitem[44]=chessmatrixY[0];chessitem[45]=1;chessitem[46]=2;chessitem[47]=0;
    chessitem[48]=9;chessitem[49]=chessmatrixX[8];chessitem[50]=chessmatrixY[0];chessitem[51]=1;chessitem[52]=1;chessitem[53]=0;
    chessitem[54]=10;chessitem[55]=chessmatrixX[1];chessitem[56]=chessmatrixY[2];chessitem[57]=1;chessitem[58]=6;chessitem[59]=0;
    chessitem[60]=11;chessitem[61]=chessmatrixX[7];chessitem[62]=chessmatrixY[2];chessitem[63]=1;chessitem[64]=6;chessitem[65]=0;
    chessitem[66]=12;chessitem[67]=chessmatrixX[0];chessitem[68]=chessmatrixY[3];chessitem[69]=1;chessitem[70]=7;chessitem[71]=0;
    chessitem[72]=13;chessitem[73]=chessmatrixX[2];chessitem[74]=chessmatrixY[3];chessitem[75]=1;chessitem[76]=7;chessitem[77]=0;
    chessitem[78]=14;chessitem[79]=chessmatrixX[4];chessitem[80]=chessmatrixY[3];chessitem[81]=1;chessitem[82]=7;chessitem[83]=0;
    chessitem[84]=15;chessitem[85]=chessmatrixX[6];chessitem[86]=chessmatrixY[3];chessitem[87]=1;chessitem[88]=7;chessitem[89]=0;
    chessitem[90]=16;chessitem[91]=chessmatrixX[8];chessitem[92]=chessmatrixY[3];chessitem[93]=1;chessitem[94]=7;chessitem[95]=0;
    chessitem[96]=17;chessitem[97]=chessmatrixX[0];chessitem[98]=chessmatrixY[6];chessitem[99]=1;chessitem[100]=7;chessitem[101]=1;
    chessitem[102]=18;chessitem[103]=chessmatrixX[2];chessitem[104]=chessmatrixY[6];chessitem[105]=1;chessitem[106]=7;chessitem[107]=1;
    chessitem[108]=19;chessitem[109]=chessmatrixX[4];chessitem[110]=chessmatrixY[6];chessitem[111]=1;chessitem[112]=7;chessitem[113]=1;
    chessitem[114]=20;chessitem[115]=chessmatrixX[6];chessitem[116]=chessmatrixY[6];chessitem[117]=1;chessitem[118]=7;chessitem[119]=1;
    chessitem[120]=21;chessitem[121]=chessmatrixX[8];chessitem[122]=chessmatrixY[6];chessitem[123]=1;chessitem[124]=7;chessitem[125]=1;
    chessitem[126]=22;chessitem[127]=chessmatrixX[1];chessitem[128]=chessmatrixY[7];chessitem[129]=1;chessitem[130]=6;chessitem[131]=1;
    chessitem[132]=23;chessitem[133]=chessmatrixX[7];chessitem[134]=chessmatrixY[7];chessitem[135]=1;chessitem[136]=6;chessitem[137]=1;
    chessitem[138]=24;chessitem[139]=chessmatrixX[0];chessitem[140]=chessmatrixY[9];chessitem[141]=1;chessitem[142]=1;chessitem[143]=1;
    chessitem[144]=25;chessitem[145]=chessmatrixX[1];chessitem[146]=chessmatrixY[9];chessitem[147]=1;chessitem[148]=2;chessitem[149]=1;
    chessitem[150]=26;chessitem[151]=chessmatrixX[2];chessitem[152]=chessmatrixY[9];chessitem[153]=1;chessitem[154]=3;chessitem[155]=1;
    chessitem[156]=27;chessitem[157]=chessmatrixX[3];chessitem[158]=chessmatrixY[9];chessitem[159]=1;chessitem[160]=4;chessitem[161]=1;
    chessitem[162]=28;chessitem[163]=chessmatrixX[4];chessitem[164]=chessmatrixY[9];chessitem[165]=1;chessitem[166]=5;chessitem[167]=1;
    chessitem[168]=29;chessitem[169]=chessmatrixX[5];chessitem[170]=chessmatrixY[9];chessitem[171]=1;chessitem[172]=4;chessitem[173]=1;
    chessitem[174]=30;chessitem[175]=chessmatrixX[6];chessitem[176]=chessmatrixY[9];chessitem[177]=1;chessitem[178]=3;chessitem[179]=1;
    chessitem[180]=31;chessitem[181]=chessmatrixX[7];chessitem[182]=chessmatrixY[9];chessitem[183]=1;chessitem[184]=2;chessitem[185]=1;
    chessitem[186]=32;chessitem[187]=chessmatrixX[8];chessitem[188]=chessmatrixY[9];chessitem[189]=1;chessitem[190]=1;chessitem[191]=1;

    thread.start();
  }
}

⌨️ 快捷键说明

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