[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild3 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
495: 名前は開発中のものです。 [sage] 2020/02/12(水) 17:39:31.48 ID:6NgVjOYx カードを重複しないで配るために、生成した乱数をリストに追加していき、もしすでにリストにあったらもう一度乱数を生成するというスクリプトを書きたいのですが cardRandom = Random.Range(0,49); cardDeck.Add(cardRandom); if(cardDeck.Contains(cardRandom)) { Debug.log("被りを検知"); } こんな感じで書こうとすると、当たり前ですが最初に追加した乱数が見つかるので必ずifが実行されてしまいます 最初にifをもってくれば良いのかな?とも思うのですがまだcardRandom変数はありませんしifを抜けたあとにもう一度乱数生成に入ってしまうのでうまい書き方が見つかりません カードのプレファブが持っているStartで処理したいのですがどうにかなりませんか? プレファブを5個生成すると全部違うカードになるイメージです http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/495
499: 弟子 [] 2020/02/12(水) 20:29:08.08 ID:V6bGXGkC >>495 こんなんでどうかな?ちょっと酔ってるからさくっとしか検証してないけど List<int> souceList; private void Awake() { souceList = new List<int>(); for (int i = 1; i < 11; i++) souceList.Add(i); } public void ButtonClick() { int cardRandom; for(int i = 0; i < 5; i++) { cardRandom = Random.Range(0, 10-i); print(souceList[cardRandom]); souceList.RemoveAt(cardRandom); }; } http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/499
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.937s*