Hallo Aufagebenstellung sieht folgendermaßen aus:
Aufgabe1
Schreibe ein Programm "Schiffe Versenken", das in einem 2dimensionalen Array der Größe 8x8 3 Schiffe platziert (2 Zweier und 1 Dreier) und es einem Benutzer ermöglicht über die Tastatur Koordinaten einzugeben. Wenn eine eingegebene Koordinat mit einem Schiff übereinstimmt, soll das Programm das Wort "Treffer" ausgeben, wenn nicht soll "Wasser" ausgegeben werden.
Das Programm soll zusaätzlich überprüfen, ob die om Benutzer eingegebenen Koordinaten gültig sind. Bei ungültigen Koordinaten soll eine Fehlermeldung ausgegeben werden.
So weit so gut, das Programm steht, aber jetzt die Aufgabe 2:
Erweitere das Programm"Schiffe Versenken" so, dass das Programm die Meldung "Versenkt" ausgibt wenn alle Koordinaten eines Schiffes getroffen wurden.
Was auch noch schön wäre eine option, damit nicht immer wider das Programm neu geöffnet werden muss.
Und hier hört mein Latein absolut auf. Habe ehrlich gesagt auch keine Idee wie ich da drin gehen soll.
Damit ihr mal schauen könnt wie mein Programm bis jetzt aussieht stelle ich das ganze Ding mal rein.
Ich bin in der Lehre als Fachinformatiker Systemintegration und habe erst mitte Januar angefangen und in der Schule hatte ich auch nicht wirklich ein Fach was einen darauf vorbereitet hat.
Diese Aufgabe hat mein Ausbilder mir gestellt, also keine Hausaufgabe oder sowas.
HILFE!!!
Ich werd noch bekloppt mit dem Programmieren:upps
program schiffe_versenken;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
feld: array [1..8, 1..8] of char;
x,y:integer;
schiff1 : char;
schiff2 : char;
schiff3 : char;
ziel1,ziel2:integer;
wdh : boolean;
begin
// BEFUELLEN des Arrays
schiff1:='S';
schiff2:='S';
schiff3:='S';
for y:=1 to 8 do
begin
for x:=1 to 8 do
begin
feld[x,y]:='W';
end; //for x
end;//for y
// ANLEGEN der Schiffe
//Das 1.Schiff anlegen
feld[1,1]:= schiff1;
feld[2,1]:= schiff1; //ende des ersten Schiffes
// Das 2. Schiff anlegen
feld[4,5]:= schiff2;
feld[4,4]:= schiff2; //ende des zweiten Schiffes
// Das 3. Schiff anlegen
feld[1,8]:= schiff3;
feld[2,8]:= schiff3;
feld[3,8]:= schiff3; // ende des dritten Schiffes
// AUSGABE des Arrays
for y:=1 to 8 do
begin
writeln;
for x:=1 to 8 do
begin
write(feld[x,y]:4);
end; //for x
Writeln;
end;//for y
writeln;
//Eingabeaufforderung
// erste Abfrage der Koordinate
wdh := false;
while wdh = false do
begin
writeln ('Geben sie die erste Koordinate des Feldes ein das sie beschiessen moechten:');
readln (ziel1);
if (ziel1 =0) or (ziel1 > 8) then
begin
writeln ('Diese Eingabe ist nicht zulaessig!!!');
end
else
begin
wdh := true;
end;
end;
// zweite Abrage der Koordinate
wdh:= false;
while wdh = false do
begin
writeln ('Geben sie die zweite Koordinate des Feldes ein das sie beschiessen moechten:');
readln (ziel2);
if (ziel2 =0) or (ziel2 >8) then
begin
writeln ('Diese Eingabe ist nicht zulaessig!!!');
end
else
begin
wdh := true
end;
end;
if feld [ziel1,ziel2] = 'W' then
begin
writeln ('Sie haben nur das WASSER getroffen.');
end
else
begin
writeln ('Sie haben einen TREFFER gelandet!')
end;
readln;
end.