第2回 解答 ファンクション Naranda function Naranda(N : TBangou) : Boolean; {N 番を含む列に同じマークが3つ並んだか調べる} begin case N of 1 : Result := Onaji(1,2,3) 2 : Result := Onaji(1,2,3) 3 : Result := Onaji(1,2,3) 4 : Result := Onaji(4,5,6) 5 : Result := Onaji(4,5,6) 6 : Result := Onaji(4,5,6) 7 : Result := Onaji(7,8,9) 8 : Result := Onaji(7,8,9) 9 : Result := Onaji(7,8,9) else Result := False; end; end; {Naranda} or or or or or or or or or Onaji(1,4,7) or Onaji(1,5,9); Onaji(2,5,8); Onaji(3,6,9) or Onaji(3,5,7); Onaji(1,4,7); Onaji(2,5,8) or Onaji(1,5,9) or Onaji(3,5,7); Onaji(3,6,9); Onaji(1,4,7) or Onaji(3,5,7); Onaji(2,5,8); Onaji(3,6,9) or Onaji(1,5,9); // 必要ないが,警告が出なくなる プロシージャ TebanKoutai 変更前 procedure TebanKoutai(var Player : TPlayer); {手番を交代する} begin case Player of Maru : begin Player := Batu; WriteLn('×の番です'); end; Batu : begin Player := Maru; WriteLn('○の番です'); end; end; end; {TebanKoutai} プロシージャ TebanKoutai 変更後 procedure TebanKoutai(var Player : TPlayer); {手番を交代する} begin if Player = Maru then begin Player := Batu; WriteLn('×の番です'); end else begin Player := Maru; WriteLn('○の番です'); end; end; {TebanKoutai} プロシージャ BanWoKaku procedure BanWoKaku; {盤を書く} var N : TBangou; begin WriteLn('┌─┬─┬─┐'); for N := 1 to 9 do begin Write('│'); YousoWoKaku(N); if N in [3,6] then begin WriteLn('│'); WriteLn('├─┼─┼─┤'); end; end; WriteLn('│'); WriteLn('└─┴─┴─┘'); end; {BanWoKaku}
© Copyright 2024 ExpyDoc