[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
495
(1): 名前は開発中のものです。 [sage] 2020/02/12(水) 17:39:31.48 ID:6NgVjOYx(1/3) AAS
カードを重複しないで配るために、生成した乱数をリストに追加していき、もしすでにリストにあったらもう一度乱数を生成するというスクリプトを書きたいのですが

cardRandom = Random.Range(0,49);
cardDeck.Add(cardRandom);

if(cardDeck.Contains(cardRandom))
{
Debug.log("被りを検知");
}

こんな感じで書こうとすると、当たり前ですが最初に追加した乱数が見つかるので必ずifが実行されてしまいます

最初にifをもってくれば良いのかな?とも思うのですがまだcardRandom変数はありませんしifを抜けたあとにもう一度乱数生成に入ってしまうのでうまい書き方が見つかりません

カードのプレファブが持っているStartで処理したいのですがどうにかなりませんか?
プレファブを5個生成すると全部違うカードになるイメージです
496: 名前は開発中のものです。 [sage] 2020/02/12(水) 17:44:53.20 ID:6NgVjOYx(2/3) AAS
配ったカードをリストから削除していくというのも良いと思うのですが、ScriptableObjectでリストを作っているので削除した項目をもとに戻す方法がわからずゲームのリスタートが出来ません
500: 名前は開発中のものです。 [sage] 2020/02/12(水) 21:14:14.51 ID:6NgVjOYx(3/3) AAS
皆さんありがとうございます
勉強不足で>>497
497(1): 名前は開発中のものです。 [sage] 2020/02/12(水) 19:04:18.46 ID:PEOVEJqP(1) AAS
最初に山札のリストのコピーを作って、カードを配ったらそこから削除、リセット時はコピーを作り直す、ではだめ?
さんの方法しか理解出来なかったのでとりあえずやってみます!
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s