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

アバター
まるだい ◆AdwyE6qhnxpV
2019/5/15 21:46
質問
配列、円状に数値を変更
2次元数値配列のモデルを

 00000000000
 00000000000
 00000000000
 00000000000
 00000000000
 00000000000
 00000000000

こうするとして
位置(5,4)と半径(3)を与えたら


 00000000000
 00011111000
 00111111100
 01111111110
 00111111100
 00011111000
 00000000000

というふうに、円状?に数値を変える方法を教えてください。

コメント

アバター
まるだい 2019/5/15 21:47 ◆AdwyE6qhnxpV
 
アバター
こういち 2019/5/15 22:12 ◆ou0jbJnEJ0Kb
FOR I=0TO W-1
 FOR J=0TO H-1
  IF (I-X)*(I-X)+(J-Y)*(J-Y)<=R*R THEN
   A[J,I]=1
  ENDIF
 NEXT J
NEXT I
アバター
ツララ 2019/5/16 10:08 ◆ArUdBYOYME1V
炎上?

パッと思いつく方法は
GPAGE命令で表示に使ってないグラフィック画面を操作対象に指定して
グラフィック画面にGCIRCLE命令とGPAIT命令で円を書いて
縦軸と横軸の2重のFORループで矩形領域のドット情報をGSPOIT命令でピックアップして
該当する座標の配列にだけIF文で変更を加える
とかですかね。

グラフィック画面を併用すると、円だけじゃなくていろんな形でも応用できそう。
ライブラリ的な画像を用意してGCOPY命令を活用するとか。
アバター
Soybeanman 2019/5/16 16:30 ◆SDLkyXUP6WqK
>>ツララさん
GSPOITじゃなくてGSAVEの方が早そうですね。
まあわかりやすいのはGSPOITの方ですが(GSAVEの場合二次元配列に入れるとy,xの順に添字がなってしまいややこしい)
アバター
まるだい 2019/5/16 20:03 ◆AdwyE6qhnxpV
こういちさんのコードを採用させていただきます!
ありがとうございます!

コメントを書く

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

- WEB PATIO -