[過去ログ] WOLF RPGエディター 質問スレ 其の10 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
712: 名前は開発中のものです。 [] 2017/01/28(土) 18:28:50.94 ID:x6CNLYJO(1/4) AAS
はじめまして。質問させていただきます。
トランプゲーム作ってるんですが例えば52枚の山札から1枚引く、みたいな動作をする時に処理を簡易にすることはできますか?
データベースにカード52種類を入れて、ランダムでカード一枚決定して、そこの値はマイナス1。次引くときはマイナス1のは除外してランダム決定…みたいにしたいんですがそういう方法ありますか?
マイナス1のを選んでしまったら引き直し処理、という方法でやるつもりでしたが重くなりそうで。
713: 名前は開発中のものです。 [sage] 2017/01/28(土) 18:31:50.15 ID:x6CNLYJO(2/4) AAS
すみませんsage忘れました
720: 名前は開発中のものです。 [sage] 2017/01/28(土) 22:19:07.53 ID:x6CNLYJO(3/4) AAS
>>716
716(1): 名前は開発中のものです。 [sage] 2017/01/28(土) 20:04:06.48 ID:NwZBWtxh(2/3) AAS
可変データベースにそのまま、もしくは文字列変数に"数字/n"という形で最初からシャッフルしたのをぶっこんでおく
可変データベースは項目0から順番に、文字列変数は一行切り出しして変数に代入して順番にとっていく
可変データベースの場合は52という数字を越したら、文字列変数の場合は""を切り出したら終了

シャッフルはfisher-yatesとか使っとけばええんでね
外部リンク:qiita.com
ありがとうございました。頑張ってみます。
721: 名前は開発中のものです。 [sage] 2017/01/28(土) 22:20:02.48 ID:x6CNLYJO(4/4) AAS
>>717
717(1): 名前は開発中のものです。 [sage] 2017/01/28(土) 20:04:39.43 ID:icB5cRQJ(1) AAS
絶対に変更されない基本のカード(スペードx12、ハートx12・・・)とは別に、場に出ているカード入れ(52枚分x1)をつくって、
最初の処理で基本のカードをランダムでカード入れに入れて、あとはカード入れの上か下から拾っていくようにするとか?
>>719
719(1): 名前は開発中のものです。 [sage] 2017/01/28(土) 20:15:58.03 ID:UV1i6qOy(1) AAS
すでに出てるけどあらかじめシャッフルした山札を用意しておくと
ゲーム開始時に若干のローディングはいるだろうけど
ゲームプレイ中はサクサク動作するはず

別の方法をひとつ考えてみた
カードを引いたときに可変DBを上に詰めるっていうやり方
ループ等は使ってないので動作は軽いはず

○カードの残り枚数を N と仮定する(初期値は52)
○適当な可変DBの[データ番号1〜52]に[代入値1〜52]を代入

1.[乱数1〜N]で適当なデータ番号を選んで、そこに入ってる代入値を取得
(例:データ番号18を選んだなら18を取得)

2.データ番号のN番目にある数字をいま選んだところに代入
(例:データ番号18に52を代入)

3.N を 1 減らす

これで1〜52のうちまだ選んでない数を取得できるから
後は適当なユーザーDBにカードと数の対応表でも作って
どのカードを選んだのかゲームに反映させるといい
ありがとうございました。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s