三子棋遊戲 C語言

2021-10-10 14:39:10 字數 2666 閱讀 7277

要求:如圖

步驟

1、繪製棋盤(座標實現)

2、使用者落子

3、判斷(贏了沒)- - ->贏了就結束,平局就繼續

4、電腦落子

5、判斷(贏了沒)- - ->贏了就結束,平局就繼續

6、迴圈以上

實現

#include

"game.h"

//標頭檔案另起

intmain()

}printf

("byebye!\n");

system

("pause");

return0;

}

#ifndef _game_h_

#define _game_h_

#include

#include

#include

#pragma warning(disable:4996)

void

menu()

;void

game()

;#define row 3

//行列巨集定義

#define col 3

#define p_color 'x'

//使用者執子用x

#define c_color '0'

//電腦執子用o

#endif

#include

"game.h"

//選單選擇

void

menu()

//畫棋盤

void

drawboard

(char board[

][col]

,int row,

int col)

printf

("\n-----------------\n");

}}//使用者落子

void

playmove

(char board[

][col]

,int row,

int col)

//落子

//這裡減一是因為陣列下標從0開始

if(board[x -1]

[y -1]

!=' '

)//選擇的位置已經有棋子了

board[x -1]

[y -1]

= p_color;

return

;//結束}}

//判斷輸/贏/平局/next

char

judge

(char board[

][col]

,int row,

int col)

//使用者贏返回『x』,電腦贏了返回『o』,『n』表示繼續往下走,『p』平局。

}for

(int j =

0; j < col; j++

)//掃瞄列,是否有一列相同}if

(board[0]

[0]== board[1]

[1]&& \

board[1]

[1]== board[2]

[2]&& \

board[0]

[0]!=

' ')

//掃瞄正對角線是否相同

if(board[0]

[2]== board[1]

[1]&& \

board[1]

[1]== board[2]

[0]&& \

board[1]

[1]!=

' ')

//掃瞄反對角線是否相同

//**走到這裡說明沒有輸贏,所以是平局或next的情況.

for(

int i =

0; i < row; i++)}

}return

'p';

//平局

}//電腦落子

void

computermove

(char board[

][col]

,int row,

int col)}}

//遊戲中

void

game()

computermove

(board, row, col)

;//電腦走

win=

judge

(board, row, col)

;//再判斷

if(win !=

'n')

}while(1

);switch

(win)

drawboard

(board, row, col)

;//這裡是把輸贏後的棋盤再顯示

}

結果

C語言 三子棋遊戲

用c語言第一次完成三子棋遊戲,感觸特別深刻。在寫 中我明白了,思路還有 風格的重要性,在這次 中發現,我們整理好邏輯想法 對寫 就不會有太多問題了 如下,若有改進的地方,還希望大家可以多多指點。include include include include define row 3 define c...

C語言三子棋遊戲

三子棋是一種只需要行 列 斜中任意一種情況三個相同棋子相連便勝利的遊戲。本程式中,要求玩家與電腦pk,棋盤座標用乙個二維陣列儲存起來,玩家通過鍵盤輸入座標落子,電腦通過srand和rand函式隨機產生座標落子。每次落子都需要判斷遊戲是否結束。1.遊戲選單,供使用者進入遊戲 2.建立初始化棋盤 3.列...

C語言 三子棋遊戲

今天,我們用c語言來寫乙個三子棋遊戲。在整個工程裡建立了三個檔案,分別為main.c game.c game.h,其中 main.c 用於放整個遊戲的框架 game.c與game.h組成玩遊戲的模組。如下 game.h define crt secure no warnings 1 include ...