スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

数当てとかを 

さて、HSPなんですが
今回は数当てゲームを作ってみた
自分で作ったのと解答を比べてみたんだが
当然ながら少し違っていた

実行できてるんだし
やり方は複数あるものだから
どれが正しいとかは無いと思うんだが
どっちのが無駄が少ないのか気になった

それと乱数使ってるのにも関わらず
毎回値が同じというのにも疑問が
って訳で誰かご教授を

http://rakirakira.web.fc2.com/up/hsptmp.zip
 

rakiさんが作ったやつ

ct=0
b=0
a=rnd(50)+1

*top
cls 0
mes "番号は1~50"
mes "試した回数:"+ct

button "+", *up
button "-", *down
button "ok", *ok

mes b
stop

*up
b+=1
goto *top

*down
b-=1
goto *top

*ok
ct+=1
if a<b : mes"もっと小さい" :wait 50 : goto *top
if a>b : mes"もっと大きい" :wait 50 : goto *top
if a=b : mes"あってる" :wait 50 : goto *top



解答さんが作ったやつ

ct=0
a=rnd(50)+1
*top
cls
print "番号は1-50だよ!"
print "試した回数:"+ct
button "+",*up_num
button "-",*down_num
button "ok!",*ok_num
print num
stop
*up_num
num+=1:goto *top
*down_num
num-=1:goto *top
*ok_num
ct+=1
if num=a :goto *yes
if num>a :goto *hi
mes "それは小さい"
wait 50
goto *top
*hi
mes "それは大きい"
wait 50
goto *top
*yes
mes "それあたり!"
stop
スポンサーサイト

コメント

まずスマートなプログラムについて。大前提としてプログラムは人の読みものであるということ。故に人が読みやすく書かねばならない。

とか堅苦しいことはどうでもいいんだけど。スマートに書く目的が実効速度であるならばそれは心配がない話。エンコーダのように膨大な量のデータをさばかねばならない場合、もしくは単位時間内に処理を終わらせねばならない場合を除き書き方による差はほとんど生まれない。一回でいいことを何回もしてるような致命的な書き方してない限り。何より速度のための最適化を施すと読みにくいプログラムになることが多い。

見やすいプログラムは書いててミスしにくいプログラムでもある。プログラムのエラーのほぼ全てがヒューマンエラーによるものだからね!

乱数もある種のアルゴリズムで作られる数値であるからには不定要素を含まない、故に同じ式だと同じ値が出る。ということで randomize で乱数生成に使うタネを設定できるよ。引数なしにすると windows のタイマからそれに使うので大抵は引数なしで。

なるほど
見やすければ何でもいいって事だな!

そゆこと!

大多数が関わるようになっていったら言語仕様に合わせて。hsp は考えんでいい。C とか入っていくと宗教じみた書き方の派閥があるからどこかに属するべしw

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://rakira.blog11.fc2.com/tb.php/235-7b9758bd

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。