要求:如圖
步驟
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 ...