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

📄 wuziqi.cpp

📁 C++作业 完成一些简单的图形及其输入输出的功能 对于大学本科生做课程设计又很大帮助
💻 CPP
📖 第 1 页 / 共 3 页
字号:
                      line(x+20,50,x+20,330);
                      line(100,y,380,y);
                       
                      switch(ch2)
                      {
                        case 52:   cover.Circle(x+20,y,9);
                                   cover.draw();
                                   line(x+20,50,x+20,330);
                                   line(100,y,380,y);
                                   break;
                        case 54:   cover.Circle(x-20,y,9);
                                   cover.draw();
                                   line(x-20,50,x-20,330);
                                   line(100,y,380,y);
                                   break;
                        case 56:   cover.Circle(x,y+20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y+20,380,y+20);
                                   break;
                        case 50:   cover.Circle(x,y-20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y-20,380,y-20);
                                   break;
                      }

		      move.Circle(x,y,9);
                      move.draw();
                      line(x,50,x,330);
                      line(100,y,380,y);

		      if(exist(pane1,x,y))             //如果此处不存在棋子,执行下面的语句
		      {
			if((ch2=getch())==13)         //如果按的是enter键,则执行下面的语句
			{
			  player2.Circle(x,y,7);
                          player2.draw();             //画出了玩家2的棋子
                            
                          q=(x-100)/20+15*(y-50)/20;
			  biaoji[q]=2;
			  win2();
                            

			  pane1[a][0]=x;
			  pane1[a][1]=y;
			  a++;                 //给全局数组赋值
			}
			else                  //如果不是enter键,执行下面的语句
			{
			   if(ch2=='q') 
                           {
                             closegraph();
                             exit(1);
                           }  //ch2为q键,退出游戏
                           if((ch2==52)||(ch2==56)||(ch2==54)||(ch2==50))
			   {
                             ch1=ch2;
			     goto loop3;
                           }
                           else
			   {
			     sound.sound1();
                             goto loop2;
                           }
			 }
		       }
		      else                           //此处存在棋子执行下面的语句
		      {
			 if((ch2=getch())==13)        //如果按的是enter键,则执行下面的语句
			 {
			   sound.sound1();
			   goto loop2;
			 }
			 else              //如果按的不是enter键
			 {
			   if(ch2=='q') 
                           {
                             closegraph(); 
                             exit(1);
                           }               //ch2为q键,退出游戏
			  ch1=ch2;
			  goto loop3;
			 }
		      }
		      break;
	  case 54:  x=x+20;
		    if(x>380)
		    {
                      x=x-20;
                      sound.sound1();
                      goto loop2;
                    }                         //如果超出棋盘范围发出声音,重新走棋

                    cover.Circle(x-20,y,9);
                    cover.draw();
                    line(x-20,50,x-20,330);
                    line(100,y,380,y);
                     
                    switch(ch2)
                    {
                      case 52:   cover.Circle(x+20,y,9);
                                 cover.draw();
                                 line(x+20,50,x+20,330);
                                 line(100,y,380,y);
                                 break;
                      case 54:   cover.Circle(x-20,y,9);
                                 cover.draw();
                                 line(x-20,50,x-20,330);
                                 line(100,y,380,y);
                                 break;
                      case 56:   cover.Circle(x,y+20,9);
                                 cover.draw();
                                 line(x,50,x,330);
                                 line(100,y+20,380,y+20);
                                 break;
                      case 50:   cover.Circle(x,y-20,9);
                                 cover.draw();
                                 line(x,50,x,330);
                                 line(100,y-20,380,y-20);
                                 break;
                   }
                      
		   move.Circle(x,y,9);
                   move.draw();
                   line(x,50,x,330);
                   line(100,y,380,y);

		   if(exist(pane1,x,y))  //如果此处不存在棋子,执行下面的语句
		   {
		     if((ch2=getch())==13)  //如果按的是enter键,则执行下面的语句
		     {
                       player2.Circle(x,y,7);player2.draw();//(x,y);    //画出了玩家2的棋子

                       q=(x-100)/20+15*(y-50)/20;
		       biaoji[q]=2;
		       win2();
                            
		       pane1[a][0]=x;
		       pane1[a][1]=y;
		       a++;                 //给全局数组赋值

	             }
	             else                  //如果不是enter键,执行下面的语句
	             {
		       if(ch2=='q') 
                       {
                          closegraph();
                          exit(1); 
                       }               //ch2为q键,退出游戏
		       if((ch2==52)||(ch2==56)||(ch2==54)||(ch2==50))
	               {
                         ch1=ch2;
		         goto loop3;
                       }
                       else
	               {
		         sound.sound1();
                         goto loop2;
                       }
                     }
		   }  
		   else                             //此处存在棋子执行下面的语句
		   {
		     if((ch2=getch())==13)          //如果按的是enter键,则执行下面的语句
	             {
			sound.sound1();//x=x-20;
		        goto loop2;
		     }
		     else                           //如果按的不是enter键
		     {
		       if(ch2=='q')
                       {
                         closegraph(); 
                         exit(1);  
                       }                           //ch2为q键,退出游戏

		     ch1=ch2;
	             goto loop3;
		    }
		   }
		   break;

	  case 56:  y=y-20;
		    if(y<50)
		    {
                      y=y+20;
                      sound.sound1();
                      goto loop2;
                    }                                        //如果超出棋盘范围发出声音,重新走棋

                    cover.Circle(x,y+20,9);
                    cover.draw();
                    line(x,50,x,330);
                    line(100,y+20,380,y+20);
                      
                    switch(ch2)
		    {
		       case 52:   cover.Circle(x+20,y,9);
				  cover.draw();
				  line(x+20,50,x+20,330);
				  line(100,y,380,y);
				  break;
		       case 54:   cover.Circle(x-20,y,9);
				  cover.draw();
				  line(x-20,50,x-20,330);
				  line(100,y,380,y);
				  break;
		       case 56:   cover.Circle(x,y+20,9);
				  cover.draw();
				  line(x,50,x,330);
				  line(100,y+20,380,y+20);
				  break;
		       case 50:   cover.Circle(x,y-20,9);
				  cover.draw();
				  line(x,50,x,330);
				  line(100,y-20,380,y-20);
				  break;
		    }

		    move.Circle(x,y,9);
		    move.draw();line(x,50,x,330);
		    line(100,y,380,y);
		    if(exist(pane1,x,y))  //如果此处不存在棋子,执行下面的语句
		    {
		      if((ch2=getch())==13)  //如果按的是enter键,则执行下面的语句
		      {
			 player2.Circle(x,y,7);player2.draw();   //画出了玩家2的棋子

			 q=(x-100)/20+15*(y-50)/20;
			 biaoji[q]=2;
			 win2();

			 pane1[a][0]=x;
			 pane1[a][1]=y;
			 a++;                 //给全局数组赋值

		      }
		      else                  //如果不是enter键,执行下面的语句
		      {
			if(ch2=='q')
			{
			  closegraph();
			   exit(1);
			}
			if((ch2==52)||(ch2==56)||(ch2==54)||(ch2==50))
			{
			  ch1=ch2;
			  goto loop3;
			}
			else
			{
			  sound.sound1();goto loop2;}
			}
		      }
		      else     //此处存在棋子执行下面的语句
		      {
			if((ch2=getch())==13)  //如果按的是enter键,则执行下面的语句
			{
			  sound.sound1();
			  goto loop2;
			}
			else              //如果按的不是enter键
			{
			  if(ch2=='q') { closegraph();exit(1);}  //ch2为q键,退出游戏
			  ch1=ch2;
			  goto loop3;
			}
		      }
		      break;

	  case 50:   y=y+20;
		     if(y>330)
		     {
		       y=y-20;
		       sound.sound1();
		       goto loop2;
		     }   //如果超出棋盘范围发出声音,重新走棋

		     cover.Circle(x,y-20,9);
		     cover.draw();
		     line(x,50,x,330);
		     line(100,y-20,380,y-20);
                     
		     switch(ch2)
		     {
			 case 52:   cover.Circle(x+20,y,9);
				    cover.draw();
				    line(x+20,50,x+20,330);
				    line(100,y,380,y);
				    break;
			 case 54:   cover.Circle(x-20,y,9);
				    cover.draw();
				    line(x-20,50,x-20,330);
				    line(100,y,380,y);
				    break;
			 case 56:   cover.Circle(x,y+20,9);
				    cover.draw();
				    line(x,50,x,330);
				    line(100,y+20,380,y+20);
				    break;
			 case 50:   cover.Circle(x,y-20,9);
				    cover.draw();
				    line(x,50,x,330);
				    line(100,y-20,380,y-20);
				    break;
		     }

		     move.Circle(x,y,9);
		     move.draw();
		     line(x,50,x,330);
		     line(100,y,380,y);

		     if(exist(pane1,x,y))  //如果此处不存在棋子,执行下面的语句
		     {
		       if((ch2=getch())==13)  //如果按的是enter键,则执行下面的语句
		       {
			 player2.Circle(x,y,7);player2.draw();//(x,y);    //画出了玩家2的棋子

			 q=(x-100)/20+15*(y-50)/20;
			 biaoji[q]=2;
			 win2();

			 pane1[a][0]=x;
			 pane1[a][1]=y;
			 a++;                 //给全局数组赋值
		       }
		       else                  //如果不是enter键,执行下面的语句
		       {
			  if(ch2=='q')
			  {
			    closegraph();
			    exit(1);
			  } //如为q键,退出游戏
			  if((ch2==52)||(ch2==56)||(ch2==54)||(ch2==50))
			  {
			     ch1=ch2;
			     goto loop3;
			  }
			  else
			  {
			    sound.sound1();goto loop2;}
			  }
		      }
		      else     //此处存在棋子执行下面的语句
		      {
			if((ch2=getch())==13)  //如果按的是enter键,则执行下面的语句
			{
			  sound.sound1();
			  goto loop2;
			}
			else              //如果按的不是enter键
			{
			  if(ch2=='q')
			  {
			     closegraph();
			     exit(1);
			  }
			  ch1=ch2; //y=y-20;
			  goto loop3;
			}
		      }
		      break;

	   default:   if(ch1=='q')
		      {
			closegraph();
			exit(1);
		      }
		      sound.sound1();
		      goto loop2;

	 }
       }

   }
}


void main()
{
  int driver=DETECT,mode;
  initgraph(&driver,&mode,"\\tc\\bgi");

  setbkcolor(1);                          //把背景设成蓝色

  Display  One(400);
  One.draw();

  Draw_pane pane(100,50);
  pane.draw();

  int x=100;
  int y=50;                                   //定义初始坐标
  
  setcolor(4);
  circle(x,y,9);
  setcolor(15);                       //画出一开始可动棋子的位置

  start=clock();

  Play A(x,y);
  A.play();

}

⌨️ 快捷键说明

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