コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
みどり ◆UuFOYlGswjhS
2018/3/28 18:48
質問
PRGINSで通常の変数は使えないのですか?
以前プレイ日記で上げたコウモリソダテにセーブ機能を着けようとして、PRGで変数に直接代入する形を取ろうとしたのですが、セミコロンを使うと文法エラーになってしまい、+にしても変数の型が違うと出てしまいました…
知っている方が居れば教えてください。

コメント

アバター
say 2018/3/28 19:44 ◆1nbKtD/tFu04
あれ?
書き出しのコード見せてください
アバター
はる 2018/3/28 19:50 ◆75Vh4SY8TdKS
PRGGET$()は改行も含めるので、
逆の場合はこうなります。↓

A$=PRGGET$()
数値変数=VAL(LEFT$(A$,LEN(A$)-1))
アバター
はる 2018/3/28 20:01 ◆75Vh4SY8TdKS
サンプル
アバター
あまさとしおん 2018/3/28 20:55 ◆mzDKTVUAtwqE
セミコロンの存在は一旦忘れたほうが良さそうです。

PRINT命令だけが「セミコロンをつけてくれれば型が違ってもなんでもくっ付けるよ」という特異的な取り扱いをしているだけで、プチコンでは「数値と文字列は勝手に読み替えないよ!」というのが基本のルールです。
アバター
はる 2018/3/28 21:15 ◆75Vh4SY8TdKS
プチコンではセミコロンはあまり使いません。
あまさとしおんさんのおっしゃる通り、
プチコンでは自動的に読み替えてくれません。
C#やJavaScriptなど、読み替える言語もありますが、
そこは言語によって違います。
アバター
moi 2018/3/29 9:25 ◆hL/XpFV8MD2F
例えば
変数A$と
変数Bを入れたかったら
PRGINS A$+","+STR$(B)
アバター
みどり 2018/3/29 13:20 ◆UuFOYlGswjhS
数値変数のみを入れようとしています。
アバター
はる 2018/3/29 13:34 ◆75Vh4SY8TdKS
moiさん

それだとどこまでが文字列でどこまでが数値か分からなくなるような……
アバター
moi 2018/3/29 14:22 ◆hL/XpFV8MD2F
はるさん
ご指摘ありがとうございます。直しました。
みどりさん
でしたら
A$+","+
というところを抜くだけでOKです
アバター
こういち 2018/3/29 16:45 ◆ou0jbJnEJ0Kb
PRGINS FORMAT$("%d",V)
アバター
Ryou Tanpo 2018/3/30 8:30 ◆AI5iRr9FjmkJ
数値変数1つだけの保存だったら PRG 使うよりは普通に文字列変数を TXT 形式で保存した方がやりやすいと思います。しかもシンプルにできるし。
以下は数値変数 HISCORE の場合。ファイル名は "HISCORE" とします。

セーブ : SAVE "TXT:HISCORE", STR$(HISCORE)
ロード : HISCORE=VAL(LOAD("TXT:HISCORE",0))

何を保存するかによって良い方法があるので。
アバター
Ryou Tanpo 2018/3/30 8:31 ◆AI5iRr9FjmkJ
ちなみにセミコロンは PRINT, INPUT, LINPUT の3つだけで有効なのでそれ以外では全く使えません。そもそも既に出されているようにこれらの命令が特殊、というだけです。
アバター
はる 2018/3/30 11:33 ◆75Vh4SY8TdKS
数値変数だったらDAT形式の方がいいと思います。
アバター
みどり 2018/3/30 15:40 ◆UuFOYlGswjhS
EXECでセーブデータに飛んで「=」で数値を代入して使用したいです。
アバター
moi 2018/3/30 16:09 ◆hL/XpFV8MD2F
では
変数Aがセーブデータとすると
PRGINS "A="+STR$(A)
アバター
moi 2018/3/30 16:14 ◆hL/XpFV8MD2F
これで解決しなかったらもう終わり(`・∀・´)。
アバター
みどり 2018/3/30 16:56 ◆UuFOYlGswjhS
解決しませんでした。
アバター
moi 2018/3/30 16:57 ◆hL/XpFV8MD2F
つまり何がしたいかという
アバター
こういち 2018/3/30 17:16 ◆ou0jbJnEJ0Kb
EXECの前後では、使われた変数がリセットされます。
なので、
PRGEDIT 1
PRGINS FORMAT$("A=%d",A)
EXEC 1
A=VAR("1:A")
でどうですか?
アバター
みどり 2018/3/30 17:21 ◆UuFOYlGswjhS
moiさんが教えて下さった方法では、失敗しました。(文法エラー)

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -