C語言井字棋

2021-08-10 11:26:59 字數 1630 閱讀 6567

#include

#include

#include

#include

//主要邏輯 使用者資料 -》棋盤

//儲存使用者資料 正好對應3*3的乙個棋盤的九個資料點

//每個裡面乙個x,y對應棋盤中的乙個填棋子的位置

struct point;

char

map[14][14];

struct point data[4][4];//代表九個填棋子的位置

//判斷當前使用者走的位置是否合法

int isillegal(int x,int y)

//判斷是否勝利 返回1代表x贏返回2代表o贏

int iswin()

if(x==3||x1==3||x11==3)

return

1; if(o==3||o1==3||o11==3)

return

2; }

if(data[1][3].val=='x'&&data[2][2].val=='x'&&data[3][1].val=='x')

if(data[1][3].val=='o'&&data[2][2].val=='o'&&data[3][1].val=='o')

return0;}

//初始化地圖為全部為空格

void initmap(char data)

}}//初始化 畫出棋盤然後每乙個棋坑都是空格

void init()

}initmap(' ');

for(i=1;i<=13;i++)

}//根據使用者輸入的資料改變棋盤(在對應的位置填寫資料)

void changemap()

}//列印棋盤

void printmap()

printf("\n");

}}//根據對應輸入的位置(1,2,3.。。9)轉換成使用者資料的第幾行

int gethang(int n)

//同上 轉化成第幾列

int getlie(int n)

int main()

; //初始化1號為x二號為o

printf("game start\n");

init();

printf("please select the first one to play the chess\n[x/o]");

char c;

scanf("%c",&c);

int count=1;

if(c=='o')

int pos;

int x,y;

//頂多就能放九個棋子。

while(count<=9)

else

data[x][y].val = man[count%2==0?2:1];

changemap();

printmap();

int winer = iswin();//判斷是誰贏了

if(winer == 1)

else

if(winer == 2)

count++;

}if(count==9)

printf("平局\n");

return

0; }

python井字棋 用python井字棋

上篇文章 python 井字棋 文本版 上 電腦端下棋策略是隨機的,有哪些位置可下棋,就隨機選擇乙個位置 實際中是不存這麼傻的對手的,賦予電腦乙個正常的智商還是很有必要的 至少當對手下一步要贏了,我們應該馬上堵住哪個位置 如果電腦自己能贏了,那就應該下能夠贏的位置 如果雙方都贏不了,那就找乙個比較好...

c語言程式設計三子棋(井字棋)

標頭檔案 test.h ifndef three chess h 防止標頭檔案被重複,包含 也可以用 pragma once define three chess h include include include pragma warning disable 4996 vs中解決scanf函式不能...

小白 c語言編寫井字棋遊戲

本人小白一枚,編寫井字棋遊戲純粹興趣使然,其中必有不當或錯誤之處,還望大佬們批評指正。初始化棋盤 定義乙個字元陣列,對不同元素賦相應的值,構成棋盤邊框。初始化棋盤 void inimap 編寫其餘相關函式 除了棋盤初始化函式外,還需編寫落子函式 勝負判斷函式 棋盤列印函式等函式。還可以列印分隔線,輸...