[戻る]
記事No.6631を表示します。
  ☆Re: お絵描きロジックのプログラム... 投稿者アルゴリズム  ID:cySXE  
最初で最後(たぶん)のプログラムらしいことを一つ(プログラムに興味ない方は適当に読み飛ばして下さい)
上記(2024/01/30 No.6630の図)、"鍵=5の「1」個"で■,□を求めるプログラム例。
左詰め、右詰めデータを求めた後の処理です。鍵の値、左詰データ、右詰めデータは一次元の配列変数です。
鍵番号(m): 0, 1, 2 → 実際の鍵は「1」個だけですが、前後を想定します。
鍵の値   : *, 5, * → "*"は使用しないので何でもよい
左詰めデータ: *, 6,16 → 塗りつぶし開始位置を示す。"*"は使用しないので何でもよい
右詰めデータ: 0,12, * → 塗りつぶし開始位置を示す。"*"は使用しないので何でもよい
言語は何でも良いのですが、私はExcelVBAのN88-Basic(死語)類似部分プラスα程度しか知らないので・・・

For m=m1 To m2 'm1=一番左の未確定の鍵番号、m2=一番右の未確定の鍵番号。上記例ではm1=m2=1
For x= 右詰めデータ(m)-鍵の値(m)+1 To 左詰めデータ(m)+鍵の値(m)-1:GoSub ■確定処理:Next 'm1〜m2の処理
For x= 右詰めデータ(m-1)+1 To 左詰めデータ(m)-1 :GoSub □確定処理:Next 'm1〜m2の処理
Next
For x= 右詰めデータ(m-1)+1 To 左詰めデータ(m)-1 :GoSub □確定処理:Next 'm2+1の処理

(注)上記の「確定処理」は確定マスを含まなければ実行しないので If 文がありません。(確定処理の中にはあります)
(注)詰データを塗りつぶし開始位置としましたが多少の変更で塗りつぶし終了位置でもOKです
(注)プロのプログラマーからはマルチステートメントなど、「こんなプログラムはダメ」と怒られます
いままでの説明は上の5行の説明でプロローグです。やはりメインは詰データ作りです。 《つづく》
... 2024/01/31(Wed) 23:15 No.6631  


[ALL]お絵描きロジックのプログラムでの... by アルゴリズム
    Re: お絵描きロジックのプログラム... by アルゴリズム
    Re: お絵描きロジックのプログラム... by アルゴリズム
    Re: お絵描きロジックのプログラム... by アルゴリズム
>>Re: お絵描きロジックのプログラム... by アルゴリズム
    Re: お絵描きロジックのプログラム... by アルゴリズム
    Re: お絵描きロジックのプログラム... by アルゴリズム
    Re: お絵描きロジックのプログラム... by アルゴリズム