一、問題概述
大家都玩過棋盤遊戲吧,像五子棋一樣,玩家或者是電腦一人下一次,當玩家或者是電腦的某一方先將各自的五個棋子下成一條線時,誰就贏,棋盤遊戲就會結束。
當然,我今天要介紹的是三子棋,和五子棋的原理是一樣的,當玩家或者是電腦的某一方先將各自的三個棋子下成一條線時,誰就贏,棋盤遊戲就會結束。
下面我們用如下棋盤模擬一下電腦上的棋盤:
有一點點小,
二、解決方案
(1)初始化棋盤,將棋盤可以要下的地方初始化為空格,這裡我們用二維陣列來存放這些空格,以便後邊的替換;
(2)開始遊戲時,先讓玩家玩,輸入玩家要下的座標,然後讓電腦玩,給定隨機的座標即可。
(3)當三個座標成一條直線時,則下的那一方就贏。(判斷座標成一線)
三、實現**
#define _crt_secure_no_warnings 1
#pragma once
#define row 3
#define col 3
#include#include#include#include//列印棋盤
void printchess(char arr[col],int row)
//玩家下棋
void player(char arr[col],int row)
if(arr[x][y] == ' ')
printchess(arr,row);
}//電腦下棋
void computer(char arr[col],int row)
if(arr[x][y] == ' ')
printchess(arr,row);
}int check(char arr[col])
if((((arr[i][0] == arr[i][1])&&(arr[i][1] == arr[i][2]))&&(arr[i][1]== '#')) ||
(((arr[0][i] == arr[1][i])&& (arr[1][i]== arr[2][i]))&&(arr[1][i]== '#')) ||
(((arr[0][0] == arr[1][1])&&(arr[1][1]== arr[2][2]))&&(arr[1][1]== '#')) ||
(((arr[0][2] == arr[1][1])&&(arr[1][1]== arr[2][0]))&&(arr[1][1]== '#')))
for(j = 0; j < 3;j++)
}} if(count == 9)
}void game()
computer(arr,row);
if(check(arr) == -1)}}
#include"threechess.h"
#define _crt_secure_no_warnings 1
void funtest() }}
int main()
四、執行結果
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 ...