小遊戲 三子棋

2021-07-30 08:07:47 字數 2734 閱讀 4851

【c語言】實現最簡單的三子棋

無人工智慧,介面簡單,手動輸入座標x x

**如下 環境:vs2015

game.h

#pragma once

#ifndef __game_h__

#define __game_h__

#include #include #include #include #define row 3

#define col 3

void init_board(char board[row][col], int row, int col); //棋盤陣列初始化

void display_board(char board[row][col], int row, int col); //棋盤封裝顯示

void player_board(char board[row][col], int row, int col); //棋手下棋

void comp_board(char board[row][col], int row, int col); //機器下棋

int jud_win(char board[row][col], int row, int col); //判斷輸贏

int jud_full(char board[row][col], int row, int col); //判斷下滿

#endif //__game_h__

game.c

#define _crt_secure_no_warnings 1

#include "game.h"

void init_board(char board[row][col], int row, int col) //棋盤陣列初始化

void display_board(char board[row][col], int row, int col) //棋盤封裝顯示

}void player_board(char board[row][col], int row, int col) //棋手下棋

else

}else

system("cls");

display_board(board, row, col);

if (jud_win(board, row, col) == 1)//判斷輸贏...

else if (jud_win(board, row, col) == 3)

else comp_board(board, row, col);

}void comp_board(char board[row][col], int row, int col) //機器下棋

} system("cls");

printf("電腦已下:>\n");

display_board(board, row, col);

if (jud_win(board, row, col) == 2)//判斷輸贏...

else if (jud_win(board, row, col) == 3)

else player_board(board, row, col);

}int jud_win(char board[row][col], int row, int col)//判斷輸贏

for (i = 0; i < row; i++) //機器行判斷

for (i = 0; i < col; i++) //玩家列判斷

for (i = 0; i < col; i++) //機器列判斷

if ((board[0][0]) == (board[1][1]) && (board[1][1]) == (board[2][2]) && (board[0][0]) == '0')

return 1; //玩家斜判斷

if ((board[0][2]) == (board[1][1]) && (board[1][1]) == (board[2][0]) && (board[0][2]) == '0')

return 1;

if ((board[0][0]) == (board[1][1]) && (board[1][1]) == (board[2][2]) && (board[0][0]) == 'x')

return 2; //機器斜判斷

if ((board[0][2]) == (board[1][1]) && (board[1][1]) == (board[2][0]) && (board[0][2]) == 'x')

return 2;

if(jud_full(board, row, col))return 3;

}int jud_full(char board[row][col], int row, int col) //判斷下滿

return 1;

}

test.c

#define _crt_secure_no_warnings 1

#include "game.h"

void menu()

void menu2()

void game()

//display_board(board, row, col);//棋盤封裝

}int main()

} while (i != 0);

return 0;

}

三子棋小遊戲

簡單版的三子棋遊戲並不難,就只是運用二維陣列和呼叫各個函式。現在來分析遊戲的思路,首先在螢幕上列印乙個選擇遊戲的選單,這個簡單,就只需要呼叫乙個函式輸出就可以了,玩家選擇開始遊戲就進入遊戲函式,首先要初始化二維陣列,可以用memset 來進行初始化,然後在螢幕上列印出三子棋的棋盤,這個也簡單,知識簡...

三子棋小遊戲

game.h define crt secure no warnings ifndef game h define game h include include include include define rows 3 行數 define cols 3 列數void initboard char ...

三子棋小遊戲

一 井字雙人對戰遊戲 3子棋遊戲 分析 1.棋盤模擬。因為棋盤上的交叉點正好是3行3列,因此用乙個3行3列的二維陣列即可。資料初始值為0,表示未有妻子落下 值為1表示落下的是1好選手棋子,之位2表示的是2號選手的棋子。2.是否連成一條線檢測。對剛落下的妻子檢查所在的行是否都是同一選手的棋子 同樣再檢...