Microsoft Word - well_game.doc

Similar documents
C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

第3章.doc

C/C++语言 - C/C++数据

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C/C++程序设计 - 字符串与格式化输入/输出

c_cpp

untitled

新版 明解C++入門編

C 1

山东建筑大学学分制管理规定(试行)

FY.DOC

PowerPoint Presentation

untitled

untitled

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

C++ 程式設計

C/C++ - 文件IO

2013年云南省公务员考试真题解析(完整版)春闻网


C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

1-2 二元一次聯立方程式 21 例 1 代入法判斷二元一次聯立方程式的 { x3y5 2xy3 x1y2 x3y3 x2y1 xy 二元一次式 x y x+3y x-y x2y1 x2y1 { x3y5 2xy3 { 2x3y1 xy3 x2y1

ebook39-5

Microsoft Word - CPE考生使用手冊 docx

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

[改訂新版]C言語による標準アルゴリズム事典

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]


新・明解C言語入門編『索引』

Microsoft PowerPoint - 10 模板 Template.pptx

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2



untitled

CC213

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

家装知识(六)

Microsoft Word - _m30.doc

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

untitled

epub 33-8

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C C

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Microsoft Word cppFinalSolution.doc

The golden pins of the PCI card can be oxidized after months or years

第七讲 继承与多态

Chapter12 Derived Classes

抬 高 子 贡 子 贡 非 常 气? 愤, 他 当 即 以 房 子 为 喻, 说 老 师 的 围 墙 高 十 数 丈, 屋 内 富 丽 堂 皇, 不 是 一 般 人 所 能 看 到 的 ; 而 自 己 不 过 只 有 肩 高 的 围 墙, 一 眼 就 可 望 尽 他 还 把 孔 子 比 作 太 阳

Microsoft Word - 全文.doc

本 次 培 训 是 由 北 森 生 涯 ( 北 京 ) 教 育 科 技 有 限 公 司 的 首 席 培 训 师 彭 勃 老 师 担 任 讲 师, 培 训 内 容 围 绕 着 职 业 生 涯 规 划 理 论 与 实 践 如 何 设 计 大 学 生 生 涯 规 划 课 程 多 元 化 生 涯 规 划 教

内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2

第2章 递归与分治策略

zyk00168ZW.PDF

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft Word - ACL chapter02-5ed.docx

C6_ppt.PDF

《计算概论》课程 第十九讲 C 程序设计语言应用

untitled

H5 H6 H10 H12 H F1 3 1 F H2 H

提问袁小兵:

ebook39-6

C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1

第7章-并行计算.ppt

C++ 程序设计 OJ4 - 参考答案 MASTER 2019 年 5 月 30 日 1

4. 介 紹 三 柱 河 內 塔 最 少 搬 動 次 數 的 計 算 遞 迴 關 係 式 終 止 條 件 hanoi_step(n) = 2 * hanoi_step(n-1) + 1 hanoi_step(1) = 1 5. 列 出 三 柱 河 內 塔 的 最 佳 搬 動 步 驟 遞 迴 關 係

C++ 程序设计 实验 1 - 参考答案 MASTER 2017 年 5 月 21 日 1

C

京佳公务员考试培训学院

迅速在两个含有大量数据的文件中寻找相同的数据

全国计算机技术与软件专业技术资格(水平)考试

untitled


华恒家庭网关方案

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ

Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

Microsoft Word - 第7章 类与对象.docx


Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式]

Microsoft Word - C-pgm-ws2010.doc

夫妻【谁】的基因决定了孩子【智力生男孩夫妻饮食吃什么

Microsoft Word - administrative-law-08.doc

Microsoft PowerPoint - plan06.ppt

D2 17/10 食 完 早 餐 去 中 山 陵 和 明 孝 陵, 灵 谷 寺 到 景 区 的 巴 士 : 游 1 游 2 游 路 ( 票 价 在 1-2 元 间 ) 三 个 地 点 中 间 凭 门 票 免 费 乘 坐 景 区 小 火 车 往 来 晚 上 有 力 气 的 话 去 夫 子

PowerPoint 演示文稿

CC213

Strings

chap07.key

数量关系部分题目溯源:

untitled

運算子多載 Operator Overloading

立 志 于 打 造 最 贴 近 考 生 实 际 的 辅 导 书 计 算 机 考 研 之 数 据 结 构 高 分 笔 记 率 辉 编 著 周 伟 张 浩 审 核 讨 论 群 :

<4D F736F F D20B3CCD0F2D4B12DC9CFCEE7CCE2A3AD3037C9CF>

e bug 0 x=0 y=5/x 0 Return 4 2

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Transcription:

智慧型系統控制 趙春棠老師 四技機電四甲 49422019 黃秉宏 井字遊戲並沒有什麼必勝的著法, 但只要適當的回應, 就可保持不敗 也 1 2 3 4 5 6 7 8 9 法則 手玩家的最佳著法其第一步最好下在四個角落 ( 即 2 4 6 8 號位置 ), 因為後手玩家除了下在中央的 5 號位置之外必敗 即使對手下了該位置, 只要回以馬步佈局或對角佈局也還有一半的勝算 先手玩家第一步的次佳選擇在 5 號位置, 因為後手玩家除了下在四個角落外必敗, 即使對手下了該位置, 只要再下在對手的另一個對角也還有三分之二的勝算 後手玩家的第一步, 如果 5 號位置是空的則選擇 5 號位置, 否則選擇在四個角落 只要掌握以上要領, 再針對當時情況稍微思考一下, 必可保持不敗 固因此我就依此原理來寫此小程式 具有智慧的電腦對手 頂多與他平手不可能贏電腦 意外發現到的網址 http://www.casperwang.idv.tw/archives/story_2/000020.html#more

#include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <iostream> using namespace std; char XY[3][3] = {{'1', '2', '3', {'4', '5', '6', {'7', '8', '9'; void show()// 顯示畫面 { int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) cout << XY[i][j] << " "; cout << endl; void judge()// 玩家的輸入位置判斷 { int position; cout << " 換玩家輸入 " ; cin >> position; if (position < 1 position > 9) cout << " 輸入錯誤 " << endl; int x = (position-1)/3, y = (position-1)%3; if (XY[x][y] == 'o' XY[x][y] == 'x'){ cout << " 選過了, 不要亂選!" << endl; else XY[x][y]='x';

cout<<" 換電腦輸入 "<<endl; void reset() { int i, j, ch = '1'; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) XY[i][j] = ch + i*3 + j; int _tmain(int argc, _TCHAR* argv[]) { //int select; cout << " 電腦優先按 "<< endl; //1, 玩家優先請按 " << endl; //cout << " 第位玩家是 o, 第位玩家是 x" << endl; //cout << " 請問由誰先下 :"; //cin >> select; //if (select==1){ char Q; Q='o'; cout << " 由電腦先輸入 : "<< endl; XY[1][1]=Q; // 狀態 if(xy[1][1]=='o'&& XY[0][1]=='x'){ if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][2]=='x'){

if(xy[2][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[2][2]=='x'){ else{ // 狀態 else if(xy[1][1]=='o'&& XY[1][2]=='x'){ if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][2]=='x'){ if(xy[1][0]=='x' XY[0][1]=='x'){

else if(xy[0][0]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ else{ // 狀態 else if(xy[1][1]=='o'&& XY[2][1]=='x'){ if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][2]=='x'){ if(xy[0][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[2][2]=='x'){

else{ // 狀態 else if(xy[1][1]=='o'&& XY[1][0]=='x'){ if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][2]=='x'){ if(xy[0][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){

else{ // 狀態 else if(xy[1][1]=='o'&& XY[0][2]=='x'){ //staic01 if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][1]=='x'){ if(xy[2][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[2][2]=='x'){ //staic02 else if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][0]=='x'){

if(xy[0][1]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ if(xy[1][0]=='x' && XY[1][1]=='o' && XY[1][2]=='o'){ cout<<" 雙方平手!!"<<endl; else{ //staic03 else if(xy[2][0]=='o' && XY[1][1]=='o' && XY[1][0]=='x'){ if(xy[0][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){

//staic04 else if(xy[2][0]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ if(xy[0][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[2][2]=='x'){ //staic05 else if(xy[2][0]=='o' && XY[1][1]=='o' && XY[2][2]=='x'){ if(xy[1][0]=='x' && XY[1][1]=='o' && XY[1][2]=='o'){

if(xy[0][1]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ cout<<" 雙方平手!!"<<endl; else{ //staic06 else if(xy[2][0]=='o' && XY[1][1]=='o' && XY[1][2]=='x'){ if(xy[0][1]=='x' XY[1][0]=='x'){ else if(xy[0][0]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){

// 狀態 else if(xy[1][1]=='o'&& XY[2][2]=='x'){ //staic01 if(xy[0][0]=='o' && XY[1][1]=='o' && XY[1][2]=='x'){ if(xy[1][0]=='x' XY[2][1]=='x'){ else if(xy[0][0]=='o' && XY[0][1]=='x' && XY[0][2]=='o'){ //staic02 else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[0][2]=='x'){ if(xy[1][0]=='x' && XY[1][1]=='o' && XY[1][2]=='o'){

if(xy[0][1]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ cout<<" 雙方平手!!"<<endl; else{ //staic03 else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[0][1]=='x'){ if(xy[1][2]=='x' XY[2][1]=='x'){ else if(xy[0][0]=='o' && XY[1][0]=='x' && XY[2][0]=='o'){

//staic04 else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[1][0]=='x'){ if(xy[2][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[0][1]=='x' && XY[0][2]=='o'){ //staic05 else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[2][0]=='x'){ if(xy[0][1]=='x' && XY[1][1]=='o' && XY[2][1]=='o'){ if(xy[1][0]=='o' && XY[1][1]=='o' && XY[1][2]=='x'){

cout<<" 雙方平手!!"<<endl; else{ //staic06 else if(xy[0][0]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ if(xy[0][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[1][0]=='x' && XY[2][0]=='o'){

// 狀態 else if(xy[1][1]=='o'&& XY[2][0]=='x'){ //staic01 if(xy[2][1]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ if(xy[0][1]=='x' XY[1][0]=='x'){ else if(xy[0][2]=='o' && XY[1][2]=='x' && XY[2][2]=='o'){ //staic02 else if(xy[2][2]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ if(xy[0][1]=='x' && XY[1][1]=='o' && XY[2][1]=='o'){

if(xy[1][0]=='x' && XY[1][1]=='o' && XY[1][2]=='o'){ cout<<" 雙方平手!!"<<endl; else{ //staic03 else if(xy[1][2]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ if(xy[2][1]=='x' XY[1][0]=='x'){ else if(xy[0][0]=='o' && XY[0][1]=='x' && XY[0][2]=='o'){

//staic04 else if(xy[0][1]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ if(xy[2][1]=='x' XY[1][0]=='x'){ else if(xy[0][2]=='o' && XY[1][2]=='x' && XY[2][2]=='o'){ //staic05 else if(xy[0][0]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ if(xy[1][0]=='o' && XY[1][1]=='o' && XY[1][2]=='x'){ if(xy[0][1]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ cout<<" 雙方平手!!"<<endl;

else{ //staic06 else if(xy[1][0]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ if(xy[2][1]=='x' XY[1][2]=='x'){ else if(xy[0][0]=='o' && XY[0][1]=='x' && XY[0][2]=='o'){ // 狀態

else if(xy[1][1]=='o'&& XY[0][0]=='x'){ //staic01 if(xy[1][0]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ if(xy[0][1]=='x' XY[1][2]=='x'){ else if(xy[2][0]=='o' && XY[1][1]=='o' && XY[0][2]=='x'){ //staic02 else if(xy[2][0]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ if(xy[1][0]=='o' && XY[1][1]=='o' && XY[1][2]=='x'){ if(xy[0][1]=='x' && XY[1][1]=='o' && XY[2][1]=='o'){

cout<<" 雙方平手!!"<<endl; else{ //staic03 else if(xy[2][1]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ if(xy[0][1]=='x' XY[1][0]=='x'){ else if(xy[0][2]=='o' && XY[1][1]=='o' && XY[2][0]=='x'){ //staic04

else if(xy[1][2]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ if(xy[0][1]=='x' XY[1][0]=='x'){ else if(xy[0][2]=='x' && XY[1][1]=='o' && XY[2][0]=='o'){ //staic05 else if(xy[0][2]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ if(xy[0][1]=='o' && XY[1][1]=='o' && XY[2][1]=='x'){ if(xy[1][0]=='x' && XY[1][1]=='o' && XY[1][2]=='o'){ cout<<" 雙方平手!!"<<endl; else{

//staic06 else if(xy[0][1]=='x' && XY[1][1]=='o' && XY[2][2]=='o'){ if(xy[2][1]=='x' XY[1][0]=='x'){ else if(xy[2][0]=='x' && XY[1][1]=='o' && XY[0][2]=='o'){ //

/* else{ cout << " 由玩家先輸入 : "<< endl; cout<<" 未完成設計, 敬請期待 "<<endl; return 0; */