JBTALKS.CC
标题:
tic tae toe问题
[打印本页]
作者:
kuang
时间:
2010-10-22 09:06 AM
标题:
tic tae toe问题
想问以上coding,要电脑自己generate random number可是不要重复选已经选过的号码要怎样呢?
还有playerTurn有什么用?我看了很久还是找不到方法,大家有什么高见?
作者:
shippo
时间:
2010-10-22 04:23 PM
一开始playerturn 是1,到他时变为2.
走对了不变,停止loop;
走错了变为1,继续loop;
把generate的号码放进array里,每次generate比对array 里的号码,
如果有一样的就loop再generate,如果是新的号码就放进array 里。
作者:
宅男-兜着走
时间:
2010-10-22 06:14 PM
Console Tic Tac Toe ? 。。。
Shippo 答案我赞同, 暂存 Array。
作者:
shippo
时间:
2010-10-22 07:38 PM
本帖最后由 shippo 于 2010-10-22 08:16 PM 编辑
应该是功课来的。
你的ai。。。。
还有应该写个function来检查array里有没填入xo。
还还有user 输入4的话,你何必那么麻烦搞那么多if else来检查 4==4 then change element 4-1 .
cin>>move;
if(notEmpty(move))
yourArray[move-1]='o';
复制代码
作者:
kuang
时间:
2010-10-22 07:43 PM
回复
4#
shippo
其实是拿网上的coding来研究,虽然听你讲了还是不大明白,可是会再去了解你在讲什么,谢谢啊
作者:
pohlee
时间:
2010-10-23 05:45 PM
虽然说tic tac toe只有9个格。。。可能性小可以一个一个写。。。但是写起来很长了。。。
这是我很久以前用的方法。。。虽然不是很完美。。。但是code 很短。。。
一来玩家选中间的话,电脑就random 随便一个地方。。。玩家不放中间电脑就选中间。。。
接下来每到电脑走就检查一次。。。
如果有两个一样的地方就“顶”
比如:
[0,0] [0,1] 或者 [1,2][2,2] 或者 [2,0][1,1] 是一样 就放 [0,2]
。。。 。。。 。。。
这样的话不管是X ,O 都能顶掉对方 或者 赢
作者:
Super-Tomato
时间:
2010-10-23 08:52 PM
看到那麽多個 if 可以說是要帮忙检查也是有心无力,如果要給你寫個五子棋游戏,那麽我看你應該會谢到掛吧
作者:
shippo
时间:
2010-10-23 09:43 PM
回复
6#
pohlee
对手放中间,电脑第一步random到edge那就必输了。。。。
单用if else比较,要达到完美至少要上百句code。。。。
如果不是新手,可以研究minimax来解决这类简单ai.
作者:
TSHsoft
时间:
2010-10-23 10:14 PM
我写过Tic Tac Toe有AI的,还有Checker和Othello (没有AI,只能做单机和网络对战)。
自己想自己写,比较有成就感~
作者:
宅男-兜着走
时间:
2010-10-23 10:41 PM
写一个, 放3粒 XO 过后, 突然放出个鬼脸吓人。
我想应该没多少挑战者能赢。
作者:
pohlee
时间:
2010-10-24 10:28 AM
回复
8#
shippo
哈哈。。。所以说不完美。。。因为没有策略可言。。。不过他是我想到最短又可行的方法。。。
欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/)
Powered by Discuz! X2.5