sixteen 2024/01/01 18:59

「詰み状態」を意図的に作れるボタンを作りました

明けましておめでとうございます。
本年もどうぞよろしくお願いいたします。

現在のお仕事先で比較的長めのお休みをいただけたので、
開発の時間に充てておりました。

いつも通りまだまだ地道な作業が続いており、
地味な報告が続いておりますが、今回も進捗をご報告させていただきます。

詰み状態を作れるようにしました

今回作っている「トライピークス」というルールのソリティアでは、
詰み状態を作るときに「山札のカードを空にして、取れるカードがない状態にする」
という操作をする必要があるのですが、
毎回山札をタッチしてカードを空にするのはとても面倒なので、
デバッグ用のボタンで、意図的に詰みの状態にするボタンを作成しました。

詰んだ後、ボタンを選べるようになっているのですが、
「同じパターンで再挑戦」を選ぶと、
今のパターンで最初からの状態に、
「違うパターンで再挑戦」を選ぶと、
山札をシャッフルして別のパターンの状態にして、
それぞれ仕切り直しができるようにしてみました。

今挑戦しているレベルが高い!と感じたら、
「難易度を変える」を選ぶと難易度の選択画面に移動、
「ゲームをやめる」を選ぶと最初の画面に移動、
と、画面の切り替えもできるようにしました。

今まで詰みになったらどうしようもなくなってしまっていたので、
これでゲームの進行が一通りできるようになりました。

今月実装したいもの

ゲームの進行はできるようになったのですが、
もう少し時間を掛けてきちんと実装しておきたい機能があります。
それが、詰み状態になったときに、
「今まで取ったカードの枚数はそのままにして仕切り直す」
という機能です。

詰みになったときの最上段のボタンの
「仕切り直す」
というボタンを押すと、
「場に残っているカードはそのままに、
今まで取ったカードを1枚残して山札にして再スタート」
という機能を実装したいと思っています。
なぜそうしたいのかを少し、お話させていただければと思います。

頑張ったのにまた最初からは正直しんどい

わたしがソリティアをプレイしていて昔から感じていたことなのですが、
「途中まで頑張ったのに、また最初からやるの?ほんとに?」
「あと1枚だったのにー!」みたいになることが多く、
途中までの頑張りはゲーム側でちゃんと認めるべきじゃないかな?
ここまで取ったカードは成果として残すべきなんじゃないのかな?
と感じていました。

今回はせっかく自分で開発しているので、
少し時間を掛けてでもちゃんと実装してみようと思っています。

そこそこ時間がかかりそう

とはいったものの、
元々「途中で切り上げる」ということを想定したデータ構造にはしていなかったので、
プログラムの根本の部分にそこそこ大きく手を入れることとなってしまいました。

とりあえずゲーム部分がちゃんと動くようにするという、
最低限の構成にしていたので、
それなりに影響範囲が大きく、
従来の機能を担保しながら追加実装をしていく、
という進め方になりそうです。

地味な画面が続く更新がさらに伸びてしまいますが、
ご容赦頂けますと幸いです。


最後まで読んでくださいましてありがとうございます。
改めまして本年もどうぞよろしくお願いいたします。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索