C言語は簡単な三目並べを実現します。


本論文の例では、C言語で簡単な三目並べゲームを実現するための具体的なコードを共有しています。
一、主要思想
1、3*3のボードを作成します。(文字配列を使用します。)
2、ボードを初期化する(スペースで塗りつぶす)
3、ボードを印刷します。表示される枠があるようにします。
4、プレイヤーは落子して、xで表します。(境界を越えて、もう落子したかどうかを確認して、勝ちますか?)
5、パソコンが落ちたら、oで表示する(もう子供が落ちたかどうかを確認して、勝ちますか?)  注:コンピュータは有効範囲内でランダムに落下し、現在のタイムスタンプを使ってランダムなシードであるsrand(time(0)を設定します。
6、3つの状況:プレイヤーが勝ち、コンピュータが勝ち、将棋が引き分けとなります。
二、コード実現

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//   ,             3
#define MAX_ROW 3
#define MAX_COL 3
 
//             ,          ,           
 
//    
//      ,          ,         
//       ,        'x',      
char playermove(char chessboard[MAX_ROW][MAX_COL])
{
 int row = 0;
 int col = 0;
 while (1){
 printf("         :(row col)");
 scanf("%d %d", &row, &col);
 //  
 //          
 if (row < 0 || row >= MAX_ROW || col<0 || col>=MAX_COL){
 printf("      !!
"); continue; }else if (chessboard[row][col]!=' '){ printf(" !!
"); continue; }else{ chessboard[row][col] = 'x'; return chessboard[row][col]; } } } // // ( , ) // , 'o', , void computermove(char chessboard[MAX_ROW][MAX_COL]) { while (1){ int row = rand() % MAX_ROW; // 0~2 int col = rand() % MAX_COL; // 0~2 // if (chessboard[row][col] != ' '){ continue; } chessboard[row][col] = 'o'; break; } } // , // , , ( ' ') // 1, 0 char isFull(char chessboard[MAX_ROW][MAX_COL]) { for (int row = 0; row < MAX_ROW; row++){ for (int col = 0; col < MAX_COL; col++){ // if (chessboard[row][col] == ' '){ return 0; } } } // , return 1; } // //'x' //'o' //' ' //'h' char isWin(char chessboard[MAX_ROW][MAX_COL]) { // // : , for (int row = 0; row < MAX_ROW; row++){ if (chessboard[row][0]!=' ' &&(chessboard[row][0] ==chessboard[row][1]) &&(chessboard[row][0]== chessboard[row][2])){ return chessboard[row][0]; } } // for (int col = 0; col < MAX_COL; col++){ if (chessboard[0][col]!=' ' &&(chessboard[0][col] == chessboard[1][col]) &&(chessboard[0][col] == chessboard[2][col])){ return chessboard[0][col]; } } // if (chessboard[0][0] != ' ' && (chessboard[0][0] == chessboard[1][1]) && (chessboard[0][0] == chessboard[2][2])){ return chessboard[0][0]; } if (chessboard[0][2] != ' ' &&(chessboard[0][2] == chessboard[1][1]) &&(chessboard[0][2] == chessboard[2][0])){ return chessboard[0][2]; } // if (isFull(chessboard)){ return 'h'; } return ' '; } // , ' ' void init(char chessboard[MAX_ROW][MAX_COL]) { for (int row = 0; row < MAX_ROW; row++){ for (int col = 0; col < MAX_COL; col++){ chessboard[row][col] = ' '; } } } // void printchessboard(char chessboard[MAX_ROW][MAX_COL]) { printf("+---+---+---+
"); for (int row = 0; row < MAX_ROW; row++){ printf("| %c | %c | %c |
", chessboard[row][0], chessboard[row][1], chessboard[row][2]); printf("+---+---+---+
"); } } // void game() { char chessboard[MAX_ROW][MAX_COL] = {0}; init(chessboard);// char winner = ' '; while (1){ printchessboard(chessboard);// playermove(chessboard);// // , winner = isWin(chessboard); if (winner != ' '){ break; } computermove(chessboard);// winner = isWin(chessboard); if (winner != ' '){ break; } } if (winner == 'x'){ printchessboard(chessboard); printf(" !
"); }else if (winner == 'o'){ printchessboard(chessboard); printf(" !
"); }else if (winner == 'h'){ printchessboard(chessboard); printf(" ! ~
"); } } // int menue(int choice) { printf("************************
"); printf("1.
"); printf("0.
"); printf("************************
"); printf(" :"); scanf("%d", &choice); return choice; } // int main() { srand(time(0)); int choice = 0; while (1){ choice=menue(choice); if (choice == 1){ game(); }else if (choice == 0){ break; }else{ printf(" ,
"); continue; } } system("pause"); return 0; }
三、運転結果

大体のフレームはこのようにして、systemクリーンスクリーンなどの最適化もできます。
もっと面白い経典ミニゲームはテーマを実現して、みんなに共有します。
C++クラシックミニゲームまとめ
pythonクラシックミニゲームまとめ
pythonテトリスゲーム集合
JavaScript経典ゲームは遊んで止まらないです。
java経典の小さいゲームのまとめ
javascript経典ミニゲームのまとめ
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。