フリーセル for OSASK version 1.0 (2009/02/21公開版)
右上の場所にカードを収納していく一人用カードゲームのOSASK版です。
- ゲームプレイ動画 by 「ニコニコ外部プレーヤー」
- ゲーム画面(※一部のスクリーンショットは作成中の物であり、公開版と違う場合があります)
|
メニューや擬似ウィンドウ、アニメなどの処理を実装し完成したフリーセル画面 (2009/02/21) |
|
選択中は列(束)移動が可能なカードも一緒に反転されるようにしてみたフリーセル画面 (2008/02/29) |
|
カードの数字の部分のデザインを変更したフリーセル画面 (2008/02/28) |
|
右クリックで重なったカードが確認できるようになったフリーセル画面 (2007/11/19) |
- 更新履歴
- 2009/11/16
プレイ動画をこのページで試聴できるようにしてみた。
- 2009/01/25
面倒になったので最初から作り直すことにした。
- 2008/02/29
選択中に反転表示されるカードを列(束)移動が可能なカード全てを対象にしてみた。
これは良いかも知れない。けど、人によって好き嫌いがありそうなので実装するならどうするか選択できるようにした方が良さそうだ。
- 2008/02/28
hideyosiさんの許可をもらい(リンク先のコメント欄参照)、トランプ上の数字のデザインを(できるだけ高解像度環境でも見やすいように)変更してみた。
赤の暗い色が黒に見えたりするのでまた改良の余地あり。16色環境では減色された明るい色になるけど・・・w
- 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のようにファンクションキーを使うことができないため、CTRLキーと同時押しする必要があります。
割り当てるキーは固定しないで任意に割り当てられるようにするべきだろうか。
キー割り当て一覧表 |
Windows付属 | OSASK版 | 操作/意味 |
F1 | - | ヘルプを開く |
F2 | CTRL+F2 | ランダムなゲーム番号で新規開始 |
F3 | CTRL+F3 | ゲーム番号を指定して新規開始 |
F4 | CTRL+F4 | 成績を表示する |
F5 | CTRL+F5 | オプション設定 |
F10 | CTRL+F10 | アンドゥ機能(1回だけ元に戻す) |
Alt+F4 | Alt+F4 F12 | ゲームの終了 |
Alt+G | ゲームメニュー表示 |
Alt+H | ヘルプメニュー表示 |
1~8 | 左からn列目の一番下にあるカードの選択 列のカードを確認する 選択中のカードを左からn列目の一番下に置く |
9 | 選択中のカードをホームセルへ移動 |
0 | 選択中のカードをフリーセルへ移動 フリーセルにあるカードを左から順番に選択 |
- マウスでの操作方法
マウスでの操作は基本的にWindows付属のものとほぼ同じです。
マウス操作一覧 |
Windows付属 | OSASK版 | 操作/意味 |
カードを左クリック | カードの選択/解除 選択中のカードをクリックした場所に置く |
カードを右クリック | その隠れて見えないカードを手前に表示する |
カードをダブルクリック | そのカードをフリーセルに移動させる |
- 成績システム
Windows版と同じように勝敗などを表示できます。
今後収録する可能性があるトランプのカードを使ったゲーム
- クロンダイク
- Windowsではソリティアという名称でおなじみのゲーム。
- ブラックジャック
- 2~9の数字と絵札(10)とエース(11)の数字を足して21以下で相手より大きく、より21に近づけるゲーム。
- スピード
- 相手と自分のカードから のどちらかと隣り合う数字のカードをより速く出していくゲーム。
- ビデオポーカー
- 最初に5枚配られその中から1セットだけカードを交換し、役の成立を目指す1人用ゲーム。
大体のビデオポーカーには、ダブルアップと呼ばれる掛け金が倍増していくゲームがセットになっている。
(順序は優先度が高い順)
こめんと欄
ご意見やご感想、ご批判など、お気軽にどうぞ。
ただし、英字のみの文章は投稿が拒否される場合がありますのでご注意下さい。