トランプゲーム集 for OSASK
OSASKでもトランプゲームを遊びたい!だから作る!みたいな(笑)。
現在フリーセルを完成させるべく徐々に実装中。
- タイトル画面(※画面はハメコミ合成です。配布版はタイトル文字が入ります)
- ゲーム画面
- フリーセル(※画面は開発中の物です)
|
メニューとかは大体こんな感じになる予定なフリーセル画面 (2007/11/23) |
|
Windows付属のフリーセルでもはみ出るみたいだけど、縦の大きさは可変だから大丈夫 (2007/11/23) |
|
右クリックで重なったカードが確認できるようになったフリーセル画面 (2007/11/19) |
|
カードが画面外にはみ出してしまったフリーセル画面(実機) (2007/11/18) |
- クロンダイク(※画面はハメコミ合成です)
フリーセル
- 更新履歴
- 2007/12/09
ホームセルの自動的な移動を実装した。
これであとは列(束)の移動を実装できればWindowsのそれと同じスタイルで遊ぶことができるようになる・・・
(スクリーンショットは更新なしです)
- 2007/11/23
ゲーム中のメニュー操作だけ実装してみた。大体はこんな感じになりそう。
19日のメモの「ホームセルの中で一番小さい数でなければならない。」は関係無かったみたい。
そろそろプレイ可能なテストバージョンでも出したいなぁ・・・。11月中に公開したいなぁ。
しかし、Windows付属のものと比較するとウィンドウが小さい分、見づらいなぁ。カードの数字の幅を太くしてやればいいのかな。
- あと実装するべきもののメモ
・ホームセルへの自動的な移動処理
・フリーセルを利用した連続するカード(束)の移動処理
・ゲームオーバーとゲームクリアの処理
・無制限アンドゥ処理
・ゲーム番号入力ウィンドウ
・オプションウィンドウ
・カードの重なり具合の調整
・成績表ウィンドウ
・キーコンフィグウィンドウ
・フルスクリーンまたはウィンドウ拡大
・中断/リプレイ記録データのファイル保存
- 2007/11/19
右クリックで重なって見えないカードを確認できるようになった。ついでに、カード以外の場所の右クリックにメニューを開くことにした(キーボードはESCキーの予定)。
しかし自動的なホームセルへの移動が無く、数枚のカードの列(束?)がフリーセルを自動的に使って移動させることができないのは、何とも面倒・・・。
実機でテストしていたとき偶然にも画面外にはみ出るほど列を作ることができてしまった。これはどう対処するべきだろうか・・・。
数十回プレイしてWindows付属のフリーセルの自動的なホームセルへの移動について分かった(つもり)。以下メモなのでどうでもいい人は読み飛ばしちゃってください。
- Windows付属のフリーセルの自動的なホームセルへの移動の仕様についてのメモ
「Aは強制的に移動、2は対応するAがあれば移動、3以上の場合はそのカードの異なる色の数が1少ないカードが両方ともホームセル上にあり、ホームセルの中で一番小さい数のカードでなければならない。」
言葉にすると間違っているような気がしないでもないけどたぶんこんな感じだと思う。
- アンドゥ(「元に戻す」)機能の実装についてのメモ
移動元と移動先、そして自動移動フラグがあればいいだろう。列のトップしか移動できないため、移動元/移動先はフリーセル4+ホームセル4+列のトップ8の16ヶ所なので4bit×2と自動移動フラグ(自動的な移動、列の束移動なども含める)1bitの合計9ビット(=2バイト)でいいか。
ひとつの手順で数枚移動することもあるのでそれも配慮している。次の手を打ったときにバッファ(のポインタ)をクリアして記録し、アンドゥするときに最後の手順から移動元/移動先を逆にして移動させていけば元に戻せる(クリアしなければバッファが許す限り元に戻していけるし後で手順の確認もできるだろう)。
バッファ(のポインタ)を手を打つたびにクリアするなら、自動移動フラグも必要ないか。
- 2007/11/13
マウス操作を実装したことでやっとWindows付属のものに近い操作が可能になった。
次は必要ないカードのホームセルへ自動的に移動する機能だけど・・・、具体的にどうすればいいのだろう。
ホームセルにあるカードの中で一番数が小さいカードの数+2くらいまでは自動的に移動させて良いのだろうか?
(Windows付属のやつの仕様が良く分かってない。ゲーム開始直後の状況で♠2の上に♠Aが重なっている列の♠2を移動させた瞬間に♠Aも♠2も自動的にホームセルに移動してしまうようですし。)
- 2007/11/12
ホームセルへの移動やフリーセルにあるカードの選択や移動などを一通り実装した。
これでとりあえずゲームはプレイできるようになった。
自動的にカードをホームセルへ移動させることや何枚かのカードの列を移動させることはまだ出来ないので微妙に操作が面倒ですが。
- 2007/11/09
Windowsのフリーセルの仕様をもとにカードの色反転とタイトルバーを変更するようにした。
列のカードの選択("1"~"8"キー)のキーボード操作を実装した。
が、カードが移動可能かの判定をまだ実装していないためまだ選択しかできないし列のカードを表示することもできない。
- 2007/11/06
実装するにあたって各種仕様案を追加しました。
- 2007/11/05
微妙なバグを修正できた。
次はルールの実装とカード等操作だな。
操作はWindows付属アプリとどの程度互換があればいいのだろう。
キーボード操作とか細かなマウス操作とかも実装してみるか・・・(まだ先の話)。
- 2007/11/03
とりあえずフリーセルを先に実装することにした。
配列と乱数を初期化して試しに画面表示してみた。
けど、微妙にバグがある。
※画面はゲーム番号"#30003"(バグが無ければね)のもの。
- キーボードでの操作方法
OSASKではWindowsのようにファンクションキーを使うことができないため、別のキーを割り当てる必要がある。
割り当てるキーは固定しないで任意に割り当てられるようにするべきだろうか。
キー割り当て一覧表 |
Windows付属 | OSASK版案 | 操作/意味 |
F1 | - | ヘルプを開く |
F2 | - | ランダムなゲーム番号で新規開始 |
F3 | - | ゲーム番号を指定して新規開始 |
F4 | - | 成績を表示する |
F5 | - | オプション設定 |
F10 | ¥ | アンドゥ機能(1回だけ元に戻す) |
Alt+F4 | | ゲームの終了(トップメニューに戻る) |
Alt+G | ESC | ゲームメニュー表示 |
1~8 | 1~8 | 左からn列目の一番下にあるカードの選択 列のカードをチェックする 選択中のカードを左からn列目の一番下に置く |
9 | 9,T | 選択中のカードをホームセルへ移動 |
0 | 0 | 選択中のカードをフリーセルへ移動 フリーセルにあるカードを左から順番に選択 |
- | Q,W,E,R | フリーセルの左から1~4番目のカードの選択 選択中のカードを1~4番目に置く |
- マウスでの操作方法
とりあえずここは普通に実装すればよさそうだ。
マウス操作一覧 |
Windows付属 | OSASK版(案) | 操作/意味 |
カードを左クリック | カードの選択/解除 選択中のカードをクリックした場所に置く |
カードを右クリック | その隠れて見えないカードを手前に表示する |
カードをダブルクリック | | そのカードをフリーセルに移動させる |
- | カード以外を右クリック | ゲームメニュー表示 |
- パッドでの操作方法
これは主にTOWNSPADを想定しているがとりあえずマウス操作のエミュレーションでいいかな。
それとも家庭用ゲーム機のそれみたいにダイレクトにカード選択/移動できるようにするべきだろうか。
パッド操作一覧 |
Windows付属 | OSASK版(案) | 操作/意味 |
- | カーソルキー | マウスカーソル移動 |
Aボタン | 左クリック |
Bボタン | 右クリック |
RUNボタン | ゲームメニュー表示 |
SELECTボタン | - |
- 成績システム
Windows版は今回の勝敗と累計での勝敗数と連勝・連敗数を表示するようになっているようだ。
収録予定のトランプを使ったゲーム
- フリーセル
- クロンダイク
- ブラックジャック
- 2~9の数字と絵札(10)とエース(11)の数字を足して21以下で相手より大きく、より21に近づけるゲーム。
- スピード
- 相手と自分のカードから のどちらかと隣り合う数字のカードをより速く出していくゲーム。
- ビデオポーカー
- 最初に5枚配られその中から1セットだけカードを交換し、役の成立を目指す1人用ゲーム。
大体のビデオポーカーには、ダブルアップと呼ばれる掛け金が倍増していくゲームがセットになっている。
(順序は優先度が高い順)
こめんととか欄
なんでもどうぞーw