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

アバター
パガニーニ ◆u17MtED06AwU
2019/5/22 14:23
情報交換
3号・BIG→4に向けての移植に関する情報共有スレ
3号やBIGのプログラムを移植するには、どの辺りを変えれば良いか、などを共有するスレです。

コメント

アバター
ichi 2019/5/22 15:08 ◆SpcenVme4SOE
プチコン4リファレンスより引用―-

Ver3とVer4の違い ここでは、BASIC言語の構成要素単位での大きな違いのみを説明しています。
命令単位の細かい違いは大量にあるため、割愛します。
変数型
Ver3
変数自体が型を持っており、変数名のサフィックスによって型が決定し、変数型と互換性のない値を 代入はできませんでした。ただしDEF引数は例外で、仮引数名の型サフィックスに関わらず、呼び出 し側で設定する実引数の型により変数型が決定していました。
Ver4
変数は型を持たず、常に任意の型の値を代入できます。変数名サフィックスは互換性維持のため残さ れていますが、変数定義時の初期値を決める機能しか残されていません。A$=100 という記述はVer4で は(推奨しませんが)正しい記述です。
配列
Ver3
配列は定義時の型と次元設定により扱いが厳密に決められ、定義後の明示的な拡張、次元変換はでき ませんでした。 配列定義時に要素の初期化ができず、DATA文やREAD命令,COPY命令との併用が必要でした。
Ver4
2次元以上の配列はすべて1次元配列のサブセットであり、1次元配列として参照が可能です。ただし自 動拡張を行うような命令では明示的に1次元配列である必要があります。 配列の明示的な拡張が可能です。 配列定義時と同時に要素の初期化が可能です。この場合、配列の要素数も省略可能です。 要素の初期化を行わない場合も配列要素数の省略が可能です。この場合要素数ゼロの1次元配列とし て定義されます。
アバター
ichi 2019/5/22 15:09 ◆SpcenVme4SOE
システム変数の廃止
システム変数はすべて廃止となり、代替の関数・命令・定数に移行しました。

行の継続
行末にバックスラッシュ(&H5C)を書くと、次の行も現在行の継続として扱います。長い行を改行で整形して記述可能です。

型の識別
値の型を識別する関数が追加になりました。また配列の次元数や次元毎の要素数を取得する関数も追加になりました。

制御構文
CASE文(場合分け)とLOOP文(無限ループ)が追加になりました。

ユーザー定義定数
ユーザーが定数を定義できる機能が追加になりました。

CONST #定数名 = 定数式
で定数を定義できます。

また、連番の定数を定義するENUM文も追加になりました。

定数は整数型、実数型、文字列型の値を定義可能です。また定数式には項が定数の式と、一部の関数を使用可能です。詳細はCONST文のリファレンスを参照して下さい。

定数定義は実行前に行われる事に注意して下さい。変数を用いた定数定義はできません。

設定と取得は同じ命令で行う
Ver4では、命令を覚える手間を省くため、取得と設定は可能な限り同じ命令で行う事を徹底しています。
例えばVer3まではカーソル位置の設定はLOCATE、取得はCSRXとCSRYでしたが、Ver4では取得もLOCATE OUTとなります。
また、従来設定できたけれども取得できなかったパラメータに関しても可能な限り取得できるようにしています。

画面要素
描画色は16bitカラー(RGBA1555)から32bitカラー(ARGB8888)に変更となりました。アルファチャネルは常に有効です。
BGとグラフィック画面表示はそれぞれテキストスクリーンとスプライトに統合され廃止になりました。
テキスト面は5枚表示可能となりました。
スプライト毎に参照するグラフィックページを設定できるようになりました。
表示のクリッピングは種類毎ではなく、レイヤーという表示グループ毎に設定するように変更されています。

文字コード
&H5Cが¥(円マーク)ではなく\(バックスラッシュ)になりました。
¥は&HA5を使用して下さい。
アバター
ichi 2019/5/22 15:17 ◆SpcenVme4SOE
重要な所をまとめると、

システム変数の廃止
システム変数はすべて廃止となり、代替の関数・命令・定数に移行しました。

↑例えば3号はPI()でπを取得出来ましたが、
4では 定数リテラルとして扱っているので、
Value=#PI
みたいな感じで取得する仕様になっています。
アバター
ichi 2019/5/22 15:23 ◆SpcenVme4SOE
設定と取得は同じ命令で行う
Ver4では、命令を覚える手間を省くため、取得と設定は可能な限り同じ命令で行う事を徹底しています。

↑例えばLOCATEなら
LOCATE X,Y で設定
LOCATE OUT X,Yとなっています。⬅重要
以前は...
カーソルの座標が CSRX と CSRY に格納されて
いました。
アバター
あまさとしおん 2019/5/22 16:29 ◆mzDKTVUAtwqE
一括置換で対応できるものメモ作ったので参考にどうぞ
http://petitverse.hosiken.jp/community/petitcom/topic/?read=1123

コメントを書く

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

- WEB PATIO -