投稿
うくじー 1221.PPTOT
・LEN命令、LOG命令の使い方がよくわからないので教えてください。 あと出来れば、  ・LEFT$命令、RIGHT$命令の使い方も教えてください。文字数分の文字を取り出す(?)ことは出来ましたが、用途がわからなければなんの役にもたたないので… 質問が多くてすみません。
4そうだね
プレイ済み
返信[1]
親投稿
うくじー 1221.PPTOT
今の自分はワンパクくんみたいに「わざわざ配列変数使わなくても出来るじゃんこれ!」みたいな気持ちになっております。 自分は命令を覚えている最中ですがなぜこんな命令があるのか?等と時々思うようなこともあります。だから自分は『これこれこういうことでこの命令が必要とされているんだよ』というのを理解しようとしましたがやっぱりそれができませんでした…
0そうだね
プレイ済み
返信[2]
親投稿
ゆうたん yu-tan-sama
LENは必須 文字列や配列の長さを数える関数 プチコンは配列の長さを増やしたり減らしたりできるので、これがないと必要なループの回数とかがわかりませぬ 範囲外になるとエラーで止まっちゃいますし… 同じように長さがバラバラな文字列を処理するときなんかも必要 LOGは対数 高校で習うことだったような気がする 自力で計算とかありえないから必要な時にないと困る LEFT$とRIGHT$は…そんなに使わないかな MID$はわりと便利に使えるけどね
0そうだね
プレイ済み
返信[3]
親投稿
命令に関しては自分が必要になった時に覚えるというのでも十分だと思いますよ。理解出来ないものを無理やり言われても納得しづらいでしょうし…。 あとはプチコンの場合はプログラムが見れるので、色々な人のプログラムをダウンロードして、見てみるのもいいと思います。例えば上記の件ならダウンロードしたプログラムに対して、LENやMID$などの検索をかければ使っていれば引っかかりますし、引っかかればそれが何をしている部分なのかなどを理解していけば、それが必要なのか、なにが便利なのか、どういう使い方が出来るのかなどが理解出来てくると思います。 理解した上で使わなくても大丈夫だと思えば使わなくても良いし、便利だと思ったら使うという感じでもいいんじゃないかと〜。
2そうだね
プレイ済み
返信[4]
親投稿
イーブン rein-2000
LEFT$()やライト$(綴りがわからん) はハイスコアを読み込む時等に 使うことができます。 例えばTXTファイルとして保存した データ01450899があるとします。 左から4桁、0145がプレイ回数で 右から4桁、0899がハイスコア だった場合に01450899から それぞれのデータを取り出すのに 使うことができます。 データを一つのTXTファイルに たくさん入れた場合の 読み込み時に使うことができます。
0そうだね
プレイ済み
返信[5]
親投稿
イーブン rein-2000
↑の続き でもLEFT$も ライト$(綴りがわからん)も MIDI$で代用できる上にその方が 使いやすいので、LEFT$じゃないと 駄目って場面は思い浮かばないです。
0そうだね
プレイ済み
返信[6]
親投稿
グレイ pokers
IF BUTTON(1)==128&&LEN(A$)>0 THEN A$=LEFT$(A$,LEN(A$)-1) みたいな使い方があるらしいです。
0そうだね
プレイ済み
返信[7]
親投稿
一応補足しておくと、みんなが話してくれたとおりですが、配列を理解して使い出すとLENは必ずと言っていいほど使いますね。 あとMID$やLEFT$等、最後に$の付いてる文字列処理命令は、その名の通り文字列を扱い出すと必要になりますが、使ってなければ不要ともいえます。もちろん文字列を文字列以外の用途(例えばマップデータなど)として利用すればそれはそれで用います。 MID$はLEFT$やRIGHT$を内包している処理でもあるんでMID$があればLEFT$やRIGHT$は使わなくてもなんとかなります。ただ用途によってはLEFT$やRIGHT$を使った方がとくにプログラムの意味合い的にしっくりくると思います。 あと例えばですが、アドベンチャーゲームでセリフを1文字1文字話しているように表示したいと思ったとき、あなたならどうしますか? まあ、そういうことです。
0そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
文字列の長さの変動がある場合はRIGHT$関数が便利です。 A$=RIGHT$(B$,3) MID$関数で同等の結果を得るためには IF LEN(B$)<3 THEN A$=B$ ELSE A$=MID$(B$,LEN(B$)-3,3) ENDIF とする必要があります。
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
LEFT$、RIGHT$の用途ですが文字、数字の桁合わせに 使うことができます。 N$="OTTA" ’なまえ S=1234 'スコア PRINT LEFT$(N$+" "*8,8);",";RIGHT$(" "*6+STR$(S),6) 名前の部分は左詰めで8文字、スコアは右詰めで6文字で表示 されるため縦に並べて複数表示しても見やすくなります。
0そうだね
プレイ済み
返信[10]
親投稿
配列変数は、同じ特徴をもった変数をまとめて扱うときに、便利な変数です。 配列変数は、DIM A[7]または、VAR A[7]で、プチコンに、これから要素数7の数値配列変数Aを使いますよと宣言すると、A[0],A[1],A[2],A[3],A[4],A[5],A[6]の7個の変数が使えるようになります。[]の中の番号は要素番号で、7個のうちどれを使うかを指定する番号です。要素番号に変数や式を使うことが出来ます。 便利な例としては、合計を求める場合を示します。 S=0 FOR I=0 TO LEN(A)-1 S=S+A[I] NEXT を実行すると合計Sを求めることが出来ます。7個ならたいしたことがありませんが、1000個になっても同じプログラムが使えます。便利だと思いませんか。 たくさんあるプチコンの機能は、必要になったときに使えば良いと思います。無理して使う必要はありません。
2そうだね
プレイ済み
返信[11]
親投稿
まげ MAGE_LOVEMARINE
電光掲示板っぽいのです。止めたい時はSTOPで。 CLS A$="PETIT COM " WHILE 1 LOCATE 0,0:PRINT A$ A$=RIGHT$(A$,LEN(A$)-1)+LEFT$(A$,1) WAIT 10 WEND
2そうだね
プレイ済み
返信[12]
親投稿
Oskar oskar_liebig
ちょっと無理やりですがLOGを使ってみました。LOGの使い道(?)の参考になれば。 ・経験値をレベルに変換する 経験値 0~ 1 → レベル 1 経験値 2~ 5 → レベル 2 経験値 6~13 → レベル 3 ... 経験値 16382~32765 → レベル 15 経験値 32766~65533 → レベル 16 ... LEVEL=FLOOR(LOG(EX+2,2)) ・音の高さを周波数で指定してBEEP 0の音を鳴らす INPUT "Hz";HZ:BEEP 0,1200*LOG(HZ/440,2)+800 数学の教科書の説明よりはイメージが湧きやすいかもしれません。
1そうだね
プレイ済み
返信[13]
親投稿
うくじー 1221.PPTOT
ありがとうございます。 実際に打ち込んでみますね。 今の所は理解できてる範囲でなにか簡単なアクションゲームを作ってみます。 完全ガイドが発売される頃には色々なことにも挑戦してみたいです。
0そうだね
プレイ済み