c語言 棋盤遊戲 三子棋

2021-07-25 02:07:18 字數 1644 閱讀 2198

一、問題概述

大家都玩過棋盤遊戲吧,像五子棋一樣,玩家或者是電腦一人下一次,當玩家或者是電腦的某一方先將各自的五個棋子下成一條線時,誰就贏,棋盤遊戲就會結束。

當然,我今天要介紹的是三子棋,和五子棋的原理是一樣的,當玩家或者是電腦的某一方先將各自的三個棋子下成一條線時,誰就贏,棋盤遊戲就會結束。

下面我們用如下棋盤模擬一下電腦上的棋盤:

有一點點小,

二、解決方案

(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 ...