★ゲームを作ろう1(ブラックジャックもどき)★


ゲームを作ろう1の最後は「ブラックジャックもどき」です。

本来の「ブラックジャック」はルールがきっちり決まっていますので、その通りに作れば良いのですが、「A(エース)」の扱い等、難しい部分もありますので、ここでは「もどき」を作ってみたいと思います。


ルール

1〜11の乱数を2回発生させ、合計が

  21であれば「ブラックジャック!」と表示

  21未満であれば「合計値」を表示

  21より大きければ「オーバーです・・・」と表示

する。

これで作ってみましょう。









































解答例です。


<sample program 026-01>

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    int number;
    int sum = 0;

    srand((unsigned int)time(NULL));

    printf("1枚目のカードを配ります。\n");

    number = rand() % 11 + 1;

    getchar();

    printf("%dです。\n", number);

    sum = sum + number;

    getchar();

    printf("2枚目のカードを配ります。\n");

    number = rand() % 11 + 1;

    getchar();

    printf("%dです。\n", number);

    sum = sum + number;

    getchar();

    printf("結果は・・・\n");

    getchar();

    if (sum == 21) {
        printf("ブラックジャック!\n");
    }
    else {
        if (sum > 21) {
            printf("オーバーです・・・\n");
        }
        else {
            printf("%dです。\n", sum);
        }
    }

    return 0;
}

<実行結果>

1枚目のカードを配ります。

11です。
2枚目のカードを配ります。

10です。
結果は・・・

ブラックジャック!
続行するには何かキーを押してください・・・

「getchar」を使って「自分でカードを引いている感覚」を表現しています。

2枚のカードの合計を求めるために変数「sum(合計)」を使っています。

合計を求める計算は、以前に書きました。


この「ブラックジャックもどき」はA(エース)の扱いが正しくない上に、3枚以上カードを引けません。

また、絵札(11、12、13)の扱いも正しくありません。

現時点では、難しいプログラムになりますので、シンプルに作ってみました。

今後、色々と学習していく中で、正しいブラックジャックに近づけるようになると思いますが、このHPの目的は「正しいブラックジャック」を作ることではありません。

上記のプログラムをヒントに、自分自身で何か作ってみることを考えてみてください。


次へ

戻る

目次へ