投稿
A.R 3.10.ARA
乱数のプログラムを詳しく教えてください!(>_<)
2そうだね
プレイ済み
返信[1]
親投稿
reji Satoshi.1103
例で言いますと… A=RND(100) PRINT A で0から99までのランダムの数字が表示されます。また、負の数の場合は、 A=RND(100)-100 PRINT A で0から-100までの数が表示されます。これを応用すると A=RND(399) : B=RND(239) SPSET 0,0 SPOFS 0,A,B で画面のどこかにランダムにスプライトが表示されます。
0そうだね
プレイ済み
返信[2]
親投稿
A.R 3.10.ARA
oh! 要するに乱数の命令=RNDということですね
1そうだね
プレイ済み
返信[3]
親投稿
A.R 3.10.ARA
「変数=RND(数字)」ってことですよね……
1そうだね
プレイ済み
返信[4]
親投稿
reji Satoshi.1103
あらたさんそうです!でも、確か普通に PRINT RND(100) とかでも行けたと思います。なので、 @A COLOR RND(16) LOCATE RND(50),RND(30) PRINT RND(10) GOTO @A とかやってみると面白いですよ~
0そうだね
プレイ済み
返信[5]
親投稿
A.R 3.10.ARA
こういう時ってわかりますか? こうげき70% ミス!25% クリティカル!5%
1そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
「%」で指定するならばRND(100)で100個の乱数を発生して場合分けをするというのがポピュラーなのですが、その前にクリティカルは攻撃命中には含まないのかとか、相手の防御力がやたら高くてダメージが与えられない状態のときはミス扱いにならないのかとかの疑問が出てきます。 ちなみにドラクエ風のダメージ計算やクリティカルが簡単に扱えるDAMADE関数を作りましたので興味があれば私の活動からどうぞ(改造自由)
2そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
上記のコメントを補足すると「クリティカル」がウィザードリィのように即死を示しダメージとは別物ならば攻撃とは分けて一定確率で発生させることに意味がありますがドラクエの会心の一撃のようにダメージが大きくなるだけならばあえて分けない方が分かりやすく融通を利かせやすいです。(分けない方がクリティカルが出やすい武器を作るなども簡単にできる)
1そうだね
プレイ済み
返信[8]
親投稿
A.R 3.10.ARA
会心の一撃と同じです おちゃめsの投稿を見ていて思い付いたんですが「急所」1%てのも良いですね!
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
私が作ったDAMADE関数に1%(1/100の確率)で即死を追加するためにはVAR DIE=!RND(100)を追加すればOKです。 関数の戻り値にDIEを追加して判定時には即死判定から行えば実装完了です。 !はtrueとfalseを反転する演算子ですが、端的に言えば「0を1」に「0以外を0」に変える効果があります。 RND(100)は100分の1の確率で0を発生させますが、!を付けることで0を1にして、それ以外の値が出たら0にできます。 クリティカル判定もそれと同様の処理を行っています。
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
上記訂正 DIEを関数の戻り値用の変数にするならばVARは不要ですね(でないと2重定義になってしまう)
0そうだね
プレイ済み
返信[11]
親投稿
A.R 3.10.ARA
公開キーください(>_<)
0そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
これがDAMAGE関数の公開キーです。【 EACN43J4 】 近日中に今まで作った自作関数をすべてまとめたプロジェクトフォルダを公開予定なので、それを公開したらDAMAGE関数単体の公開キーは無効になります。 なお、上記改造案で出ていた即死フラグは付いてないので必要ならば自由に改造して使ってください。
0そうだね
プレイ済み
返信[13]
親投稿
A.R 3.10.ARA
ありがとうございます!! あとサイト見たいのですが名前教えてください!!
1そうだね
プレイ済み
返信[14]
親投稿
おちゃめ ochame_nako
リンクを貼るのはMiiverseの規約でできませんが、「プチコン3号入門講座」でネット検索すれば何か見つかるかもしれませんね。
0そうだね
プレイ済み
返信[15]
親投稿
A.R 3.10.ARA
サトシs おちゃめs ありがとうございました!!!
1そうだね
プレイ済み