Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Program JogodaVelha; Type posicoes = array [1..9] of char; Var valor : posicoes; resultado : string; fimdojogo : boolean; posicao, tempo, jogador, i, c : integer; Procedure Tabuleiro; Begin Gotoxy(16,4); Write(chr(179)); Gotoxy(20,4); Write(chr(179)); Gotoxy(13,5); Write(chr(196)); Gotoxy(14,5); Write(chr(196)); Gotoxy(15,5); Write(chr(196)); Gotoxy(16,5); Write(chr(197)); Gotoxy(17,5); Write(chr(196)); Gotoxy(18,5); Write(chr(196)); Gotoxy(19,5); Write(chr(196)); Gotoxy(20,5); Write(chr(197)); Gotoxy(21,5); Write(chr(196)); Gotoxy(22,5); Write(chr(196)); Gotoxy(23,5); Write(chr(196)); Gotoxy(16,6); Write(chr(179)); Gotoxy(20,6); Write(chr(179)); Gotoxy(13,7); Write(chr(196)); Gotoxy(14,7); Write(chr(196)); Gotoxy(15,7); Write(chr(196)); Gotoxy(16,7); Write(chr(197)); Gotoxy(17,7); Write(chr(196)); Gotoxy(18,7); Write(chr(196)); Gotoxy(19,7); Write(chr(196)); Gotoxy(20,7); Write(chr(197)); Gotoxy(21,7); Write(chr(196)); Gotoxy(22,7); Write(chr(196)); Gotoxy(23,7); Write(chr(196)); Gotoxy(16,8); Write(chr(179)); Gotoxy(20,8); Write(chr(179)); End; Procedure Mover(pos:integer); Begin Case pos of 1:Gotoxy(14,4); 2:Gotoxy(18,4); 3:Gotoxy(22,4); 4:Gotoxy(14,6); 5:Gotoxy(18,6); 6:Gotoxy(22,6); 7:Gotoxy(14,8); 8:Gotoxy(18,8); 9:Gotoxy(22,8); End; End; Begin Tabuleiro; For i:=1 to 9 do valor[i]:='-'; //Posiçőes 1|2|3 // 4|5|6 // 7|8|9 fimdojogo:=false; jogador:=1; Gotoxy(10,2); Write('Jogo da Velha!'); Gotoxy(10,3); Write('É a vez do jogador ',jogador); Gotoxy(14,4); Posicao:=1; while not fimdojogo do //Enquanto o jogo năo terminou Begin if keypressed then //Se alguma tecla pressionada Begin case upcase(readkey) of #0: case upcase(readkey) of #75 :Begin //Seta para esquerda case posicao of 1:posicao:=9; 2:posicao:=1; 3:posicao:=2; 4:posicao:=3; 5:posicao:=4; 6:posicao:=5; 7:posicao:=6; 8:posicao:=7; 9:posicao:=8; End; mover(posicao); End; #77 :Begin //Seta para direita case posicao of 1:posicao:=2; 2:posicao:=3; 3:posicao:=4; 4:posicao:=5; 5:posicao:=6; 6:posicao:=7; 7:posicao:=8; 8:posicao:=9; 9:posicao:=1; End; mover(posicao); End; #72 :Begin //Seta para cima case posicao of 1:posicao:=7; 2:posicao:=8; 3:posicao:=9; 4:posicao:=1; 5:posicao:=2; 6:posicao:=3; 7:posicao:=4; 8:posicao:=5; 9:posicao:=6; End; mover(posicao); End; #80 :Begin //Seta para Baixo case posicao of 1:posicao:=4; 2:posicao:=5; 3:posicao:=6; 4:posicao:=7; 5:posicao:=8; 6:posicao:=9; 7:posicao:=1; 8:posicao:=2; 9:posicao:=3; End; mover(posicao); End; End; #13: Begin // Enter If valor[posicao]='-' then Begin If jogador=1 then Begin Write('X'); valor[posicao]:='X'; jogador:=2; End else Begin Write('O'); valor[posicao]:='O'; jogador:=1; End; mover(posicao); If ((valor[1]='X') and (valor[2]='X') and (valor[3]='X')) or ((valor[4]='X') and (valor[5]='X') and (valor[6]='X')) or ((valor[7]='X') and (valor[8]='X') and (valor[9]='X')) or ((valor[1]='X') and (valor[4]='X') and (valor[7]='X')) or ((valor[2]='X') and (valor[5]='X') and (valor[8]='X')) or ((valor[3]='X') and (valor[6]='X') and (valor[9]='X')) or ((valor[1]='X') and (valor[5]='X') and (valor[9]='X')) or ((valor[3]='X') and (valor[5]='X') and (valor[7]='X')) then Begin fimdojogo:=true; resultado:='O Jogador 1 Venceu.'; break; End; If ((valor[1]='O') and (valor[2]='O') and (valor[3]='O')) or ((valor[4]='O') and (valor[5]='O') and (valor[6]='O')) or ((valor[7]='O') and (valor[8]='O') and (valor[9]='O')) or ((valor[1]='O') and (valor[4]='O') and (valor[7]='O')) or ((valor[2]='O') and (valor[5]='O') and (valor[8]='O')) or ((valor[3]='O') and (valor[6]='O') and (valor[9]='O')) or ((valor[1]='O') and (valor[5]='O') and (valor[9]='O')) or ((valor[3]='O') and (valor[5]='O') and (valor[7]='O')) then Begin fimdojogo:=true; resultado:='O Jogador 2 Venceu.'; break; End; If (valor[1]<>'-') and (valor[2]<>'-') and (valor[3]<>'-') and (valor[4]<>'-') and (valor[5]<>'-') and (valor[6]<>'-') and (valor[7]<>'-') and (valor[8]<>'-') and (valor[9]<>'-') then Begin fimdojogo:=true; resultado:='Empate.'; break; End; End; End; #27: Begin fimdojogo:=true; resultado:='Empate.'; break; End; End; Gotoxy(10,3); Write('É a vez do jogador ',jogador); mover(posicao); End; End; Gotoxy(10,10); Write('Resultado: ',resultado); End.
Compartilhar