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

📄 wuziqi.cpp

📁 C++作业 完成一些简单的图形及其输入输出的功能 对于大学本科生做课程设计又很大帮助
💻 CPP
📖 第 1 页 / 共 3 页
字号:
                                     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())==32)  //如果此处存在棋子并且按的是空格键,则执行下面的语句
			 {
                            player1.Circle(x,y,7);player1.draw();   //画出了玩家1的棋子
			    
                            q=(x-100)/20+15*(y-50)/20;              //把x,y坐标转化为棋子位置。
			    biaoji[q]=1;                            //给此点赋值
			    win1();                                 //判断是否玩家1赢棋。 
                             
                            pane1[a][0]=x;
			    pane1[a][1]=y;
			    a++;                                    //给全局数组赋值
			 }
			 else                  //如果此处不存在棋子并且按的不是空格键,执行下面的语句
			 {
			   if(ch2=='q') 
                             {
                                closegraph();
                                exit(1); 
                             }                  //ch2为q键,退出游戏

                           if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
			   {
                             ch1=ch2;
			     goto loop;
                           }                     //按的ch2为a,s,d,x键,回到loop处重新判断。
                           else
			   {
			     sound.sound1();
                             goto loop1;
                           }
		         }
		       }

		       else                     //此处存在棋子执行下面的语句
		       {
			 if((ch2=getch())==32)  //如果按的是空格键,则发出声音,回到loop1处重新来过。
			 { 
			   sound.sound1();
			   goto loop1;
			 }
			 else                   //如果按的不是空格键
			 {
			   if(ch2=='q')         //ch2为q键,退出游戏
                           {
                              closegraph();
                              exit(1); 
                           } 

			   ch1=ch2;             //否则把ch2赋給ch1,回到loop处重新判断
			   goto loop;
			 }
		       }
		       break;   

	  case 'd':  x=x+20; 
		     if(x>380)                  //如果超出棋盘范围发出声音,重新走棋
		     {
                       x=x-20; 
                       sound.sound1();
                       goto loop1;
                     }
   
                     cover.Circle(x-20,y,9);
                     cover.draw();
                     line(x-20,50,x-20,330);
                     line(100,y,380,y);

		     switch(ch2)
                     {
                       case 'a':   cover.Circle(x+20,y,9);
                                   cover.draw();
                                   line(x+20,50,x+20,330);
                                   line(100,y,380,y);
                                   break;
                       case 'd':   cover.Circle(x-20,y,9);
                                   cover.draw();
                                   line(x-20,50,x-20,330);
                                   line(100,y,380,y);
                                   break;
                       case 's':   cover.Circle(x,y+20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y+20,380,y+20);break;
                       case 'x':   cover.Circle(x,y-20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y-20,380,y-20);
                                   break;
                     }

		     setcolor(1);              //此处覆盖默认位置的棋子。
		     circle(100,50,9); 
                     setcolor(15);
                     line(100,50,100,330);
                     line(100,50,380,50);

                     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())==32)     //如果按的是空格键,则执行下面的语句
		       {
                         player1.Circle(x,y,7);player1.draw();   //画出了玩家1的棋子
                          
                         q=(x-100)/20+15*(y-50)/20;
			 biaoji[q]=1;
			 win1();
                             
			 pane1[a][0]=x;
			 pane1[a][1]=y;
			 a++;                    //给全局数组赋值
                       }
		       else                  //如果不是空格键,执行下面的语句
		       {
                          if(ch2=='q')
                          {
                            closegraph(); 
                            exit(1);  
                          }                 //ch2为q键,退出游戏
                          if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
			  {
                             ch1=ch2;
			     goto loop;
                          }
                          else
			  {
			    sound.sound1();goto loop1;
                          }
		       }
		     }

		     else                        //此处存在棋子执行下面的语句
		     {
		        if((ch2=getch())==32)    //如果按的是空格键,则执行下面的语句
			{ 
			  sound.sound1();
			  goto loop1;
			}
			else                     //如果按的不是空格键
			{
			  if(ch2=='q')
                          {
                             closegraph(); 
                             exit(1);
                          }                       //ch2为q键,退出游戏

			  ch1=ch2;
			  goto loop;
			}
		     }
		     break;

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

		     cover.Circle(x,y+20,9);
                     cover.draw();
                     line(x,50,x,330);
                     line(100,y+20,380,y+20);

                     switch(ch2)
                     {
                       case 'a':   cover.Circle(x+20,y,9);
                                   cover.draw();
                                   line(x+20,50,x+20,330);
                                   line(100,y,380,y);
                                   break;
                       case 'd':   cover.Circle(x-20,y,9);
                                   cover.draw();
                                   line(x-20,50,x-20,330);
                                   line(100,y,380,y);
                                   break;
                       case 's':   cover.Circle(x,y+20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y+20,380,y+20);
                                   break;
                       case 'x':   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())==32)  //如果按的是空格键,则执行下面的语句
		      {
                        player1.Circle(x,y,7);player1.draw();   //画出了玩家1的棋子
                         
                        q=(x-100)/20+15*(y-50)/20;
			biaoji[q]=1;
			win1();
                            
			pane1[a][0]=x;
			pane1[a][1]=y;
		        a++;                 //给全局数组赋值
                      }
		      else                  //如果不是空格键,执行下面的语句
		      {
			if(ch2=='q') 
                        {
                          closegraph();
                          exit(1); 
                        }                         //为q键,退出游戏
			if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
			{
                          ch1=ch2;
			  goto loop;
                        }
                        else
			{
			  sound.sound1();
                          goto loop1;
                        }
                      }
		    }
		    else                       //此处存在棋子执行下面的语句
		     {
			if((ch2=getch())==32)  //如果按的是空格键,则执行下面的语句
			{
			  sound.sound1();
			  goto loop1;
			}
			else                   //如果按的不是空格键
			{
			  if(ch2=='q')
                          {
                            closegraph(); 
                            exit(1);
                          }                    //ch2为q键,退出游戏

			  ch1=ch2;
			  goto loop;
		       }
		     }
		     break;

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

                     cover.Circle(x,y-20,9);
                     cover.draw();
                     line(x,50,x,330);
                     line(100,y-20,380,y-20);
		      
                     
                     switch(ch2)
                     {
                       case 'a':   cover.Circle(x+20,y,9);
                                   cover.draw();
                                   line(x+20,50,x+20,330);
                                   line(100,y,380,y);
                                   break;
                       case 'd':   cover.Circle(x-20,y,9);
                                   cover.draw();
                                   line(x-20,50,x-20,330);
                                   line(100,y,380,y);
                                   break;
                       case 's':   cover.Circle(x,y+20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y+20,380,y+20);break;
                       case 'x':   cover.Circle(x,y-20,9);
                                   cover.draw();
                                   line(x,50,x,330);
                                   line(100,y-20,380,y-20);break;
                     }

                     setcolor(1);
		     circle(100,50,9); 
                     setcolor(15); 
                     line(100,50,100,330);
                     line(100,50,380,50);

                     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())==32)           //如果按的是空格键,则执行下面的语句
		       {
                          player1.Circle(x,y,7);player1.draw();  //画出了玩家1的棋子
                         
                          q=(x-100)/20+15*(y-50)/20;
			  biaoji[q]=1;
			  win1();

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

		       }
		       else                  //如果不是空格键,执行下面的语句
		       {
			  if(ch2=='q')
                          {
                            closegraph(); 
                            exit(1); 
                          }                 //为q键,退出游戏

                          if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
			  {
                            ch1=ch2;
			    goto loop;
                          }
                          else
			  {
			    sound.sound1();
                            goto loop1;
                          }
			}
		      }
		      else                       //此处存在棋子执行下面的语句
		      {
			if((ch2=getch())==32)  //如果按的是空格键,则执行下面的语句
			{
			  sound.sound1();
			  goto loop1;
			}
			else                  //如果按的不是空格键
			{
			  if(ch2=='q') 
                          {
                             closegraph(); 
                             exit(1);
                          } //ch2为q键,退出游戏
			  ch1=ch2;
			  goto loop;
			}
		      }
		      break;

	   default:   if(ch1=='q')
                      {
                        closegraph();  
                        exit(1); 
                      }                    //ch1为q键,退出游戏
                      if((j==0)&&(ch1==32))
                      {
                         player1.Circle(x,y,7);
                         player1.draw(); 

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

                         pane1[a][0]=x;
			 pane1[a][1]=y;
			 a++;        
                      }
                      else
		      {
                         sound.sound1();
                         goto loop1;
                      }
          }
       }
       else
       {
	  loop2:
	  ch1=getch();
	  loop3:
	  
        switch(ch1)
	  {
	    case 52:  x=x-20;
		      if(x<100)
		      {
                         x=x+20;
                         sound.sound1();
                         goto loop2;
                      }                                   //如果超出棋盘范围发出声音,重新走棋

                      cover.Circle(x+20,y,9);
                      cover.draw();

⌨️ 快捷键说明

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