ここから本文です

続:今度こそ

tekitoukさん

2013/1/1415:20:10

続:今度こそ

今度こそ完成したと思います。

もしバグがあるようでしたら教えて下さい!
確認出来ない場合も教えて下さい!

My知恵袋からDLできます!

補足ありがとうございます!

先ほど実戦に初めていったのですが、みんな結構強かったです。

きつい点としては

・30秒でPCとスマホの入力を成功させるのは慣れないと難しい。特にアイテムを相手が持っていた場合
・意外とみんな強い。相手が選んだ数字の運がいいと負け濃厚になる。(それともPCの戦略が甘いのかよくわからない)

これらはどうすればいいでしょうか・・・

閲覧数:
424
回答数:
1

違反報告

ベストアンサーに選ばれた回答

buy********さん

編集あり2013/1/1417:02:59

>cafelate911さん

おめでとうございます。

コンパイルした時のワーニング貼っておきます。
ヘッダーファイルに4ー5行挿入してるので、その分はそちらのソースと行数にずれがあると思います。

Numer0n12.C: In function 'int sub(int, int, int, int, int)':
Numer0n12.C:163:8: warning: unused variable 'm' [-Wunused-variable]
Numer0n12.C: In function 'int MINTURN(int, int)':
Numer0n12.C:292:12: warning: unused variable 'm' [-Wunused-variable]
Numer0n12.C:292:18: warning: unused variable 'i1' [-Wunused-variable]
Numer0n12.C:292:21: warning: unused variable 'i2' [-Wunused-variable]
Numer0n12.C: In function 'int TARGET(int)':
Numer0n12.C:512:14: warning: unused variable 'i1' [-Wunused-variable]
Numer0n12.C:512:17: warning: unused variable 'm' [-Wunused-variable]
Numer0n12.C: In function 'int itemSearch(int, int, int)':
Numer0n12.C:602:6: warning: unused variable 'i' [-Wunused-variable]
Numer0n12.C:602:8: warning: unused variable 'j' [-Wunused-variable]
Numer0n12.C:602:10: warning: unused variable 'k' [-Wunused-variable]
Numer0n12.C:602:16: warning: unused variable 'l' [-Wunused-variable]
Numer0n12.C:603:6: warning: unused variable 'HLHITMAX' [-Wunused-variable]
Numer0n12.C:604:6: warning: unused variable 'TAHITMAX' [-Wunused-variable]
Numer0n12.C:605:6: warning: unused variable 'SLHITMAX' [-Wunused-variable]
Numer0n12.C:606:6: warning: unused variable 'MINnum' [-Wunused-variable]
Numer0n12.C:607:6: warning: unused variable 'index' [-Wunused-variable]
Numer0n12.C: In function 'void CHANGErireki(int)':
Numer0n12.C:1139:6: warning: variable 'tt' set but not used [-Wunused-but-set-variable]


*** diffというツールで、前回ご質問のときにダウンロードさせていただいたバージョンと比較しました。
diffというツールがあって、ファイルの差分を表示できるソフトがあります。
それで差をみてみました。
かなりいろいろなところを修正されておられるのがわかりました。


*** 今後も継続してかなり修正、改良される予定であればテストも自動化した方が良いと思います。
前も書きましたが、テスト半自動化するソフトを検討された方が良いと思います。

このソフト自体に組み込んでも良いですし(こないだ紹介したテスト用のプログラム)、他のテストプログラムで走らせて、結果みるのも良いと思います。

テストで、人間のかわりに、入力していってくれる有名なソフトとして、expectというのがあります。

http://expect.sourceforge.net/

Windowsバージョンもダウンロードできます。

***こちらで行なったテストについて
1回目のターンでCHANGE 2桁目を試しました。上手く動いているようです。
その後5ターン目に正解しました。こちらの設定した答は013でした。



***補足分について
今思いつくのは以下です。
+++ 速度に関して
数字の組み合わせが少ないときもかなり待ち時間あります。 => かなり効率化して速度アップできるはず。

+++ 勝敗について
アイテムカードを頻繁に使えるのであれば、アイテムカードはかなり有効なはずなので、
アイテムカードの使い方を研究する。

+++ 人間だとランダムじゃなく癖があるはずなので、
入力の履歴があるていどわかるのであれば、入力の癖を研究したら、勝率あがるかもしれません。


+++ テストの自動化
プログラムが、かなり大きくなってきていて、複雑になってます。
一箇所修正すると、今迄できてたことができなくなっていたり、思わぬ挙動になる可能性がたかくなってきてると思います。
テストを自動化するようにした方が良いと思います。こないだのマクロ使った、テストツールを使って、テストコード書いて、簡単にテストできるようにした方が良いと思います。
私がテストしてるのは、1回のゲームがせいぜいで、動作確認のテストとしては不十分です。とても、いろいろな組み合わせのテストを手作業で行なえていないので、テストを自動化した方が良いと思います。

*** スマホで対戦したときのデータ。
対戦して、特に負けたときのデータを上の自動化テストで使えるようにしてテストするのが良いと思います。
少なくとも、記録して残しておいた方が良いと思います。

*** こちらの答も入れて、こちらが危なくなってるか調べて戦略変更
今は最高に運が悪いときを想定して質問を出すようにしてます。
こちらが次に当てられると決まってるときも同じ考えかたになってます。
次に当てられると決まってるときには、アイテム使うか、答候補以外の質問をするように指示されても、答候補のなかから質問した方が良いと思います。


よろしくお願い致します。

質問した人からのコメント

2013/1/14 17:13:22

降参 本当にありがとうございます

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる