■ルール■
「2~10,J,Q,K,A」の13種類の文字の書かれたトランプから2枚が出ます。
カードの強さは弱い方から,2~Aの順番です。
右のカードの方が左のカードよりも強いと思ったら「▲」,
右の方が弱いと思ったら「▼」をクリック。
正解なら勝ち,負けたらゲーム終了。
■キー操作一覧■
↑: ハイ・ロー選択時/ハイ,ゲームオーバー時/リトライ
↓: ハイ・ロー選択時/ロー,ゲームオーバー時/スタート画面に戻る
→: 次へ進む
※マウス左クリックでも操作可能
■このFlashについて■
PSとかのロープレのえせミニゲーム風なものw
学校の友達がC言語でハイ&ローゲーム作ってるのを見て,
無性に自分も作りたくなったので気の向くままに作ってみました。
とりあえず,ルールをもうちょっと練ってみようかなとか,
配点の仕方ももうちょっと何とかしたいなとか
適当にやったとこを直さなきゃとかいろいろ考え中。。。
■おまけ■
・Cで書くときの大まかな流れとか
なにやら「C言語 ハイ&ロー」で検索して来る人がけっこう多かったので,
Cで書く時の大まかな流れとかを書いてみますたので参考にどうぞ。
(中の人自身勉強中なので多少変なトコがあってもスルーで……)
・srand()で乱数を初期化
↓
・rand()で乱数を取得して変数に代入×2個
↓
・1つ目の数を表示
↓
・「High」か「Low」を選んでキーボードから入力
↓
・入力をチェックして不正ならエラー → 終了
↓
・2つ目の数を表示
↓
・勝敗判定
「High」を選んだ時 → 「1つ目<2つ目」が真なら勝ち
「Low」を選んだ時 → 「1つ目>2つ目」が真なら勝ち
サンプルソースっぽいもの
////////////////////////////////////////////////////////////
// ハイ&ローゲームのプログラム。
////////////////////////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define RANDMAX 13 /* 乱数の最大値を設定 */
int main(void)
{
int num1, num2; /* 乱数1,乱数2 */
int answer; /* 選んだ答え */
/* 乱数テーブルを作成 */
srand((unsigned)time(NULL));
/* 2つの1~最大値までのランダムな数を取得(除余算) */
num1 = rand() % RANDMAX + 1;
num2 = rand() % RANDMAX + 1;
/* 1つ目の数を表示 */
printf("1枚目のカード: %d\n", num1);
/* 1つ目の数より大きいと思うなら「9」,
小さいと思うなら「0」を入力 */
printf("high[9] / low[0] > ");
scanf("%d", &answer);
/* 入力をチェックして不正なら終了 */
if(answer != 9 && answer != 0) {
printf("エラー:「9」か「0」で選んでください\n");
exit(1);
}
/* 2枚目のカードを表示 */
printf("2枚目のカード: %d\n", num2);
/* 成否判定 */
/* 「high[9]」を選んだ場合 */
if(answer == 9) {
/* 「乱数1<乱数2」の場合に勝った処理 */
if(num1 < num2) {
printf("Won!\n");
}
/* 「乱数1>乱数2」の場合に負けた処理 */
else if(num1 > num2) {
printf("Lost...\n");
}
/* どっちでもなければ引き分けの処理 */
else {
printf("Drawn\n");
}
}
/* 「low[0]」を選んだ場合 */
else if(answer == 0) {
/* 「乱数1>乱数2」の場合に勝った処理 */
if(num1 > num2) {
printf("Won!\n");
}
/* 「乱数1<乱数2」の場合に負けた処理 */
else if(num1 < num2) {
printf("Lost...\n");
}
/* どっちでもなければ引き分けの処理 */
else {
printf("Drawn\n");
}
}
return 0;
}