program IshiOki1; {$APPTYPE CONSOLE} uses SysUtils; type TBangou = 0..69; // マスの通し番号 TYouso = (Kara,Kuro,Siro,Dame); // マスに入る要素 TBan = array [TBangou] of TYouso; // 5×8を一回り大きくした盤 const Kigou : array [TYouso] of String[2] // 要素を書く記号 = (' ','●','○',' '); var {全体で使う変数} Ban : TBan; procedure BanSyokika; {盤を初期化する} var N,G,R : TBangou; begin for N := 0 to 69 do begin Ban[N] := Dame; end; for G := 1 to 5 do for R := 1 to 8 do begin Ban[G*10+R] := Kara; end; end; {BanSyokika} procedure YousoWoKaku(N : TBangou); {Ban[N] の要素を書く} begin Write(Kigou[Ban[N]]); end; {YousoWoKaku} procedure BanWoKaku; {盤を書く} var Gyou,Retu : TBangou; begin WriteLn('   -1 -2 -3 -4 -5 -6 -7 -8 '); WriteLn('  ┌─┬─┬─┬─┬─┬─┬─┬─┐'); for Gyou := 1 to 5 do begin Write(Gyou:3, '-│'); for Retu := 1 to 8 do begin YousoWoKaku(Gyou*10+Retu); Write('│'); end; WriteLn; if Gyou < 5 then WriteLn('  ├─┼─┼─┼─┼─┼─┼─┼─┤'); end; WriteLn('  └─┴─┴─┴─┴─┴─┴─┴─┘'); end; {BanWoKaku} procedure Game; {1ゲーム実行} begin BanSyokika; // 盤を初期設定する BanWoKaku; // 盤を書く end; {Game} var {Main だけで使う変数} YesNo : String; begin {Main} repeat Game; Write('終了しますか [y(Yes) / y以外(No)] ? '); ReadLn(YesNo); until YesNo = 'y'; end. // end. 以下は無視されます.