lucasayres Postado Março 5, 2013 Denunciar Share Postado Março 5, 2013 (editado) alguém pode me ajudar a desenvolver o jogo de Batalha Naval em Pascal?Nesse link tem todas as especificações: Especificações do Batalha NavalESSE É O CÓDIGO QUE EU ESTOU FAZENDO:program Batalha_Naval;uses crt;var Batalha,Batalha2: array[0..9, 'A'..'J'] of char; i: integer; j: char; Jogador1:String[10]; Jogador2:String[10]; procedure Inicializar_Batalha;var Conta: integer;begin Writeln('BATALHA NAVAL:'); Writeln('Digite o nome do Jogador 1'); Readln(Jogador1); Writeln('Digite o nome do Jogador 2'); Readln(Jogador2); for i := 0 to 9 do for j := 'A' to 'J' do Batalha[i, J]:='0'; for i := 0 to 9 do for j := 'A' to 'J' do Batalha2[i, J]:='0';{ Cria 2 (dois) Porta-Avioes. } writeln('Porta-Avião'); for Conta := 1 to 1 do begin repeat i := random(6); j := chr(random(7)+65); until (Batalha[i, j] = '0') and (Batalha[i, succ(j)] = '0') and (Batalha[i, succ(succ(j))] = '0'); Batalha[i, j] := 'P'; Batalha[i, succ(j)] := 'P'; Batalha[i, succ(succ(j))] := 'P'; end;{ Cria 3 (tres) Destroyer. } for Conta := 1 to 3 do begin repeat i := random(6)+1; j := chr(random(8)+65); until (Batalha[i, j] = '0') and (Batalha[i, succ(j)] = '0'); Batalha[i, j] := 'D'; Batalha[i, succ(j)] := 'D'; end;{ Cria 5 (cinco) Submarinos. } for Conta := 1 to 5 do begin repeat i := random(6); j := chr(random(9)+65); until Batalha[i, j] = '0'; Batalha[i, j]:='S'; end; { Cria 2 (dois) Porta-Avioes. } for Conta := 1 to 1 do begin repeat i := random(6); j := chr(random(7)+65); until (Batalha2[i, j] = '0') and (Batalha2[i, succ(j)] = '0') and (Batalha2[i, succ(succ(j))] = '0'); Batalha2[i, j] := 'P'; Batalha2[i, succ(j)] := 'P'; Batalha2[i, succ(succ(j))] := 'P'; end;{ Cria 3 (tres) Destroyer. } for Conta := 1 to 3 do begin repeat i := random(6)+1; j := chr(random(8)+65); until (Batalha2[i, j] = '0') and (Batalha2[i, succ(j)] = '0'); Batalha2[i, j] := 'D'; Batalha2[i, succ(j)] := 'D'; end;{ Cria 5 (cinco) Submarinos. } for Conta := 1 to 5 do begin repeat i := random(6); j := chr(random(9)+65); until Batalha2[i, j] = '0'; Batalha2[i, j]:='S'; end; end;begin Inicializar_Batalha; clrscr; gotoxy(03, 01); write('** ',Jogador1,' **'); gotoxy(01, 02); write('# A B C D E F G H I J'); for i := 0 to 9 do begin gotoxy(01, 03+i); write(i:1,' '); end; gotoxy(30, 01); write('** ',Jogador2,' **'); gotoxy(28, 02); write('# A B C D E F G H I J'); for i := 0 to 9 do begin gotoxy(28, 03+i); write(i:1,' '); end; repeat repeat gotoxy(01, 13); write('Direção__[ ]'); gotoxy(01, 14); write('Coordenadas_[ , ]'); gotoxy(14, 14); readln(J); if j <> '*' then begin gotoxy(16, 14); readln(i); gotoxy(28+02*(ord(j)-64), 03+i); if Batalha[i, j] <> '0' then write(Batalha[i, j]) { acerto } else write('x'); { erro, ou agua } end until Batalha[i, j] ='0'; repeat gotoxy(28, 13); write('Direção__[ ]'); gotoxy(28, 14); write('Coordenadas_[ , ]'); gotoxy(41, 14); readln(J); if j <> '*' then begin gotoxy(43, 14); readln(i); gotoxy(01+02*(ord(j)-64), 03+i); if Batalha2[i, j] <> '0' then write(Batalha2[i, j]) { acerto } else write('x'); { agua } end until Batalha2[i, j] = '0'; until J = '*'; readln; end. Editado Março 6, 2013 por lucasayres Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 6, 2013 Denunciar Share Postado Março 6, 2013 reposta no forum de delphi Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
lucasayres
alguém pode me ajudar a desenvolver o jogo de Batalha Naval em Pascal?
Nesse link tem todas as especificações: Especificações do Batalha Naval
ESSE É O CÓDIGO QUE EU ESTOU FAZENDO:
program Batalha_Naval;
uses crt;
var Batalha,Batalha2: array[0..9, 'A'..'J'] of char;
i: integer;
j: char;
Jogador1:String[10];
Jogador2:String[10];
procedure Inicializar_Batalha;
var Conta: integer;
begin
Writeln('BATALHA NAVAL:');
Writeln('Digite o nome do Jogador 1');
Readln(Jogador1);
Writeln('Digite o nome do Jogador 2');
Readln(Jogador2);
for i := 0 to 9 do
for j := 'A' to 'J' do Batalha[i, J]:='0';
for i := 0 to 9 do
for j := 'A' to 'J' do Batalha2[i, J]:='0';
{ Cria 2 (dois) Porta-Avioes. }
writeln('Porta-Avião');
for Conta := 1 to 1 do
begin
repeat
i := random(6);
j := chr(random(7)+65);
until (Batalha[i, j] = '0') and (Batalha[i, succ(j)] = '0') and
(Batalha[i, succ(succ(j))] = '0');
Batalha[i, j] := 'P';
Batalha[i, succ(j)] := 'P';
Batalha[i, succ(succ(j))] := 'P';
end;
{ Cria 3 (tres) Destroyer. }
for Conta := 1 to 3 do
begin
repeat
i := random(6)+1;
j := chr(random(8)+65);
until (Batalha[i, j] = '0') and (Batalha[i, succ(j)] = '0');
Batalha[i, j] := 'D';
Batalha[i, succ(j)] := 'D';
end;
{ Cria 5 (cinco) Submarinos. }
for Conta := 1 to 5 do
begin
repeat
i := random(6);
j := chr(random(9)+65);
until Batalha[i, j] = '0';
Batalha[i, j]:='S';
end;
{ Cria 2 (dois) Porta-Avioes. }
for Conta := 1 to 1 do
begin
repeat
i := random(6);
j := chr(random(7)+65);
until (Batalha2[i, j] = '0') and (Batalha2[i, succ(j)] = '0') and
(Batalha2[i, succ(succ(j))] = '0');
Batalha2[i, j] := 'P';
Batalha2[i, succ(j)] := 'P';
Batalha2[i, succ(succ(j))] := 'P';
end;
{ Cria 3 (tres) Destroyer. }
for Conta := 1 to 3 do
begin
repeat
i := random(6)+1;
j := chr(random(8)+65);
until (Batalha2[i, j] = '0') and (Batalha2[i, succ(j)] = '0');
Batalha2[i, j] := 'D';
Batalha2[i, succ(j)] := 'D';
end;
{ Cria 5 (cinco) Submarinos. }
for Conta := 1 to 5 do
begin
repeat
i := random(6);
j := chr(random(9)+65);
until Batalha2[i, j] = '0';
Batalha2[i, j]:='S';
end;
end;
begin
Inicializar_Batalha;
clrscr;
gotoxy(03, 01); write('** ',Jogador1,' **');
gotoxy(01, 02); write('# A B C D E F G H I J');
for i := 0 to 9 do
begin
gotoxy(01, 03+i); write(i:1,' ');
end;
gotoxy(30, 01); write('** ',Jogador2,' **');
gotoxy(28, 02); write('# A B C D E F G H I J');
for i := 0 to 9 do
begin
gotoxy(28, 03+i); write(i:1,' ');
end;
repeat
repeat
gotoxy(01, 13); write('Direção__[ ]');
gotoxy(01, 14); write('Coordenadas_[ , ]');
gotoxy(14, 14); readln(J);
if j <> '*'
then begin
gotoxy(16, 14); readln(i);
gotoxy(28+02*(ord(j)-64), 03+i);
if Batalha[i, j] <> '0'
then write(Batalha[i, j]) { acerto }
else write('x'); { erro, ou agua }
end
until Batalha[i, j] ='0';
repeat
gotoxy(28, 13); write('Direção__[ ]');
gotoxy(28, 14); write('Coordenadas_[ , ]');
gotoxy(41, 14); readln(J);
if j <> '*'
then begin
gotoxy(43, 14); readln(i);
gotoxy(01+02*(ord(j)-64), 03+i);
if Batalha2[i, j] <> '0'
then write(Batalha2[i, j]) { acerto }
else write('x'); { agua }
end
until Batalha2[i, j] = '0';
until J = '*';
readln;
end.
Editado por lucasayresLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.