忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[29]  [28]  [27]  [26]  [25]  [24]  [23]  [22]  [21]  [20]  [19
×

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

乱数を得る②

前の記事の問題2つをクリアしたよ。

まず問題①
これは『苦C』の力を借りました。
乱数生成の際、出来るだけ意図できない数字を計算に含める事で解決します。
意図できない数字に、現在時刻を利用する方法。

まず、time.hをインクルードしておく。
そんでランダム関数を下のように書き換え。
RIMG0694.JPG

















static型でフラグを定義する事で、プログラム実行した際、最初の1回だけ時間の要素をランダム計算に混ぜ込みます。
毎回やると処理が重くなるそうです。(苦Cより)
static型の変数は関数を抜けた後も確保される(この場合、フラグの状態が残る)そうです。
し、知らなかったよ。
勉強になるなあ・・・。

次に問題②
これはキーの状態を判断するフラグを作ることで解決できるなと、直感的にわかった。
で、ソースを書き換え。
RIMG0692.JPG

















よし、OK!
と思い、実行すると何も変らない・・・汗。
よーくソースを見て流れを追ってみた。
なるほど、これじゃループ1回したらフラグは降りてしまう。
って訳で修正。
RIMG0693.JPG


















キーが押されたかの判断を先にして、そこに対してelseでフラグを降ろす処理を入れる。
これで、キーが押されていない状態が出来て初めてフラグが降りるので、キーの押しっぱなしは無効になった。

やろうとしている事はあっていても、コードの流れをよく読んで挿入しないと、機能しなかったり、おかしな動きをしたりする。
これは良い例じゃないだろうか。


PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
文字色
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
この記事へのトラックバック
この記事にトラックバックする:
  • ABOUT
やってやれないことはないっ!たぶん・・・
  • カレンダー
04 2025/05 06
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 31
  • 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
  • プロフィール
HN:
Call my name
年齢:
50
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]