program TicTacToe1; {チックタックトウ(○×ゲーム)} {学生証番号 氏名} {$APPTYPE CONSOLE} uses SysUtils; type TBangou = 1..9; // 部分範囲型 // 3×3の枡につけた1〜9の通し番号 TYouso = (Kara,Maru,Batu); // 列挙型 // 枡の要素=(空,○,×) TBan = array [TBangou] of TYouso; // 配列 // 盤=9つの枡(3×3) var Ban : TBan; procedure BanSyokika; {盤を初期化する} var N : TBangou; begin for N := 1 to 9 do Ban[N] := Kara; end; {BanSyokika} procedure YousoWoKaku(N : TBangou); {Ban[N]を書く} begin case Ban[N] of Maru : Write('○':2); Batu : Write('×':2); Kara : Write(' ':2); end; end; {YousoWoKaku} procedure BanWoKaku; {盤を書く} var N : TBangou; begin WriteLn; WriteLn('+−+−+−+'); for N := 1 to 9 do begin Write('|'); YousoWoKaku(N); if N mod 3 = 0 then begin WriteLn('|'); WriteLn('+−+−+−+'); end; end; end; {BanWoKaku} begin BanSyokika; BanWoKaku; ReadLn; end.