#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 編寫其餘相關函式 除了棋盤初始化函式外,還需編寫落子函式 勝負判斷函式 棋盤列印函式等函式。還可以列印分隔線,輸...