C4(1) 三字棋代码实现
生活随笔
收集整理的這篇文章主要介紹了
C4(1) 三字棋代码实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
設計
game()
{
初始化;
打印;
下前四步
從第五步開始判斷輸贏
9步沒產生輸贏是平局
}
代碼
int judge(char board[ROW][COL], int row, int col, int p) {int x = p / row;int y = p % row;if ((board[x][0] == board[x][1] && board[x][0] == board[x][2]) || (board[0][y] == board[1][y] && board[0][y] == board[2][y])) return 1;if ((x+y)%2)if (((board[0][0] == board[1][1] && board[2][2] == board[1][1])) || ((board[0][2] == board[1][1] && board[2][0] == board[1][1]))) return 1;return 0; } #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<string.h> #include "game.h"void menu() {printf("\n....................\n");printf("......0.exit........\n");printf("......1.play........\n");printf("....................\n");printf("請選擇(0/1)>>>"); }void game() {char board[ROW][COL] = { 0 };InitBoard(board, ROW, COL);PrintBoard(board, ROW, COL);PlayerMove(board, ROW, COL);ComputerMove(board, ROW, COL);PrintBoard(board, ROW, COL); PlayerMove(board, ROW, COL);ComputerMove(board, ROW, COL);PrintBoard(board, ROW, COL);int i=5;while (i){if (i % 2){int c1 = PlayerMove(board, ROW, COL);PrintBoard(board, ROW, COL);// 贏了返回1,打印棋盤,輸了,什么都不做if (judge(board, ROW, COL, c1)){printf("You win!!!\n");break;}}else{int c2 = ComputerMove(board, ROW, COL);PrintBoard(board, ROW, COL);if (judge(board, ROW, COL, c2)){printf("Computer win ,fool player.\n");break;}}i--;}if (i == 0)printf("平局\n");}void test() {int n = 0;do{menu();scanf("%d", &n);switch (n){case 0:{printf("Exit.\n");break;}case 1:{printf("Game strat.\n");game();break;}default:{printf("error,Please input (0/1)\n");break;}}} while (n); }int main() {srand((unsigned int)time(NULL));test();return 0; }總結
以上是生活随笔為你收集整理的C4(1) 三字棋代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软ERP的二次开发管理10问
- 下一篇: 详解Unity中的角色控制器