プチコン3号 SmileBASIC コミュニティ投稿グータラ guutarakt2015/02/11 23:19:45質問スプライトの表示の仕方は分かったのですが、スプライトの動かし方(ランダム移動)がわかりません。教えてください!できればなぜそうなるかを教えていただけると嬉しいです!0そうだね 6返信プレイ済み2017/11/03 23:38:35に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿イーブン rein-20002015/2/11 23:23ランダム移動という キーワードから関数のひとつである RND()を使う事はわかると思います。 RND()はR=RND(5)という書式で 書きます。 ()のなかには乱数の範囲を書きます。 この場合0~4までの5つの 数字のどれかをランダムに取得して くれます。注意するのは コンピュータは0から数えるので5の 場合1~5ではなく0~4の5つになります。0そうだね プレイ済み2017/11/03 23:38:35に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿イーブン rein-20002015/2/11 23:26では、スプライトをランダムに 4方向に動かしたい場合どうすれば いいか?R=RND(4)として 0~3の4つの乱数を取得。 0なら上に移動させ、 1なら左。2なら下。3なら左と すればいいのです。 ただし、このままだと ただスプライトが プルプルするだけです。0そうだね プレイ済み2017/11/03 23:38:35に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿イーブン rein-20002015/2/11 23:28なぜそうなるか? それは、RNDで取得する数字が変化 しているからです。 一周目は0で上に移動しても 次が0とは限りません。 次は1で左に移動するかもしれないし 2で下に移動するかもしれません。0そうだね プレイ済み2017/11/03 23:38:35に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿イーブン rein-20002015/2/11 23:32それを防ぐ場合、どうすれば 良いのか?というと 新しく変数Cを用意します。 Cが1より小さいならRに乱数を取得し、Cを20にする。 そしてCを1フレームあたりに1ずつ 減らしていきます。 (1フレームというのはメインループを一周する時間が1フレームです。つまり上の文章では一周あたりに1ずつCの値を減らす。という意味です。)0そうだね プレイ済み2017/11/03 23:38:35に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿イーブン rein-20002015/2/11 23:36上をプログラムにすると こうなります。 頑張ってくださいね!1そうだね プレイ済み2017/11/03 23:38:35に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿グータラ guutarakt2015/2/12 7:29丁寧に教えていただきありがとうございます! 頑張ります!0そうだね プレイ済み2017/11/03 23:38:35に取得