/*---------------------------------------------------------------------------------------------------------------------------
大富豪EX
・まえがき
これは、大富豪を模倣したゲームです。
開発環境はC言語で、LCPADというフリーソフトのエディタを使っています。
コンパイラは、LSI Japan社提供の「LSI C-86 試食版」を利用しています。
これで簡単にプログラムの開発ができます。
このコンパイラは、今現在(2009年)から約18年以上昔の物です。
フリーソフトであるため、誰でも作ろうと思えば作れます。
コンソールで、さらに昔のコンパイラでどれだけ大富豪のゲームを再現できるか
をコンセプトにしたものです。
そのため、WINDOWS.API(アプリ)や、winsockのヘッダとライブラリが存在せず、
画面の色はファイルのプロパティでしか変えられなかったり
(しかも初期画面だけなので更新されると変更前のデフォルトに戻る)、
ネットワーク的な処理もなければ、画像や音楽等も存在しません。
全て文字のみの描写となっています。あらかじめご了承下さい。
★みんなVisualStudioみたいだけど、俺はちがうぜ。
★LSI C-86という制約の多い16ビットCコンパイラで作った!
★VisualStudioとは比較にならないほど制限された環境下でここまで作った!
★組み込み系で培ったノウハウがあります。
★だから処理性能の低いハードウェアでの開発は慣れています。
★よってNDS、PSP、携帯電話などの開発も短期間で適応できると思います。
★更にコンパイルスイッチを変更すると、同じソースがVisualStudioでも
コンパイル可能になります。
★すなわち同じソースでクロスプラットフォームを実現!
★だから移植性に気を配ったソースが書けます!
★この経験が、ハードウェア間移植にも活かせると思います。
★コンパイルオプションやビルド環境の設定も自力でやりました!
★こんな風に、見た目は地味だけど実は凄いんです、このプログラム!
・もくじ
1.ゲーム
1−1.ゲーム中画面
1−2.表示内容解説
2.その他の設定
2−1.オプションについて
2−2.ルールについて
2−3.難易度
2−4.レコード
2−5.仕様
3.製作環境と制作者
1.ゲーム
1−1.ゲーム中画面
▼ゲーム中画面
d = dia / s = spade / h = heart / c = clover
J = Jack / Q = Queen / K = King / A = Ace
cpu1
1[? ??] 2[? ??] 3[ ] 4[? ??] 5[? ??]
place is [? 0]
>player1
+------+ +------+ +------+ +------+ +------+
| 5| | 10| | Q| | A| | |
| ^^ | | /\ | | c^ | | /\ | | |
| \/ | | ^^ | | u. | | \/ | | |
| 5 | |10 | | Q | | A | | |
+------+ +------+ +------+ +------+ +------+
[h 5] [s 10] [c Q] [d A] [ ]
Please put out cards of a number that is larger than the place.
if you want to pass, input 99.
if you want to exit, push Ctrl+c.
input sample ->d 3
->
|
===============================================================================================================================
1−2.表示内容解説
▲表示内容解説
Dはダイヤ、Sはスペード、Hはハート、Cはクローバーです。
Jはジャック(11)、Qはクイーン(12)、Kはキング(13)、Aはエース(14)です。
CPUが表示されます。複数人いると、その下に2,3・・・と増えていきます。
[? ??]は何か持っているということで、空白はもう出した意味を表します。番号は手札の枚数目を表しています。
場の状態を表します。[? 0]は何も出されていないことを示します。
プレイヤーの番になると、『>』が表示されます。
+------+ +------+ +------+ +------+ +------+
| 5| | 10| | Q| | A| | |
| ^^ | | /\ | | c^ | | /\ | | |
| \/ | | ^^ | | u. | | \/ | | |
| 5 | |10 | | Q | | A | | |
+------+ +------+ +------+ +------+ +------+
左からハートの5、スペードの10、クローバーの12、ダイヤのエース、何も無い(もう出した) です。
場より大きな数のカードを出して下さい。
パスしたい場合は99を入力しましょう。
止めたい場合は、Ctrlボタンを押しながらCボタンを押してください。
入力例⇒d 3
⇒(ここへ実際に入力します)
|
※マークと数字の間には半角空白を2個入れるのを忘れないで下さい。
10の時だけ、1個です。
2.その他の設定
2−1.オプションについて
・プレイ人数
CPUとのガチンコ、プレイヤー同士のガチンコ、CPU同士の観戦、ごちゃ混ぜ複数人プレイなど、
オプションによって何人でやるか決められます。
プレイヤーが一人ではない場合、カードの視覚化表示が省略されます。
・手持ちカード数
手持ちカード数も変動できます。
(ただし、全体でカードが52を超えるような設定はできません)
カードが5枚を超えると、カードの視覚化表示が省略され、カードが昇順(数の弱い順)にソートされます。
===============================================================================================================================
2−2.ルールについて
基本的には、出されたカードより大きい数のカードを出せばいいです。
マイナールールを少々取り込んでいます。
オプションによって以下のルールを有り/無しにできます。
------------------------------------------------------------------------------
■1.スタート
スタートはダイヤの3を持っている人から始まる。
誰も持っていない場合はプレイヤー1から始まる。
■2.8切り
8のカードを出したとき、場が強制的に流れる。
■3.最強カード
ジョーカーを除くもので最強のカードは、エースではなく2である。
(革命が起こると、3が最強になる)
■4.最高上がり不可
ラストの一枚が、2では上がれない。(負ける)
(革命が起こった場合は、3では上がれなくなる)
■5.縛り
場に出されたマークと同じマークのカードを出された場合、
それ以降は同じマークのカードでそれ以上強いカードしか出せなくなる。
ジョーカーは出せる。
■6.Jバック
ジャックを出されたターンだけ、強弱が反転する。
------------------------------------------------------------------------------
・以下は大富豪本来に付加されているメジャールールです。
今回のゲームには付加されていません。
■7.革命
同じ数のカードを4つ以上(ジョーカーを含めた時)出すと、
革命がおこり、強弱ルールが反転する。
これはもう一度行われると、強弱ルールが戻る。
■8.革命返し
革命を起こされた時、そのカードより低くて同じ数のカードを
4つ出すと、ルールが元に戻る。
------------------------------------------------------------------------------
・以下は大富豪本来に付加されているマイナールールです。
今回のゲームには付加されていません。
■9.ジョーカー殺し
ジョーカーを出された場合、スペードの3で返すことができる。
■10.ジョーカー反転
革命時のジョーカーは最弱になる。
■11.連枚出し
同じ数のカードを同時数枚出すことができ、相手はそれより大きい数で
同じ数だけのカードを出さなければいけない。
例として、6を2枚出されたなら、7以上のカードを2枚だけ出さなければならない。
■12.階段
連続した数のカードを持っていたら、一緒に出すことができる。
出されたカードの最高の数より大きい数で、出された枚数と同じだけの
数の連番を出さなければいけない。
例として、3,4,5と出されたら、6,7,8以上の連番カードを出さなければいけない。
■13.都落ち
連続でゲームをする場合、一番強い人は、最高位を保たなければいけない。
もし落ちた場合、最弱者がほしいカードを、手持ちカード内から渡さなければならない。
逆に、最弱者のいらないカードを渡されてしまう。
■14.ランク
数人でゲームを終えた場合、位がつく。
1位=超富豪
2位=大富豪
3位=富豪
:
4位=平民
:
順最下位=貧民
最下位=大貧民
===============================================================================================================================
2−3.難易度
△難易度
オプションにより任意に決めることができます。
Lv.1・・・『strong offence』・・・強いものから順に出していきます
Lv.2・・・『random shuffle』・・・配られた順に出していきます
Lv.3・・・『from small』・・・弱いものから順に出していきます
===============================================================================================================================
2−4.レコード
レコード
オプションから、今までの勝ち数と負け数を参照することができます。
試合終了時にも閲覧されます。
5秒待ちですが、何かキーボードを入力すると省略されます。
===============================================================================================================================
2−5.仕様
●仕様●
・vsCPU時負け挙動
⇒複数人で行う時、CPUが混じっていた場合は、CPU全員に勝たないと、
プレイヤー同士が残っていたとしてもCPU全員が上がった時点で、
試合負けとなります。
・表示内容が全部英語(ローマ字)
⇒開発環境LCPADの日本語表示が、WindowsOSのVistaに対応してないので、互換の為にローマ字表記しています。
・ファイル名や置いてるディレクトリの場所を変えたら実行できなくなった?
⇒開発環境の仕様の為、ディレクトリ名や実行ファイル名が半角8文字を超えたか、
一部の全角文字(漢字)を含んでいると実行できません。
Cドライブの直下に置くことをお勧めします。
・デバッグモード
⇒裏技として、ゲームをコマンドプロンプトから入力して実行する時、
1個目のオプションに『-o』を加えた場合、相手の手札内が見えるようになります。
2個目のオプションに『-d』を加えた場合、手札を配る途中の処理が見られるようになります。
3個目のオプションに『-u』を加えた場合、敵味方の5枚目に、2のカードを持たせます。
1個目、2個目を飛ばしたい場合、1個目や2個目には『-』(ハイフン)だけを入力して下さい。
・ゲーム自体が起動できない
⇒64bitOS互換に対応されていません。32bitOSにて起動して下さい。
3.製作環境と制作者
※製作環境※
CPAD for LSI C-86『LCPAD』
制作者
HAL名古屋 2年制2年
-----------------------------------------------------------------------------------------------------------------------------*/