カードゲームの作り方

【Unity】デッキ(リスト)をシャッフル(ランダムに)する方法【コピペで完成】

 

初心者
初心者

カードゲームを作ってる際に
デッキのリストを用意したは良いけど、

シャッフル出来なくてつまらん!!!

ってことあるよね。

 

僕自身シャッフルの仕方がわからなくて困ってたけど、

案外簡単な方法で出来たので、
今回はデッキ(List)の順番をランダムにする方法を解説するよ!!

では行くぞ!!

 

【初心者向け】

「カードゲームを作ってみたいけど、作り方が全く分からない!!!」

という人向けに0からカードゲームの作り方を書いてるので

めっちゃ初心者だけど作ってみたい!!というひとは見てみて↓

【解説通りに作るだけ】Unityのデジタルカードゲーム作り方① カードを作る編プログラミングなんてなんにも分からないけど、 カードゲームが作りたい!! きっとこのページを見てくれている方は、そんなひとが多いと思いま...

リスト(List)をシャッフル(ランダムに)する方法は??

デッキのリストをシャッフルするには、
この処理をぶち込めばいいだけ!

※deckはListね。
List<int> deck = new List<int>() {1,2,… } みたいなやつ
ランダムにしたいListの名前を書き換えて使ってね。

 

これを呼び出せばシャッフル完了!

これが↓

こんな感じになる!↓

超簡単ですな。

次は中身の解説をするよ!!

 

コードの中身の解説

ざっくり処理の流れとしては
こんな感じのことをしているよ↓

1.デッキ(リスト)の枚数を取得
2.ランダムな順番のカードと最後のカードを入れ替える
3.最後のカードは固定させて、その一つ手前のカードを最後のカードとする
4.デッキが全部固定されるまで繰り返す

これを踏まえてコードを見直してみよう。

、、、これ考えた人すごくない??

カードゲームならシャッフル処理はほぼ必須なので、
覚えておいて損はないよ!!

 

【まとめ】デッキ(リスト)をシャッフルする方法

最後にリストをシャッフルする方法について改めてまとめておきます!

リストのシャッフル方法

1.下記のメソッドを記載する。
2.Shuffleメソッドを呼び出す

あくまでメソッドは記載するだけじゃなくて、
呼び出さないとシャッフルしてくれないからね!

ではではこれを使って色んなリストを混ぜてみて下さいな!!

終わりっ!!!

 

【初心者向け】

カードゲームを作ってみたいけど作り方が全く分からない!!!」

という人向けに0からカードゲームの作り方を書いてるので、

めっちゃ初心者だけど作ってみたい!!というひとは見てみて↓

【解説通りに作るだけ】Unityのデジタルカードゲーム作り方① カードを作る編プログラミングなんてなんにも分からないけど、 カードゲームが作りたい!! きっとこのページを見てくれている方は、そんなひとが多いと思いま...

 

他の関連記事↓

【Unity】クリック時に処理を起こす方法【コピペで完成】 ってこと、あるよね。 実際に見せるとこんな感じ↓ 実際にやってみると超簡単だ...
何も知らない初心者がカードゲームアプリを作ろうとした結果www ワクワクが止まらないんだが、、?!! 子供の頃から作りたかったゲームをとうとう形にする日が来たと思うとワクワクが止...

 

ブログの更新や役立ち(そうなこと)をつぶやいてるよ。
あと質問などあれば、ツイッターにどうぞ!

→→mijinko_game000

ABOUT ME
みじんこ
【名前】みじんこ(ここのブログ書いてるひと) ・大学2年の時に「ゲームが作りたいー!!」って思ったのに、ゲームの作り方を解説してるサイトがことごとく何言ってんのか分かんなくて挫折した。 ・数年な時を経て「だったら俺が完全初心者にも超わかりやすいサイトを作ってやんよ!」って事で、初めてゲームを作ろうとしてる方向けに解説記事を書いてるよ。

POSTED COMMENT

  1. りんご より:

    お恥ずかしながら、メソッドを呼び出す方法が分からないので教えてほしいです。。。

    • みじんこ より:

      >りんごさん
      んー、別のクラスのメソッドを呼び出す方法ってことですかね??
      やり方は色々あるとは思いますが、文字だけで説明しようとすると難しいですね。。
      需要があれば(あと自分の理解の為に。笑)別記事でまとめようかと思います!
      「別クラス メソッドを呼び出す」とかでいい感じに説明してくれてるサイトがあるはず、、、!(丸投げで申し訳ない)

      1

COMMENT

メールアドレスが公開されることはありません。