SSブログ

続431・何もありませんが, ... [覚え書き]

2018年12月9日(日)

何にもありません...

この週末はおでかけせず, 家で過ごしました.

raspberry piでのブラウジングも3ヶ月目になり
大分, なれてきました. その遅さに.

難を言えば, キリがないですが...

ふと, pythonで作成したゲームが入っていたので
ちょっと遊んでみることにしました.

メニューの一番上, 「flippy」っていうやつ
いわゆるオセロゲームです.
(商標らしいですね, オセロゲームっていうのは.
なので, 一般にはリバーシというらしいです.)

私, 自分で言うのもなんなのですが, とても弱いのです.
人相手だと, ほとんど勝てません.

ですが, python_gameのは, 弱すぎ.
どうしてこんなに弱いのか気になったので
プログラムソースをみてみたら, まず, 角の判定が間違っていました.
(※1)

どうりで角をとれるところでも関係なく手を進めてくると.

それを直すと, 一応, 角がとれる場面では角をとるようになりました.
(当たり前...ですけど)

あと, 「手がない」判定が少しおかしいようです.
が, これは修正していません. めったにおかしい挙動にはならないので.
(1回だけ, おかしい挙動をみました. 打てる箇所があるのに打てないと判断した)

さらにもうちょっと手の決める方法を直して
・端っこを優先
・端っこの端から3番めを優先 (これ必要なのか?)
・プレーヤーの1手先を読む
としたら, もうちょっとましな手を打つようになりました.
(※2)

もう1手先まで読むようにして, 直前に打ったところが
即ひっくり返されるような手は避けるようにしたところ,
角の取り合いをするくらいのゲームになり
3回に1回くらい, 負けるようになりました.

ちなみに, 読むといっても大したことではなく
もともとの評価の仕方が, 置けるところに総当たりで置いてみて
盤面がどうかわるか(自分のコマがいくつになるか)で
数が多くなる手を選ぶようになっていたので,
それにちょっと重み付けと, 相手の2手先まで評価するように
しただけなので, 大したことはできていませんが
しろーと相手ならちょうど良いかも.

時々負けるって言うくらい...

こんなこと始めてしまったため, あっという間に
時間が経っていました.

先ほどご飯がちょうど炊き上がったようですので
これから夜ご飯します.

では,
明日も穏やかな日になりますように.


----
ちなみに, 変更/修正したのは下記です.
※1 isOnCorner() という関数
※2 getComputerMove()という関数

コメント(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。