コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
うょリウム(元 SPDX) ◆gZYHRw9FSPa8
2021/8/7 23:57
サンプルプログラム
「SPGED」の不具合を発見しました。

前々からGRP画面の端
(X座標511とY座標511)が塗られる
現象が起きていました。

ようやく解ったのですがUNDOの範囲が間違っているようです。

たとえば全体を塗り潰してUNDOすると右端と下端だけに色が残ります。

コメント

アバター
うょリウム(元 SPDX) 2021/8/7 23:58 ◆gZYHRw9FSPa8
こんな感じです(わかりにくい)
右端と下端に赤色が残っています。
アバター
うょリウム(元 SPDX) 2021/8/8 0:00 ◆gZYHRw9FSPa8
これらを
0,0,512,512
に直せば良いのですが

SYSなので
スマイルツールから開くものは
直しようがありません。
アバター
あまさとしおん 2021/8/9 14:13 ◆mzDKTVUAtwqE
あらぁ
まさかの公式が引数を間違えるなんて…

本当は 始点X,始点Y,幅,高さ なのに 始点X,始点Y,終点X,終点Y と間違えたと考えれば、座標が1だけ間違ってるのが説明がつきます。

GFILLやGCOPYなどでは 始点X,始点Y,終点X,終点Y の指定なのに
GSAVEだと 始点X,始点Y,幅,高さ って、言語仕様として筋が通ってない気がするんですよね。
個人的には全部 始点X,始点Y,幅,高さ に統一してほしかった。
アバター
Na 2021/8/9 14:33 ◆QoELVrBXBQCI
GFILLの引数はBASICの仕様を引き継いで始点,終点にしたのだと思います。
https://smileboom.com/special/petitcom/index_a40.html
>たとえば昔のマシンでLINE文にしばしば「(x1,y1)-(x2,y2)」といった表現が使われましたが、プチコンではこれを「x1,y1,x2,y2」と表現します。

GLINEをx,y,幅,高さと書くのはさすがにおかしいので、GFILLを幅,高さで書くとGLINEとの仕様の違いがややこしくなる気がします
GCOPYは幅,高さのほうがいいかもしれないですが、初代mkIIではGLOADやGSAVEは無いので他の命令に合わせて終点xyで書くのが自然です
プチコン3号でGLOADやGSAVEが追加されたときにGCOPYを仕様変更して幅,高さに統一したとすると、互換性的によくないし初代やmkIIをやっていた人からすると混乱するかも
アバター
あまさとしおん 2021/8/9 15:11 ◆mzDKTVUAtwqE
確かに、過去互換はあるからなぁ…
とはいえOPTIONとかで相対座標系に切り替えるモードが欲しかった…
アバター
うょリウム(元 SPDX) 2021/8/10 0:28 ◆gZYHRw9FSPa8
過去互換とーゆうてしまうとー

mkll→3号
・転送できない(直打ちコピー)
・大体互換性あり。

3号→4
・3→4には転送できる(公開キー)
・しかし互換性は低い。

という悲しみの…。

まぁ、ハードウェアが違うから
互換性も何もないかもしれませんが。
アバター
うょリウム(元 SPDX) 2021/8/10 0:35 ◆gZYHRw9FSPa8
始点X,始点Y,幅,高さといえば
SPDEFもそうですね。

SPDEFの幅と高さは、
スプライトの幅と高さを定義するためで、
グラフィックの範囲指定とは趣旨が違う?

GLOAD、GSAVEの引数も、配列変数への
書き込み、読み出しの範囲指定という意味で、
グラフィック画面だけで処理をするGCOPYとは
そういう意味で別物なのかなぁ。

なおGCIRCLEは半径で書いた方がわかりやすいためか

コメントを書く

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

- WEB PATIO -