NScripter Ver.14.00
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/08/26(火) 20:10:34ID:2KctHonqゲームエンジンNScripterについて語るスレです。
・本家
ttp://www.nscripter.com/
・うpろだ
ttp://andolf.hp.infoseek.co.jp/
技術的な質問については、書き込み前に下記の確認をお願いします。
NScripterの仕様は確認しましたか? ( はい ・ いいえ )
マニュアル,非公式リファレンスのいずれかを確認しましたか? . ( はい ・ いいえ )
テンプレに記載されている講座サイト(Tipsサイト)は確認しましたか? ( はい ・ いいえ )
テンプレに記載されているWikiサイトは確認しましたか? ( はい ・ いいえ )
過去スレに同様の質問が無かったか確認しましたか? ( はい ・ いいえ )
ひとつでも「いいえ」があれば、「はい」になるまで努力しましょう
0074名前は開発中のものです。
2008/09/04(木) 21:50:10ID:2SIi6dvobtndef clear
;ボタン定義をクリア
spbtn 1,1
spbtn 2,2
spbtn 3,3
spbtn 4,4
;ボタン定義命令、前がスプライト番号、後ろが変数に入るボタン番号
btnwait2 %0
;ボタン処理命令、マウスアクションの戻り値を%0に入れる。
if %0=0 goto *bt
if %0=-1 goto *bt
;戻り値がボタン以外の部分0右クリック-1だった場合には、ラベル*btに戻り、もう一度処理し直す
csp -1
;移動先が確定したので、全部のスプライトをクリア
if %0=1 goto *bgm
if %0=2 goto *bgm2
if %0=3 goto *bgm3
if %0=4 goto *ongaku
;評価、実行ブロックです。戻り値の整数によって、処理を変える
0075名前は開発中のものです。
2008/09/04(木) 22:08:05ID:6l7EGo5Qまず書き換え前と違ってるラベル名さえわからねえw
0076名前は開発中のものです。
2008/09/04(木) 22:40:08ID:+cmrSMDg0077名前は開発中のものです。
2008/09/04(木) 22:59:34ID:jQFgsFb0変数番号の指定が重複しているとかあるんじゃないか。
0078名前は開発中のものです。
2008/09/04(木) 23:38:33ID:P2AE7ZOH「ごくまれに」例外起きたとき、スクリプトのどの位置を処理してたかとかちゃんと見た?
「音楽集二ページ目」って書いてあるから、ページ遷移をループ処理させず逐次記述している、と勝手に把握するけど
多分その辺でかみ合いがずれてバグってるんじゃないかなぁ
0079名前は開発中のものです。
2008/09/05(金) 00:07:08ID:JGTyaO0Jそりゃ開発のモチベーションも下がるわな
どう考えたって、本人のミス以外ありえない馬鹿な間違えを
本気でNスク本体のバグだと思い込んでるんだから、
救いようのない知恵遅れ
0080名前は開発中のものです。
2008/09/05(金) 01:00:56ID:Gu/80lRX0081名前は開発中のものです。
2008/09/05(金) 01:16:38ID:jmKi57yxプログラマ的センスがまるで無いな
0082名前は開発中のものです。
2008/09/05(金) 02:06:34ID:hVCgxPVX0083名前は開発中のものです。
2008/09/05(金) 02:13:51ID:YI0QPkhC0084名前は開発中のものです。
2008/09/05(金) 02:19:12ID:hVCgxPVXあんたのおかげで自己解決できたd
0085名前は開発中のものです。
2008/09/05(金) 09:33:00ID:YI0QPkhC0086名前は開発中のものです。
2008/09/05(金) 15:34:58ID:jVvzAoF00087名前は開発中のものです。
2008/09/05(金) 15:37:39ID:QZGeQbLJ0088名前は開発中のものです。
2008/09/05(金) 15:54:07ID:jVvzAoF00089名前は開発中のものです。
2008/09/05(金) 16:40:28ID:QZGeQbLJ0090名前は開発中のものです。
2008/09/06(土) 07:02:02ID:kAZwR4TIサンプル使っとけよ。
0091名前は開発中のものです。
2008/09/06(土) 09:03:54ID:iTDCX4esシステムカスタマイズして、やっとクリック待ちカーソルを表示できたまでは良かったものの、
スキップ中、そのカーソルが表示されたままになってしまいました。
ぴるぴるぴるぴる明滅して、うざいのなんの。il||li orz
スプライトだから vsp 0,0 : vsp 1,0 で消えるかと思ったけど上手くいかず、
*text_lb
ispage %0
getcursorpos %1,%2
if %0=0 amsp 0,%1,%2 : vsp 0,1 : vsp 1,0
if %0=1 amsp 1,%1,%2 : vsp 1,1 : vsp 0,0
print 1
(略)
*c_btn
btndef clear
spbtn 4,102
textbtnwait %0
if %0=102 vsp 0,0 : vsp 1,0 : systemcall skip : goto *c_btn
goto *c_btn
じゃ、何かいけないのでしょうか。(あ、画面にスキップ用のボタンを常駐させてます)
誰か教えて下さい、お願いします。(ノД`)・゚・。
0092名前は開発中のものです。
2008/09/06(土) 09:32:28ID:4dzHltIx009391
2008/09/06(土) 10:54:53ID:iTDCX4esレスして下さって有難うございます!
printと言うと、↓こう言う記述をするって事でしょうか…?
if %0=102 vsp 0,0 : vsp 1,0 : print 1 : systemcall skip : goto *c_btn
でも、やっぱりこれでも表示されたままなんです。
ほんとに、何がいけないんだろう…。orz
0094名前は開発中のものです。
2008/09/06(土) 11:00:39ID:aFmJLSLYおまえの固い脳みそじゃあシステムカスタマイズは無理だと思うけどなぁ
無理せずデフォルトで我慢するか、ゲーム作りあきらめたら?
0095名前は開発中のものです。
2008/09/06(土) 11:20:26ID:9wqukFxt分からないなら、分からないで素直に黙っとけばok
分からない癖に、背伸びしてレスしようとするから、
こういう生き恥を晒す事になる
0096名前は開発中のものです。
2008/09/06(土) 11:24:19ID:QP477/xU分からないなら、分からないで素直に黙っとけばok
分からない癖に、背伸びしてレスしようとするから、
こういう生き恥を晒す事になる
0097名前は開発中のものです。
2008/09/06(土) 11:43:28ID:aFmJLSLYぴるぴるぴるぴる明滅して、うざいんだったら
スキップ中だけ、カーソル画像をアニメーションなしの「現在スキップ中」
みたいな画像に変えて、固定の位置に表示するのも面白いと思うけどなぁ。
あとは「if %0=102 vsp 0,0 : vsp 1,0 : 【ここのタイミング】systemcall skip : goto *c_btn
」で別のサブルーチン呼んで
クリック待ちの状態にしてカーソルが消えてるかどうか確認。
消えてなかったらCSPも使って消えるまでテストするってのはどうかなぁ。
もしかするとVSPの値が対応してないせいで消えないのかもなぁ。
すまん。でかい口叩いて具体的な解決策わからんよ〜。
0098名前は開発中のものです。
2008/09/06(土) 11:46:35ID:LWIoat0I釣られてる自分が恥ずかしくない?
0099名前は開発中のものです。
2008/09/06(土) 11:48:07ID:LWIoat0I0100名前は開発中のものです。
2008/09/06(土) 12:05:14ID:vX3KnAyLそういう質問は公式でした方がいいぞ、いやマジで
向こうなら牛臭いヒトが親切丁寧イヤミたっぷりに教えてくれるから
んで>94クンは自分の意見を言ったわけだが>95クンはどうなんだい?
そのソースのどこに問題があるのかわかったのかい?
010191
2008/09/06(土) 12:22:38ID:iTDCX4es>>97
>すまん。でかい口叩いて具体的な解決策わからんよ〜。
いえいえ!お言葉はもっともで、俺の脳みそが固いのは、その通りなんでw
寧ろ、誠実に解決策を考えて下さって、ほんとにどうも有難うございます。
>スキップ中だけ、カーソル画像をアニメーションなしの「現在スキップ中」
>みたいな画像に変えて、固定の位置に表示するのも面白いと思うけどなぁ。
なるほど、逆転の発想で、それもとても面白そうですね。
カーソルを消せなくても、カーソル位置を固定して、
上にスプライトを重ねてしまえば、見た目にはわからないはずですし。
…でも、メニューバーやNキーのスキップの時も表示されてしまうので、
折角考えて下さったのに、自分にはその場合の対処法が考え付きません…。
ほんとに、スレ汚しですみません。orz
>>100
公式は、何となく気後れしてしまって…w
でも、そうですね。ご助言有難うございます。
頂いたレスを参考に、もう少し頑張ってみます。
色々、どうも有難うございました!(ノ∀`)
0102名前は開発中のものです。
2008/09/06(土) 13:47:33ID:jWiSJL4s0103名前は開発中のものです。
2008/09/06(土) 14:36:23ID:vkNR+Rox0104名前は開発中のものです。
2008/09/06(土) 20:24:02ID:0CRMzPRc気になる人も居るって事が判ったので修正かけようとしたら、上手く出来なくて悩んでいたよ。
ありがとう。
0105名前は開発中のものです。
2008/09/07(日) 06:42:48ID:XlutOv7f0106名前は開発中のものです。
2008/09/07(日) 08:10:17ID:KVlySlTp例えば、タイトルメニューが空で、その空が動き続けるとか
ボタンがくるくる回転し続けるとか
外部のアプリでアニメーション作ってそれを読み出してやったりするの?
0107名前は開発中のものです。
2008/09/07(日) 08:43:35ID:SSszQLJ8それを実現する為にどうすればいいか、どの程度調べたり考えたりしてみた?
「この命令でこうすればできるんじゃないかな〜?」とか考えたり
「この命令にこういう機能はないのかな〜?」とか調べたりしなかった?
0108名前は開発中のものです。
2008/09/07(日) 08:57:46ID:KVlySlTp動いてるように見せる方法くらいしか思いつかない
0109名前は開発中のものです。
2008/09/07(日) 09:12:28ID:8WQDrRB0「NScripter アニメーション」でググればいくらでも出てくる。
0110名前は開発中のものです。
2008/09/07(日) 11:06:29ID:MPWHURzd0111名前は開発中のものです。
2008/09/07(日) 11:12:31ID:X7ETX/I90112名前は開発中のものです。
2008/09/07(日) 12:20:17ID:RQQjUuh5そこまで分かってて何故、『このスレに書き込まない』という選択肢が出てこないんだろう?
0113名前は開発中のものです。
2008/09/07(日) 14:04:44ID:TpKFGAUl>>102
レスに気付くのが遅くてすみません。
目からウロコでした。そして、できました!有難うございます!!
>>103
すみません、折角アドバイス下さったのに、
何だかよくわからなくて、結局↓こういう風にしてしまいました。orz
*text_lb
ispage %0
isskip %c_skip
getcursorpos %1,%2
if %c_skip=1 skip 3
if %0=0 amsp 0,%1,%2 : vsp 0,1 : vsp 1,0
if %0=1 amsp 1,%1,%2 : vsp 1,1 : vsp 0,0
print 1
これでどうにか、スキップ中のカーソルを消すことができました。
ただこの書き方だと、スキップを止めた直後はカーソルが復活しなかったり、
Ctrlキーを押してる間は消えないみたいです。でも、俺にはこれで充分です。(*´∀`)ゞ
>>104
自分も最初は放置だったんですけど、できるだけ機能はデフォルトに近づけたいな、と思ったら、
ぴるぴるが、物凄く気になるようになっちゃってw 些細なことなんですけどね。
ご報告とお礼をと思い、書き込ませて頂きました。何度もすみません。
そして、スレの皆さん、色々とお世話になりました。
ほんとにほんとに、どうも有難うございました!m(*´∀`*)m
0114名前は開発中のものです。
2008/09/07(日) 16:01:02ID:Lrf4hOo6>103だけど、昨日の俺の記述がミスってるから気にしなくていいぜ。
textgosubじゃなくてtextbtnwaitの直前が正しい。サブルーチン化しとくと記述が綺麗。
どっちにしてもそれで行けるから大丈夫。乙。
0115名前は開発中のものです。
2008/09/08(月) 02:24:39ID:OC6AGBj2当初使用キャラが少なかったので表情毎に立ち絵の画像を作って毎回立ち絵を交換していたんですが
枚数が増えるにつれて立ち絵の容量が重くなってきましたorz
顔部分に座標をあわせてスプライトで顔の部分を重ねて表情変化を付け始めたんですがなかなか座標が合わない。(ノД`)・゚・。
他に立ち絵の表情変化をするやり方はあるんでしょうか?
誰か教えてください、お願いします。
0116名前は開発中のものです。
2008/09/08(月) 02:47:51ID:ceFyN5P1俺の場合、テスト用のスクリプトを用意して、それでぴったり合う座標を調べてる。
0117名前は開発中のものです。
2008/09/08(月) 03:09:54ID:6B95zXeM頑張って手作業で合わせろ。
0118名前は開発中のものです。
2008/09/08(月) 10:33:36ID:vhD61JlW顔だけスプライトではなく、立ち絵を首から上下に分けたもんを用意して
表示座標を指定した表示ルーチンを自作すればダメ?
表情だけじゃなくポーズも変わる立ち絵だと現実的じゃないけど。
0119名前は開発中のものです。
2008/09/08(月) 14:32:16ID:noprucRc表情の部分を差分用に切り取るときに
どの座標から切り取ったかメモしておけば
立ち絵(スプライト表示)の座標に切り取った時の座標を足した値で
表情のスプライトを重ねるしかないと思うんだけど
わざと数値を間違えない限り、ずれようがないよ?
0120115
2008/09/08(月) 17:27:07ID:/vv3mZmeいろいろありがとうございます
やっぱこの方法しか無いんですね、ズレはこっちのミスでしたスイマセン
ググってたら座標を1ずつずらして表情の部分が重なる時の座標が分かる
ものを組んでる方がいたのでズレ合わせも問題なく行くようになりました。
0121名前は開発中のものです。
2008/09/08(月) 20:43:33ID:b0jzIyR80122名前は開発中のものです。
2008/09/09(火) 00:24:13ID:zCqZ6eT60123名前は開発中のものです。
2008/09/09(火) 01:30:53ID:gO6zp6fm基本的にdefineresetはデバッグの時に使う命令だから、気にしないでいいと思うが
0124名前は開発中のものです。
2008/09/09(火) 02:00:39ID:W+kaYcer半強制的にグローバル変数保存させたらどうよ。
0125名前は開発中のものです。
2008/09/10(水) 15:57:39ID:gdYaj3cW0126名前は開発中のものです。
2008/09/10(水) 20:37:22ID:7kLKCOQa0127名前は開発中のものです。
2008/09/10(水) 21:31:24ID:xR+Vi8GWexbtnで、カーソル載せたときに画像が変わるようにしているんだが、
これにさらにカーソルを載せたときそのボタンに応じた、
ツールチップテキスト(HTMLでいうtitleのようなやつ)を表示したいんだ。
最初は、ボタンの数だけあらかじめツールチップテキストの文字列スプライトを用意して
exbtnのP〜やらM〜やらで表示すればいいのかな、と思ったんだが
ボタンの数が多くなると、スプライト使いまくることになるので躊躇してしまった。
次にgetmouseoverとisdownを使ってカーソルのあるボタン番号取得、
その番号に応じた文字列スプライトを生成すれば1個だけで済むじゃないか、
とやってみたんだが、これだとボタンの上にカーソルがあるときにbtnwaitを何度も通るせいか
ボタンの画像が、通常時とカーソル乗せ時の状態を交互に繰り返して非常にせわしなくダメだった。
じゃぁbtnwaitを使わず…となるとボタンの上に乗ってるかどうかを
自前で判断しなきゃならなくなるし、他にも色々と面倒そうなので力尽きた。
素直に最初の方法を使えばいいのだろうけど、
もし何か良い方法があったら教えてもらえないだろうか。
0128名前は開発中のものです。
2008/09/10(水) 21:59:17ID:d9umvWI90129名前は開発中のものです。
2008/09/10(水) 22:00:33ID:eNQKaGSl昔ながらのトラップADVを作ろうと思い、
例えば背景絵の窓部分に窓のスプライトを置いていたのですが、(クリックすると開いたり閉じたりする)
シーンによっては大量のスプライトを使うことになり、躊躇してしまいました。
解決策として大昔にやっていたように
表示しているCGとは別に、表示CGの要所のみ単色で塗りわけした裏画像を用意しておき、
ユーザは表示CGの要所をクリックしてるが、
プログラム側では裏画像のカーソル位置の色を取得して進行、みたいな事を考えたのですが、
どうもそれに相当するコマンドが見つけられません。こんな事は可能でしょうか?
0130名前は開発中のものです。
2008/09/10(水) 22:03:52ID:2VNgU8xP0131名前は開発中のものです。
2008/09/10(水) 22:04:20ID:/11ha6BZ色じゃなくて座標でやるけど
0132名前は開発中のものです。
2008/09/10(水) 22:14:15ID:/11ha6BZ0133名前は開発中のものです。
2008/09/10(水) 22:24:52ID:d9umvWI9画像の変化があるんだから
結局、吉里吉里でも前景レイヤ大量に使うじゃん
0134名前は開発中のものです。
2008/09/11(木) 07:32:26ID:TDiWxVS3何にあたるんですかね
0135名前は開発中のものです。
2008/09/11(木) 12:56:11ID:ptxH4gqK前者は、ラベルループやfor nextのstep 0で擬似的に作るだけ。
後者は、if文を連続して書くだけ。
命令の中身分かってれば余裕で再現できるだろ。
0136127
2008/09/11(木) 22:37:52ID:yhr5snbAやっぱりそうか、ありがとう。
誰かに背中を押してもらいたかった。
>>130
それだとツールチップテキストの分だけボタンの範囲が広くなってしまわない?
あと画像作るのメンドクs…。
でもありがとう。
0137名前は開発中のものです。
2008/09/13(土) 09:43:34ID:rWZ7ihZ9もう遅いかもしれないが、二つ目の方法のスクリプトを少し改造すれば行けるんじゃないか?
0138名前は開発中のものです。
2008/09/14(日) 01:42:12ID:cxoxtqng画像に名前欄作ってると台詞の時に一行空けるのはいいとしても、地の文の時に二回改行しなくてはいけないのは避けられない事なのですか?(セットウィンドウの最初に設定してある文字列表示の座標が画像の名前欄なので)
0139名前は開発中のものです。
2008/09/14(日) 02:08:52ID:d+uVCTfLつまりお前さんは、「セリフ」なのか「地の文」なのかを
勝手に解釈して、「セリフ」なら自動でに名前表示と一行改行、
「地の文」なら自動で二行改行、とかやって欲しいってわけか。
「セリフ」なのか「地の文」なのか、コンピュータが勝手に判断してくれるわけないだろう?
判断させたいのなら、それなりに何かしるしをつけないといけないのは解るだろう?
文章ごとにいちいちそういうしるしをつけていくのと、
いちいち二行改行入れるのと、どっちがマシ?
ま、しるしを入れるほうがましってのなら、ぱっと思いつくだけで二通り。
1)名前表示はテキストで行わずスプライト文字列で行う。
セットウィンドウの設定で最初のテキスト表示位置は、当然ずらす。
2)locate使う。ただし、ぶっちゃけ二行改行入れるほうが楽。
0140名前は開発中のものです。
2008/09/14(日) 02:12:08ID:cxoxtqng二行改行でも一応問題はないのですね。
1番試して見てやりやすいほうをやってみたいと思います。
本当にありがとうございます!
0141名前は開発中のものです。
2008/09/14(日) 07:17:57ID:Ybx0zDpj0142名前は開発中のものです。
2008/09/14(日) 07:20:09ID:N470CHa60143名前は開発中のものです。
2008/09/17(水) 03:04:20ID:b9Oqw/SGとりあえずやってて思うのは必要なのは根気と創意工夫だと思う
0144名前は開発中のものです。
2008/09/18(木) 14:09:15ID:Z7ury4sF0145名前は開発中のものです。
2008/09/18(木) 14:36:34ID:WyixBVpV0146名前は開発中のものです。
2008/09/18(木) 17:27:01ID:XWngXjRu0147名前は開発中のものです。
2008/09/18(木) 19:24:24ID:2j1tuQc00148名前は開発中のものです。
2008/09/19(金) 08:32:46ID:rN0hZUl80149名前は開発中のものです。
2008/09/19(金) 09:58:11ID:JB/MSRmJ0150名前は開発中のものです。
2008/09/19(金) 13:23:31ID:ZJhQzCSD以上。
0151名前は開発中のものです。
2008/09/20(土) 21:15:36ID:4pei207v初めて知ったわ。
これなら wait 命令の代用になるな。
0152名前は開発中のものです。
2008/09/20(土) 23:01:01ID:xtr0PL+H素直にwaitかdelay掛けろ
0153名前は開発中のものです。
2008/09/21(日) 12:27:10ID:ISVPWCeTでもlsphで予め画像を読み込みすぎても重くなるんだよな
どうすりゃいいんだ
0154名前は開発中のものです。
2008/09/21(日) 12:34:47ID:9v3JutvT重くても我慢するか、Nscripterを使うの諦めるかしかないんじゃないかな。
0155名前は開発中のものです。
2008/09/21(日) 12:46:00ID:ETqCfig/気のせいかもしれないので確かめてみて。
0156名前は開発中のものです。
2008/09/21(日) 12:57:02ID:wpqXqhRM0157名前は開発中のものです。
2008/09/21(日) 17:43:23ID:hiF0AyK7読込のタイミングでプログレスバー使ったから(かつ読込は起動時)、さほど待たされた感じもしなかったし
本編での挙動ももっさりした感はなかった
読み込んだ絵はどれも640*480だった
0158名前は開発中のものです。
2008/09/21(日) 18:16:42ID:ISVPWCeTありがとう
一応saveoffは入れっぱなしにしてる。
スプライトがそこまで負担かけないなら、俺のスクリプトが不味くて処理が効率悪すぎるだけなのかもしれない
とりあえず>>155の方法を試してみるよ。もしvsp使うより速くなれば最高だ
0159名前は開発中のものです。
2008/09/23(火) 07:48:58ID:NRMQKpkN0160名前は開発中のものです。
2008/09/23(火) 21:41:34ID:7CH5dvoGvspと透明画像だと速度は劇的には変わらなかったけど、体感的に少しは改善された気がしなくもない。
他の人がどの程度のスペックを想定して作ってるのか気になる
0161名前は開発中のものです。
2008/09/24(水) 11:06:36ID:eBb13LQg0162名前は開発中のものです。
2008/09/24(水) 15:39:08ID:wI2OQN54まー、>>161の言うように自分のパソでストレスなく動くのが基本だと思うが
0163名前は開発中のものです。
2008/09/24(水) 18:33:43ID:ZvXuR0dO0164名前は開発中のものです。
2008/09/24(水) 20:47:25ID:v367YO+q0165名前は開発中のものです。
2008/09/24(水) 21:21:58ID:TZlb22Cn確か公開されたの去年の夏だぞw
0166164
2008/09/25(木) 00:17:20ID:MsRls99G全然話題に上げられてなかったから忘れてたよ
去年のスレ確認してみたらこの1年で何も変わってないな
変な荒らしが流行ったくらいか
ミーとかが懐かしい・・・元気にやってるかな
0167名前は開発中のものです。
2008/09/25(木) 00:58:30ID:yeevp/Pp確かに去年は色々新しい所あったけど、今年は全くないよな。
それとミーなんて荒らしを召還しようとすんのはヤメレw
1・2スレ目の頃じゃねえかアイツ。
0168名前は開発中のものです。
2008/09/25(木) 01:25:11ID:2emESBXwif $Takahashi="大更新" mov $Ore,"大歓喜"
if $Takahashi="超更新" mov $Ore,"超歓喜"
(数十行分同様の処理)
if $Takahashi="冨樫" mov $Ore,"涙目"
(続きの処理)
if $Takahashi="更新" mov $Ore,"歓喜" :skip (※まで)
if $Takahashi="大更新" mov $Ore,"大歓喜" :skip (※まで)
if $Takahashi="超更新" mov $Ore,"超歓喜" :skip (※まで)
(数十行分同様の処理)
if $Takahashi="冨樫" mov $Ore,"涙目"
※
(続きの処理)
この2つの処理速度差って無視して大丈夫なレベルだったんだな。一応ifの連続よりskipの方が速い気がしてたが、違いがわからんかった
Win98とかで動かせば差が出てくるのかね
0169名前は開発中のものです。
2008/09/25(木) 07:57:41ID:1ubgX04l条件式が(機械語的な意味で)めんどくさい式だったり、そもそもifの数が多かったら少しもっさりした気もする
0170名前は開発中のものです。
2008/09/25(木) 12:19:45ID:MsRls99Gmov $1,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす"
resettimer
mov %0,0
for %2=0 to 99
for %1=0 to 92 step 2
mid $0,$1,%1,2
if $0=="い" add %0,0
if $0=="ろ" add %0,1
if $0=="は" add %0,2
(中略)
if $0=="す" add %0,46
next
next
gettimer %100
%100
0171名前は開発中のものです。
2008/09/25(木) 12:20:37ID:MsRls99Gmov %0,0
for %2=0 to 99
for %1=0 to 92 step 2
mid $0,$1,%1,2
if $0=="い" add %0,0 : skip 47
(中略)
if $0=="す" add %0,46 : skip 1
next
next
gettimer %100
%100
resettimer
mov %0,0
for %2=0 to 99
for %1=0 to 92 step 2
mid $0,$1,%1,2
if $0=="い" add %0,0 : goto *quit
(中略)
if $0=="す" add %0,46 : goto *quit
*quit
next
next
gettimer %100
%100
0172名前は開発中のものです。
2008/09/25(木) 12:27:36ID:MsRls99Gなし:190ms
skip:150ms
goto:140ms
つーわけで、よくあるswitch文のような使い方なら
体感で有意な差は無いだろうね
ただし、これは条件が等確率の場合
極端に出現確率に偏りがあるなら、オーダーが変わる可能性もある
それでも体感で差が出るレベルなら、
この程度の小細工でなく、まずアルゴリズムを見なおす
エディタ1画面に収まる30行くらいなら「なし」
50行越えとか、条件が複雑なら「goto」
「skip」は書きかえが面倒かつハマリなのと
どこに飛ぶか分かりにくいから使わない
それが俺のジャスティス
0173名前は開発中のものです。
2008/09/25(木) 12:33:34ID:xHa3eaBvしかもxpの別パソでは全く問題ないようで。意味不明です。
エラー症状は、「あ」と表示される直前に「不正な処理を行ったので〜」というおなじみのあれ。
envdataを消去しても意味無し、パソを再起動するとエラー内容の文字化けが直ったり意味不明。
古いパソを持っていて暇な人は次のスクリプトを二回は走らせるようお願い申し上げます。
二回というのは、稀に問題なく通ることがあるから。ほんと意味不明。
ver2.75(06/06/14)、ver2.82(06/09/16)、ver2.82(最新版)で確認。
■ このスレッドは過去ログ倉庫に格納されています