遊戲 三子棋

2021-09-23 14:34:00 字數 2896 閱讀 3373

menu()

void menu()

//選單

test()

void test()

} while (input);

}

main()

int main()

1、利用字元型陣列儲存我們所下的棋,初始化時所有都為空字元,然後利用「-」和「|」來進行棋盤的設計。

2、遊戲分為電腦先走或玩家先走,可自行選擇,當玩家走的時候,我們需要人性化考慮,因為玩家並不一定知道陣列儲存下標是從0開始的,所以我們在設定遊戲時,要注意使得下標輸入是從1開始,即x,y要減一才能得到真實下標。

3、無論是電腦走還是玩家走都得判斷此處是否已存在棋子,用if語句來實現。

4、最終遊戲輸贏,我們要判斷橫豎斜三類之一的情況下,字元是否全部為x或者全部為y,返回值後判斷誰輸誰贏,但若一直沒有字元相同情況,且遍歷一遍後發現棋盤已滿,則我們同樣結束遊戲,以平局告終。

#include"game.h"

void game()

; initboard(board, row, col);//初始化棋盤

printf("請選擇誰先走:1.電腦先走 2.玩家先走\n");

scanf("%d", &input);

displayboard(board, row, col);//列印棋盤

while (1)

displayboard(board, row, col);

playermove(board, row, col);

ret = iswin(board, row, col);

if (ret != ' ')//遊戲結束

displayboard(board, row, col);

} if (input == 2)//玩家先走

displayboard(board, row, col);

computermove(board, row, col);

ret = iswin(board, row, col);

if (ret != ' ')

displayboard(board, row, col);

}} }

//玩家贏--返回'x'

//電腦贏--返回'0'

//平局----返回'p'

//繼續----返回' '

if (ret == 'p')

else if (ret == 'x')

else if (ret == 'o')

displayboard(board, row, col);

}void initboard(char board[row][col], int row, int col) }}

void displayboard(char board[row][col], int row, int col)

} printf("\n");

if (i < row - 1)

}} printf("\n"); }}

void computermove(char board[row][col], int row, int col) }}

void playermove(char board[row][col], int row, int col)

else//提示座標已被占用

}else//輸入的座標不在給定範圍內即為非法座標

}}int isfull(char board[row][col], int row, int col)

} return 1;//無空格,則棋盤已滿,即平局,返回1

}char iswin(char board[row][col], int row, int col)

else

}if (tmp == 0)

}for (j = 0; j < col; j++)//豎三行

else

}if (tmp == 0)

}for (i = 0, j = 0; i < row - 1, j < col - 1; i++, j++)

else

}if (tmp == 0)

for (i = 0, j = row - 1; i < row - 1, j>0; i++, j--)

else

}if (tmp == 0)

//判斷平局

if (isfull(board, row, col))

//遊戲繼續

return ' ';

}

定義row為橫行,col為豎列,在標頭檔案中可以直接改變棋盤的大小

#pragma once

#ifndef _game_h_

#define _game_h_

#include#include#include#define row 3

#define col 3

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

void displayboard(char board[row][col], int row, int col);//將棋盤列印出來

void computermove(char board[row][col], int row, int col);//電腦走

void playermove(char board[row][col], int row, int col);//玩家走

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

#endif

三子棋遊戲

首先介紹一下三子棋遊戲規則 這是乙個玩家和電腦對戰的三子棋遊戲 棋盤如上圖所示,三個棋子連在一起則勝利 下面就是用c語言實現的方法 建立棋盤 利用二維陣列來實現乙個棋盤,棋盤剛開始是沒有任何棋子的,將二維陣列所有元素初始化為空格即可 玩家下棋 玩家輸入棋盤中的對應座標來下棋,下棋時需要考慮輸入座標合...

三子棋遊戲

閒來無事,竟意外發現了三子棋遊戲,順便實現了這個過程,我們一起來看下。三子棋的實現需要的是五個函式,我用了initboard 初始化棋盤函式 display 列印棋盤函式 player 玩家 computer 電腦 check full 判斷棋盤是否已滿,從而判斷輸贏 game.h define c...

三子棋遊戲

遊戲部分思路 初始化棋盤 玩家下棋 輸出棋盤 判斷輸贏 電腦下棋 判斷輸贏 迴圈這部分,直到有人贏得比賽 效果圖 test,c原始檔 define crt secure no warnings include game.h void menu void game char win init boar...