HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0902
猫好きif elseの使い方について7未解決


猫好き

リンク

2016/9/2(Fri) 14:26:28|NO.76766

とあるゲームを真似て作っているのですが、下記の状態で
30年後未満なら世代交代なしと表記されないといけないのですが
30未満の数値が出ても世代交代の文字は表記されず、
毎回「第〇第皇帝 名前」と表示されてしまいます。
これはifの判定がされていないということでしょうか?
どこに原因があるのか分からないので質問させていただきます。


color if a=rnd(250) { pos 105,155 : font msgothic ,15 mes ""+rnd(30)+"年後" pos 90,155 : font msgothic ,15 mes "世代交代なし" }else{ pos 105,155 : font msgothic ,20 mes ""+rnd(250)+"年後" } pos 20,180 : font msgothic ,15 a=1 n=1+n b=(n+1) mes "第"+b+"代皇帝"

よろしくお願いします。



この記事に返信する


猫好き

リンク

2016/9/2(Fri) 15:04:44|NO.76767

理想としては、
年代経過が30年未満であれば「〇年後 世代交代なし」
30年以上であれば「〇年後 第△第皇帝 名前」
という具合に表記させたいです。



KA

リンク

2016/9/2(Fri) 19:05:05|NO.76768

多分スクリプトの一部を抜粋したのだと思いますが、全く意味の
分からないスクリプトになっています。

強引に使い方を書いてみると


randomize a=rnd(60) pos 105,155 : mes ""+a+"年後" if a<30 { pos 20,180 : mes "世代交代なし" }else{ pos 20,180 : mes "第"+"10"+"代皇帝"+"KA" }

こんな感じです。



猫好き

リンク

2016/9/2(Fri) 19:48:11|NO.76769

KAさんコメントありがとうございます。
投稿後、仕事だった為スクリプトを見る時間がなかったのですが、仕事中に考えてて自分でも
「あれ?変だぞ」って思いました(^-^;

KAさんに提案していただいたものをまだ試せていませんが、時間ができたらやってみて、
自分の理想のものに近づけたいと思います!
訳の分からないスクリプトで混乱させてしまったと思います、すみません!
そんな中コメントを残していただき、本当にありがとうございました!!



猫好き

リンク

2016/9/2(Fri) 23:11:06|NO.76772

現在、KAさんの提案された通りに組み立ててますが、皇帝になるキャラクター候補が
複数あるのですが、キャラクター名をランダムで1名表記させる方法が分かりません(;´・ω・)
質問ばかりで申し訳ありませんが、何かいい方法はありませんでしょうか?



掘木

リンク

2016/9/3(Sat) 00:42:22|NO.76774

例えば候補が5つ等確率での抽選をするなら、0から4までにそれぞれの候補を割り当てて、
0から4までの乱数を発生、対応した番号の候補を表記すればいいかと。
(実際に等確率かというと厳密さを欠くが、そこについては割愛で。

で、この手の1対1対応の構造は配列変数の得意分野ですな。

// 配列変数に候補を格納。格納方法は色々ある。 namearray = ”A”,”B”,”C”,”D”,”E” // そのうちの一つを選択する乱数を用意。今回は5択。 pickid = rnd(5) // 生成した乱数に対応する候補を表示。 mes namearray(pickid)
note系の命令を使う手もあるが、まあそれはそれ。

・今回は5択固定だが、可変数の場合はどうするか考えてみるのも悪くない。
そのときのエラーになりそうなパターンなどをイメージできるようになると捗る。



猫好き

リンク

2016/9/3(Sat) 02:37:36|NO.76776

掘木さんコメントありがとうございます!
提案されたものを使ってみたところ、うまくいきました!!
後はキャラクターの名前とステータスを紐づけられれば完成です☆
完成なんですけど…紐づけ方が分かりません( ;∀;)
キャラクターの名前がランダム選出された際、決められた枠内に性別・クラス・得意武器を表示
させたいのですが、それを書いたテキストをどう紐づけていいのか悩んでます。
ifとnoteloadを組み合わせてみたのですが、この2つは同時には使えないんですかね?



KA

リンク

2016/9/3(Sat) 18:26:00|NO.76783

適当に作ると、こんな感じです。


a="" notesel a noteload "hsp.txt" c=noteinfo(0) sdim b,4,9 repeat c d="" noteget d,cnt split d,",",b(0,cnt),b(1,cnt),b(2,cnt),b(3,cnt) loop repeat c mes b(0,cnt)+"+"+b(1,cnt)+"+"+b(2,cnt)+"+"+b(3,cnt) loop

hsp.txt

名前1,性別1,クラス1,武器1 名前2,性別2,クラス2,武器2 名前3,性別3,クラス3,武器3 名前4,性別4,クラス4,武器4 名前5,性別5,クラス5,武器5 名前6,性別6,クラス6,武器6 名前7,性別7,クラス7,武器7 名前8,性別8,クラス8,武器8 名前9,性別9,クラス9,武器9



ONION software Copyright 1997-2023(c) All rights reserved.