2007/05/06(日) [n年前の日記]
#2 [iappli] 特殊牌の扱いで悩む
今作ってるアプリには特殊牌という仕様があって、3個揃えると山牌の中から同じ図柄の牌を3つ取ってきて交換されるという。現実には存在しえない・コンピュータゲームでしか実現できない牌のせいか、困る場面が。山牌の中に同じ図柄が3つなかったらどうするんですか? とか。や、それを回避するために、山牌作成時にインチキしちゃうのですが。そんな仕様のためにこんなところでインチキしちゃっていいのかよてな気もするが、配牌直後に国士無双や四暗刻がCPUに来てます的極悪モロバレインチキでもないからまだマシなほうなのかしら。それはともかく、その特殊牌でツモしたいという要求が上がってきて悩んでしまったり。今現在は、牌を捨てた後に特殊牌が3つあるかの判定をして、そのときに牌を交換してるけど。山牌から一つ牌を取ってきたときに特殊牌が3つ揃ったかどうかの判定・牌の交換をしてしまうと、今までとは異なるタイミングで処理を行うことになり。ソレで問題は起きないのか。どうなのよ。てなあたりを以前描いたフローチャートを凝視しながら頭の中でシミュレーション中。
そもそも、牌を捨てた後ではなく、牌を取ってきたときに変化させたほうがいいのかな。あるいは、リーチ状態のときだけその処理を行うとか。…前者で良さそうだよな。…ホントにそうか? 捨てる前に牌が変化しちゃったら優しくなるとか嬉しくないとか苦情が出てこないか? だとすると、後者で対応したほうがいいか。しかしそれだと2箇所で牌交換処理を書かないと。そもそもそれで本当に問題は出ないのか?
前者で修正してみた。エンバグした。CPUのポンした牌が消滅する…。特殊牌変化時に手持ち牌をソートするから、その後捨てるべき牌を見失うのだな…。かといってそれは後者のやり方で修正したところで同じか。うーん。
そもそも、牌を捨てた後ではなく、牌を取ってきたときに変化させたほうがいいのかな。あるいは、リーチ状態のときだけその処理を行うとか。…前者で良さそうだよな。…ホントにそうか? 捨てる前に牌が変化しちゃったら優しくなるとか嬉しくないとか苦情が出てこないか? だとすると、後者で対応したほうがいいか。しかしそれだと2箇所で牌交換処理を書かないと。そもそもそれで本当に問題は出ないのか?
前者で修正してみた。エンバグした。CPUのポンした牌が消滅する…。特殊牌変化時に手持ち牌をソートするから、その後捨てるべき牌を見失うのだな…。かといってそれは後者のやり方で修正したところで同じか。うーん。
[ ツッコむ ]
以上です。