プレイ日記
まりを tomoyaTT88
寝る前に現状報告しときます。 USEが必要なのかと間違っていそうな考えと共に、ネットでSLOTのデータをロードする方法を調べてもさすがにピンポイントな情報は来ず、でんぺんさんがPUCHI-LOADERの紹介をしているページまで来てしまっていました。 ボタンの件は、BUTTON2の後NEXTの中のBUTTON()が『まだ押してる』と思って誤作動を起こす。 起こさない方法はプログラムがNEXTに到達する前に指をボタンから60分の数秒という迅速な対応が必要な始末。
2そうだね
プレイ済み
返信[1]
親投稿
まりを tomoyaTT88
文末が途中から変わっちゃった
0そうだね
プレイ済み
返信[2]
親投稿
まりを tomoyaTT88
訂正 60分の数秒で指をボタンから迅速で離さなければいけないという始末。
0そうだね
プレイ済み
返信[3]
親投稿
まりを tomoyaTT88
訂正さえも間違ってるとか俺疲れてるわ おやすみなさい
0そうだね
プレイ済み
返信[4]
親投稿
だにえる haru2016nen
実行中ではない別のスロットに ファイルをロードするときは LOAD "PRG1:ファイル名"   ↑      スロット
1そうだね
プレイ済み
返信[5]
親投稿
だにえる haru2016nen
ロードしたものの内容の利用は USEしてからのGOTO,GOSUBだったり、 EXECを使う方法がある。
1そうだね
プレイ済み
返信[6]
親投稿
ちなみにパソコンは使ってますか? 命令はPCでスマイルブームサイトの命令表を見るのがみやすいと思いますよ。 それで調べるときは、関連ありそうな名前などから検索してみたり、命令の引数などで機能が変わらないかをチェックしてみるといいと思います。 余裕があれば、命令表には一通り目を通しておくといいと思います。ちゃんと覚えられなくてもよくて、こんな機能があるのか、とか、こんな使い方があるのか、とか、そんな雰囲気をザックリ見れればいいです。 実際は必要になった時にまた調べて、ちゃんとした使い方を見ながらやることになると思いますし、実際始めから全部覚えておくのは難しいと思いますしね。(僕もちゃんとは覚えてません)
1そうだね
プレイ済み
返信[7]
親投稿
>つららさん すいません。コードは正常に動くと思いましたが実際のコードをプチコンで試す事が出来てないので、もし間違いがあったら悪いと思って書きました。実際に問題がありそうなら書き込んでもらったらこっちでも再検証したいと思って…。 と言うことで、これからは不用意なことを書かないように書き込みは控えたいと思います。すいませんでした…。
1そうだね
プレイ済み
返信[8]
親投稿
とりあえず混乱を避けるために不確かな投稿を削除しました。 >まりをさん これからも頑張ってプチコンを楽しんでください!
2そうだね
プレイ済み
返信[9]
親投稿
まりを tomoyaTT88
SLOT1には会話用データが控えております。 さぁ上からあ行か行さ行のデータがSLOT1に書き込まれており、SLOT0からラベルで呼び出されようとしております! 天気は曇りそして夕方の5時、ここで注目のあ行! ラベルで呼び出されるのを待っております! ここで、RUNが ああーっと!Unfind label! 『主催者のまりを、SLOT1からラベルを探し出す方法を知らなかった!』 すいません教えてください
1そうだね
プレイ済み
返信[10]
親投稿
"1:@NAME" @の前に スロット番号: を付ける
2そうだね
プレイ済み
返信[11]
親投稿
MIKI ifconfig
ツララさん> USE命令は宣言系の命令なので 「宣言系の命令」ってどういう意味ですか?? 他にどんな命令ありますか?
1そうだね
プレイ済み
返信[12]
親投稿
SHUHEI Syuhei36
MIKIさん>DIMとかかな?
2そうだね
プレイ済み
返信[13]
親投稿
MIKI ifconfig
SHUHEIさん そんな気がしますけど、プチコンの公式な用語ではないので確認しようと思って。
2そうだね
プレイ済み
返信[14]
親投稿
書き込み控えようと思ってますが、この投稿だけは乗りかかった船でもあるので、ちょっとだけコメントしますね。 他のスロットをRESTOREするには、あまさと しおんさんが教えてくれたように、スロット番号を指定する必要があります。スロット1に入ってるDATAを読みたいなら、 RESTORE "1:@ラベル名" みたいな感じです。そして他のスロットのラベルを指定したい場合は、事前にUSEでスロット番号のラベルを有効にしておく必要があります。そうじゃないとRESTOREでラベル番号を指定してもラベルが見つからない、ってなっちゃいます。 これはおそらくUSEした時にそのスロットの内容を解析してラベルなどの定義が有効になるような仕組みなのではないかと思うので、USEはスロットの中身が変わらなければ毎回呼び出す必要はないですし、1行目のスロット1へのロードの後、にUSEかなって感じです。
2そうだね
プレイ済み
返信[15]
親投稿
いい加減な回答のつもりはなかったのですが誤解をさせてしまった(誤解に受け取られる回答をしてしまった)事は申し訳なく思っています。 意見を求めてると思うのでなるべく早く回答をした方がいいかと思って回答したつもりなのですが、その関係で実際に提示したコードを実機で試す余裕がなかったので、実際に打ち込んでもしうまく動かない事があったなどの不都合が発生したときに、自分(質問者)がおかしいと悩んでしまうことが無いようにと思ったら、あのような回答になってしまいました。決して動かない変なコードを提示したつもりもないしいい怪訝な回答をしたつもりもありません。 ただ勇み足というか、上記の理由もあり完璧な答えかというとそういうわけではないですし、そのような答えが出来ない以上、回答側に回るのは失礼かという気もしたので控えることにしようと思いました。 よろしくお願いします。
0そうだね
プレイ済み
返信[16]
親投稿
MIKI ifconfig
ツララさん 私はエスパーじゃないのでツララさんの脳内にしかない概念の説明はできません。 一般的なものでもないし。 まあ説明できないならいいです。 何か誤解してるような気がしたので、確認したかっただけなので。 > そこは逆に私に説明してくれる立場のはずなんじゃないです? 勝手に私の立場を決め付けないでくださいね
0そうだね
プレイ済み
返信[17]
親投稿
まりを tomoyaTT88
でんぺんさんありがとうございます! 正常に作動しました! これはもはや私の産物ではございませぬ。 SOUND命令を次に作ろうと考えています!EVENTに音がつくようにします。 またつまづいたりして、情けなくここに頼ったりしますが、これからもよろしくお願いします! みんな、エスパーだよ!
0そうだね
プレイ済み
返信[18]
親投稿
とりあえず進展して良かったです。 ちなみにWAISLOWは使わなくてもWAITにすれば大丈夫ですよ? XSLOWを0にすればWAITのループには入らなくなるので。 あとは出来ればインデントもきちんとすれば見栄えが良くなりますけどね〜。 と言うことだけど、これからも頑張ってください!
0そうだね
プレイ済み
返信[19]
親投稿
まりを tomoyaTT88
でも、あったほうが良い感じなんです。 Aを押してWAITをゼロにしないと、表示スキップができないのです。 WAISLOWがなければWAITが1なので、結局字が流れる形になるんです。
0そうだね
プレイ済み
返信[20]
親投稿
おかしいですね…。僕の書いたサンプル通りならスキップ出来るのは確認してます。見た感じだとBUTTONの後にWAITがありますが、僕の場合はBUTTONの前にWAITの違いはありますが…。 ……と思ったら、あとIが0からになってますね。Iは1からじゃないといけません。 と言うことでサンプルと同じにすればWAISLOWが無くてもXSLOWを0にするだけでスキップ出来るようになりますよ。
1そうだね
プレイ済み
返信[21]
親投稿
まりを tomoyaTT88
あ、Iが1でいなければならない理由をお願いします。
0そうだね
プレイ済み
返信[22]
親投稿
そうですねぇ…。答えるのは簡単なんですが、一度考えてみるのもいいと思いますよ。 プログラムの流れを追って実際の変数の変化を考えてみて、0だとダメで1だと大丈夫な理由を考察してみるといいと思います。 意地悪で言ってるんじゃ無くて、そうやって考える事が大事だと思いますし力になると思うので…。(そしてその作業は面倒ではありますが難しいわけではなく為になると思うので)
1そうだね
プレイ済み
返信[23]
親投稿
そうそう、どうしてもわからなかったりヒント?が欲しかったり、なにかアドバイスした方が良さそうな事があったら聞いてくれたら答えますよ。なのでずっと悩み続けるような事になりそうな場合は言ってくださいー。
0そうだね
プレイ済み
返信[24]
親投稿
まりを tomoyaTT88
数字を大きくしてみたら、文字の流れるスピードが速くなっていました。 しかし、なぜ0がいけないかは、まだわかりません。もう少し見ます。
0そうだね
プレイ済み
返信[25]
親投稿
まりを tomoyaTT88
SLOWに入っている5とIに入っている1で、IをPRINTすると、6と出ました。 SLOWとIを足していないのに何故こうなるのですか?
0そうだね
プレイ済み
返信[26]
親投稿
中のFORはI=1の1からスタートしてTOのXSLOWまで繰り返します。 つまりSLOWに5を入れた場合、XSLOW=SLOWにしているので、1〜5までの5回繰り返してFORを抜けます。 で、FORを抜けたときには、Iの値はTOで指定した数(変数)の次の値になっています。なので、XSLOWが5の時は、それが抜けたタイミングでIをPRINTしているので、次の数字である6になっている、って感じです。 わかったかな?
1そうだね
プレイ済み
返信[27]
親投稿
そうそう。FOR I=3って書いたならIは3からスタートします。念のため。
0そうだね
プレイ済み
返信[28]
親投稿
何故0ではダメで1にしないといけないかはわかりましたか? 考え方として、FORにしたのはWAITの数が1以上だとBUTTON(2)の処理が正常に行われないという事もあります。なのでFORでのループ回数と本来のWAITで止めたい時間は一致する必要があります。 FORの場合、例えばI=0 TO 5とした場合、ループ回数は6回になりますよね?(0,1,2,3,4,5) ……という風に考えていくと見えてくると思います。 あと17行目と18行目は入れ替えてWAITを先に持ってきた方がいいかな。と言うのは、今回は大丈夫そうだけどBUTTON命令はVSYNCやWAIT時に更新されるので、その前にVSYNCやWAITがないと以前の値が変化しなくて予定通りに処理されない場合があるからです。ただ逆にした場合最低無駄に1フレームは経過しちゃいますが、それは許容範囲なレベルかなと思います。
1そうだね
プレイ済み
返信[29]
親投稿
ごめんなさい。BUTTON(2)の処理がWAITでおかしくなるのは1以上じゃ無くて2以上の時です。 あともしFORでTOの値が始めの初期値より小さい場合はループの中身は実行されません。(STEPでマイナスを指定した場合を除く) と言うのもふまえて、ループ回数の件は、さらにループして欲しくないケース、と言うのも考えていくとわかってくると思います。 と言うことで頑張ってください!
1そうだね
プレイ済み