忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

リプレイの事を考えると乱数を使わずに、自機座標やスコアなどを足したり引いたりして乱数っぽい
物を生成出来るのではないか?と思って作ってみた。

まず、どうやって乱数を作ろうかと思ったのですが、例えばスコアを参照したとすると
スコアは常に増えていくので、スコアそのものを参照して乱数を作るのは無理がありそうです。
なので、スコアの100の位を参照とか、自機座標の1の位を参照して、足したり引いたり出来れば
良いかな~と。
ただ、100の位のみを取り出すってどうすれば???と思ったのですが
本を読んだら書いてありました^^

具体的には、例えば765という数字があったとします。
この数字の1の位を参照したければ
765を10で割った余りが1の位の数字。つまり5となります。
なので式としては765%10で計算出来ますね。

10の位を参照したければ、1の位を求める時に計算した割り算の答えを10で割った余りが
10の位です。
(765/10)%10で計算出来ます。

100の位を参照したければ、10の位を求めた時の割り算の答えが100の位となります。
(765/10)/10で計算出来るって事です。

で、この方法で色んな変数の色んな位を足したり引いたり割ったりして乱数っぽい物を生成する事は
出来たのですが、ここでまた問題が。
乱数の生成のために参照している変数ってのはゲームループ1回につき一度しか変更されません。
なので、同じループ内で何度呼び出しても同じ数字が返って来てしまうんですよね。
で、この乱数を生成する度に増える変数を用意したり、生成した乱数の位を変更してみたりして
なんとか、乱数っぽい動きをする物は作れたのですが、今度はリプレイがズレまくるという結果に^^;

・・・・・・・乱数を作るのがこれ程大変だとは思いもしませんでした。
正直、今の私の技術力では満足のいく乱数は作れそうな気がしないので素直にGetRand関数を
使います^^;
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]