* トランプゲーム集 for OSASK OSASKでもトランプゲームを遊びたい!だから作る!みたいな(笑)。~ 現在フリーセルを完成させるべく徐々に実装中。 -タイトル画面(※画面はハメコミ合成です。配布版はタイトル文字が入ります) |#ref(cardtitle.png)| |タイトル画面| -メニュー画面 --ゲームセレクト(※画面は開発中の物です) |#ref(cardmenu1.png)| |トップメニュー| -ゲーム画面 --フリーセル(※画面は開発中の物です) |#ref(ssfreecell_20071119.png)| |右クリックで重なったカードが確認できるようになったフリーセル画面 (2007/11/19)| ~ |#ref(ssfreecell_20071118_.png)| |カードが画面外にはみ出してしまったフリーセル画面(実機) (2007/11/18)| ~ |#ref(ssfreecell_20071113.png)| |マウス操作が可能になったフリーセル画面 (2007/11/13)| ~ |#ref(ssfreecell_20071112.png)| |もとにプレイできるようになったフリーセル画面 (2007/11/12)| ~ --クロンダイク(※画面はハメコミ合成です) |#ref(cardsampl.png)| |クロンダイク(400x280)仮レイアウト| ** フリーセル [#freecell] -更新履歴 --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のようにファンクションキーを使うことができないため、別のキーを割り当てる必要がある。~ 割り当てるキーは固定しないで任意に割り当てられるようにするべきだろうか。 |>|>|キー割り当て一覧表| |LEFT:Windows付属|LEFT:OSASK版案|LEFT:操作/意味| |F1|-|LEFT:ヘルプを開く| |F2|-|LEFT:ランダムなゲーム番号で新規開始| |F3|-|LEFT:ゲーム番号を指定して新規開始| |F4|-|LEFT:成績を表示する| |F5|-|LEFT:オプション設定| |F10|¥|LEFT:アンドゥ機能(1回だけ元に戻す)| |Alt+F4||LEFT:ゲームの終了(トップメニューに戻る)| |Alt+G|ESC|LEFT:ゲームメニュー表示| |1~8|1~8|LEFT:左からn列目の一番下にあるカードの選択&br;列のカードをチェックする&br;選択中のカードを左からn列目の一番下に置く| |9|9,T|LEFT:選択中のカードをホームセルへ移動| |0|0|LEFT:選択中のカードをフリーセルへ移動&br;フリーセルにあるカードを左から順番に選択| |-|Q,W,E,R|LEFT:フリーセルの左から1~4番目のカードの選択&br;選択中のカードを1~4番目に置く| ~ -マウスでの操作方法~ とりあえずここは普通に実装すればよさそうだ。~ |>|>|マウス操作一覧| |LEFT:Windows付属|LEFT:OSASK版(案)|LEFT:操作/意味| |>|RIGHT:カードを左クリック|LEFT:カードの選択/解除&br;選択中のカードをクリックした場所に置く| |>|RIGHT:カードを右クリック|LEFT:その隠れて見えないカードを手前に表示する| |LEFT:カードをダブルクリック||LEFT:そのカードをフリーセルに移動させる| |-|LEFT:カード以外を右クリック|LEFT:ゲームメニュー表示| ~ -パッドでの操作方法~ これは主にTOWNSPADを想定しているがとりあえずマウス操作のエミュレーションでいいかな。~ それとも家庭用ゲーム機のそれみたいにダイレクトにカード選択/移動できるようにするべきだろうか。~ |>|>|パッド操作一覧| |LEFT:Windows付属|LEFT:OSASK版(案)|LEFT:操作/意味| |-|LEFT:カーソルキー|LEFT:マウスカーソル移動| |~|LEFT:Aボタン|LEFT:左クリック| |~|LEFT:Bボタン|LEFT:右クリック| |~|LEFT:RUNボタン|LEFT:ゲームメニュー表示| |~|LEFT:SELECTボタン|-| ~ -成績システム~ Windows版は今回の勝敗と累計での勝敗数と連勝・連敗数を表示するようになっているようだ。~ ** 収録予定のトランプを使ったゲーム -フリーセル --Windowsでもおなじみ。 -クロンダイク --Windowsではソリティアというアプリ名。 -ブラックジャック --2~9の数字と絵札(10)とエース(11)の数字を足して21以下で相手より大きく、より21に近づけるゲーム。 -スピード --相手と自分のカードから のどちらかと隣り合う数字のカードをより速く出していくゲーム。 //-ポーカー //--ランダムに配られる5枚の中から交換を繰り返して他のプレイヤーより高い役の成立を目指すゲーム。 -ビデオポーカー --最初に5枚配られその中から1セットだけカードを交換し、役の成立を目指す1人用ゲーム。~ 大体のビデオポーカーには、ダブルアップと呼ばれる掛け金が倍増していくゲームがセットになっている。 (順序は優先度が高い順) ** こめんととか欄 [#commentarea] なんでもどうぞーw ---- #comment