ポーカーの一部ストレート役が成立しない
ついでにもう一つ、簡単に直りそうな不具合を見つけたのでお知らせしておきます。
5エースの判定条件(bldg.c 658行目)が5カード成立時に1枚目の数字が0(Aに対応)または2枚目の数字が0となっています。 これは(A)(A)(A)(A)(JOKER)の組み合わせなら、1枚目がJOKERの場合でも少なくとも2枚目までにはAがあるはずと考えての実装だと思われます。 しかしながら、カードの数字を判別するNUM_OF(card) は単にcard%13 なので4枚のA(0,13,26,39)に加えてJOKER(52) も0を返すはずですので、 正しくAを判別するには !IS_JOKER(card) を併用しないといけません。 結果として、(6)(JOKER)(6)(6)(6) のようにAの5カードでなくても並び順で1枚目か2枚目がJOKERだと5エースと判定されることになっているはずです。 (オッズ400倍の5カードのうち40%がオッズ3000倍の5エースに化けるのでかなりお得な不具合となっております)
JOKERもAもNUM_OF(card) で0を返すことを逆手に取って、658行目の || を && に変えてしまうと直るはずです。
早々にありがとうございます。併せて直してみます。
先にストレートの問題だけ修正。
ファイブエースの問題も修正しました。もう少しテストしてからチケットも閉じます。ご協力ありがとうございました。
他のチケットでも具体的なソース修正含め、的確なご意見をくださっている方(あるいは方々?)と思われます。感謝の念に堪えません。 もし今後とも協力していただける余地に加え、時間等余裕などがありましたら、 IRCの「#ぐりっどばぐ」などにもお越し下さって、ご教唆いただけると幸いです。つくづく厚かましい話ですがご検討ください。
deskull への返信
ファイブエースの問題も修正しました。もう少しテストしてからチケットも閉じます。ご協力ありがとうございました。 他のチケットでも具体的なソース修正含め、的確なご意見をくださっている方(あるいは方々?)と思われます。感謝の念に堪えません。 もし今後とも協力していただける余地に加え、時間等余裕などがありましたら、 IRCの「#ぐりっどばぐ」などにもお越し下さって、ご教唆いただけると幸いです。つくづく厚かましい話ですがご検討ください。
ご教唆でなくご教示です。つくづく失敬しました。
すみません、まだちょっと問題が残っているように思われます。
551行目でjoker_is_used が使われた後にリセットされていないので、lowest が0のとき569行目でjokerが働きません。 つまり、今度はA234(Joker) のような場合が認識できなくなっている気がします。
あと558-565行目の10JQK(joker)の処理は無くても568行目以降でlowestが9の場合に問題なく成立するはずです(存在しない13番カードの代わりにjoker)。
スキルも根気もないので継続的にお役に立てることはないと思いますが、 こういったお話にはIRC の方が便利なのでしょうか?
説明を見る限り一般プレイヤーが行ってもいい場所のようですので、機会があれば一度遊びに行かせて頂こうかと存じます。
ありがとうございます。一旦差し戻し、エンバグと最適化済ませてから再度完了とします。
IRCですと何か気づいた点やアイデアをよりリアルタイムで交換し合えますので便利です。最近は特に、チャンネルで交わした意見をここのフォーラムやチケットにまとめ直すことも頻繁に行っていますので、両方扱っていければと思います。是非おいでください。
問題なさそうなので完了にする。
http://jbbs.shitaraba.net/bbs/read.cgi/game/9358/1498888015/460 某所より
といううんちくを頂き、流石にアレなので確認の上直す。