スロット ストックの作成

スロット ストック作成画像

Unityでスロット開発する過程の記事です。

スロット作成の整理

メダルが10枚落ちてCountpanelと衝突した際、スロット抽選を行う処理、スロットのストックを作っていきます。
※メモ書き程度なので、実際のコード表記はありません。

使用する変数名↓

public int medalCount;
public int slotStock;
public bool slotFlag;

箇条書きでまとめるとこんな感じです。
■メダルが落ちる→変数medalCountをインクリメント
■変数medalCountが10の倍数ごとに変数slotStockをインクリメント

■[Update()に記述]
if文処理
(slotStockが1以上、克変数slotFlagがtrueでない)
→スロット処理スタート(今回は省く)
→slotStock –;

(条件が揃わなければ処理されない為、slotStockが減ることはない。)
■スロット処理スタート後、一連の処理が終わるまで変数slotFlagをtrue状態でキープしておく
■スロット処理終了後、変数slotFlagをfalseにする。

ざっとこんな感じでまとめてからコードを書いていくとやりやすいと思います。


スロット追加要素

上記の一連処理内容に、
〇スロットのストックが何個ある状態なのかをUI(テキストやスライダー)を使って視覚的にわかりやすくする

〇JP抽選やその他抽選の際は処理されないように上記一連の処理をif文を使って括る

と言ったコードを追加すると、より複雑なコードに仕上がってきて面白いです!
上手くいかないときはどこで詰まっているのかDebug.Log();を使って確認していくと作業が捗るかと!


コード

【追記】
コードを以下のようにまとめてみました。
コピペして使用しても大丈夫です。

using System;

public class SlotGame
{
    public int medalCount;
    puclic int slotStock;
    puclic bool slotFlag;

  //このメソッドはCountPanel.csを別で用意しそちらで判定処理をしてもOK
    public void DropMedal()
    {
        // メダルが落ちるとmedalCountをインクリメント
        medalCount++;

        // 変数medalCountが10の倍数ごとにslotStockをインクリメント
        if (medalCount % 10 == 0)
        {
            slotStock++;
        }
    }

    public void Update()
    {
        // スロット処理の条件判定
        if (slotStock >= 1 && !slotFlag)
        {
            StartSlot();
            slotStock --;
        }

    }


    public void StartSlot()
    {
        // スロット処理スタート前
        slotFlag = true;

        // スロット抽選処理(ここに具体的なスロット処理のコードを記述)


        // スロット抽選終了後
        slotFlag = false;
    }
}

日々、開発ブログや、その他プライベートなブログ等を不定期に更新しています。もしよろしければそちらも是非読んでいただけると励みになります!!

オリジナルグッズ販売中!
品数は少ないですが、お時間あれば是非見に来てください!
グッズショップ→AMGWorks Shop (stores.jp)