HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0926
ZOCmif条件の仕方8未解決


ZOCmif

リンク

2007/9/26(Wed) 20:00:42|NO.11212

ループが上に戻ったごとに、桁数を増加(1→10→100→1000→10000・・・)をさせる
条件のスクリプトを教えてください。



この記事に返信する


矢野

リンク

2007/9/26(Wed) 21:40:53|NO.11215

累乗を求める関数がありますよ。
次のスクリプトを実行してみてください。


#include "hspmath.as" repeat 5 a=pow(10,cnt) mes a loop stop



0x00

リンク

2007/10/1(Mon) 14:33:24|NO.11318

こんな感じかな?

val = 1 repeat mes val val = ""+val+"0" wait 5 loop



秒速2センチメートル

リンク

2007/10/1(Mon) 21:27:07|NO.11324

ループごとに数値として10倍にしたいなら、

a = 1
repeat mes a wait 50 a = a * 10 ; ループの終わりに a を10倍する loop

が簡単かな。
ですが、これをずっと繰り返すと、ケタが多くなり、扱える範囲を超える値になってしまいます。
やってる事は、矢野さんと変わらないと思いますが。



矢野

リンク

2007/10/1(Mon) 23:23:59|NO.11328

<ケタが多くなり、扱える範囲を超える値になってしまいます。

私のやり方では、小数第6位まで「0」が表示されるので
mes a
の前に 
a=int(a)
を付けて repeat 25 にすると、計算できるのは10億までで、
秒速2センチメートルさんの言われるように、それ以上は扱えなくなります。
さらに、1000万の表示が、1つ少ない999999になっています。

計算で桁数を増やすのは、限界のようですので、
0x00さんのやり方(表示方法を工夫して桁数を増やす)が一番いいようですね。



n

リンク

2007/10/2(Tue) 17:14:24|NO.11352

質問者は「ループが上に戻った」と言ってるがどうして誰もループがネストしていないんだ?



f

リンク

2007/10/2(Tue) 17:26:45|NO.11353

ネストの事を聞かれているとは限らないからじゃね?(ヲ

	a   = "ループ 桁数 "
b = 1 flg = 0 y = 0 repeat color 255,255,255 boxf 0,y*16,640,y*16+16 y += ( flg = 0 ) - ( flg > 0 ) flg = ( flg = 0 and y >= 29 ) + flg color 0,0,0 pos 0,y*16:mes a if flg != 0 { a += "" + b + "→" b *=10 } wait 10 if y < 0 :break loop pos 0,0 : mes "end"



n

リンク

2007/10/2(Tue) 17:31:07|NO.11354

イカすwww



n

リンク

2007/10/2(Tue) 23:32:03|NO.11369

きっと誰かが機種依存ほにゃららがどうたらこうたらと言う



ONION software Copyright 1997-2023(c) All rights reserved.