Tony041010

井字遊戲1

Jun 17th, 2021 (edited)
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. #include <conio.h>
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <time.h>
  6. #include <windows.h>
  7. using namespace std;
  8. char k;
  9. int p=0;
  10. vector<string> map(9, "");
  11. string chess;
  12. void draw() {
  13.     system("cls");  //cls means clear screen
  14.     for( int i = 0 ; i <9 ; i++ ){
  15.         if(map[i] != ""){
  16.             cout << map[i];
  17.         }
  18.         else if(i ==p){
  19.             cout << "□";
  20.         }
  21.         else{
  22.             cout << "■";
  23.         }
  24.         if( i % 3 == 2 ){
  25.             cout << endl;
  26.         }
  27.     }
  28. }
  29. int main() {
  30.    
  31.     chess="X";  //XO全形字元,不然棋盤會歪掉,shift+space可以切換全形半形
  32.     draw();
  33.     string whowin="";
  34.     while (1) {
  35.         if (kbhit()) {
  36.             k=_getch();
  37.             if( k == 'q' ){
  38.                 break;
  39.             }
  40.             else if( k == 'e' ){
  41.                 p = p-3;
  42.             }
  43.             else if( k == 'd' ){
  44.                 p = p+3;
  45.             }
  46.             else if( k == 's' ){
  47.                 p = p-1;
  48.             }
  49.             else if( k == 'f' ){
  50.                 p = p+1;
  51.             }
  52.             else if( k == 'c' ){
  53.                 if( map[p] == "" ){
  54.                     map[p] = chess;
  55.                     if( chess == "X" ){
  56.                         chess = "O";
  57.                     }
  58.                     else{
  59.                         chess = "X";
  60.                     }
  61.                 }
  62.             }
  63.            
  64.             for( int i = 0 ; i <=6 ; i+=3 ){
  65.                 if( map[i] != "" && map[i] == map[i+1] && map[i] == map[i+2] ){
  66.                     whowin = map[i];
  67.                 }
  68.             }
  69.             for( int i = 0 ; i <=2 ; i++ ){
  70.                 if( map[i] != "" && map[i] == map[i+3] && map[i] == map[i+6] ){
  71.                     whowin = map[i];
  72.                 }
  73.             }
  74.             if( map[0] != "" && map[0] == map[4] && map[0] == map[8] ){
  75.                 whowin = map[0];
  76.             }
  77.             if( map[2] != "" && map[2] == map[4] && map[2] == map[6] ){
  78.                 whowin = map[2];
  79.             }
  80.            
  81.            
  82.             draw();
  83.             if( whowin != "" ){
  84.                 cout << whowin << "win";
  85.                 break;
  86.             }
  87.         }
  88.  
  89.     }
  90.  
  91.     return 0;
  92. }
  93.  
Add Comment
Please, Sign In to add comment