Einzelnen Beitrag anzeigen

davguuul

Registriert seit: 1. Mär 2006
1 Beiträge
 
#1

Schiffe Versenken - Probleme beim Setzen der Schiffe

  Alt 8. Mär 2006, 16:51
Hey,
in der Schule arbeiten wir gerade an einem Projekt, wobei ich Schiffe versenken programmiere. im großen und ganzen funktioniert das programm auch schon, nur noch ein fehler stört mich sehr.

wenn man seine schiffe setzt, klickt man auf das feld (string grid), aber auf dem feld soll natürlich nicht schon ein schiff sein und auch nicht auf den feldern drum herum (damit die nicht alle auf einem haufen sind). das funktioniert soweit ja auch, nur das problem ist (abgesehen vobn der länge meiner möglichkeit *g*), dass man in der ganz linken und ganz rechten spalte keine schiffe setzen kann.
hab schon vieles rumprobiert, funktioniert aber nur, wenn ich alles wieder rausnehme (man die schiffe also überall hinsetzen kann).


Code:
  if radiobutton1.checked then
  begin
    if s4>0 then
    begin
      if StringGrid1.Cells[schuX-1,schuY+1]='' then
      begin
        if StringGrid1.Cells[schuX-1,schuY]='' then
        begin
          if StringGrid1.Cells[schuX-1,schuY-1]='' then
          begin
            if StringGrid1.Cells[schuX,schuY+1]='' then
            begin
              if StringGrid1.Cells[schuX,schuY]='' then
              begin
                if StringGrid1.Cells[schuX,schuY-1]='' then
                begin
                  if StringGrid1.Cells[schuX+1,schuY+1]='' then
                  begin
                    if StringGrid1.Cells[schuX+1,schuY]='' then
                    begin
                      if StringGrid1.Cells[schuX+1,schuY-1]='' then
                      begin
                        StringGrid1.Cells[schuX,schuY]:=' X';
                        s4:=s4-1;
                        zahl:=zahl-1;
                        label5.caption:=inttostr(zahl);
                        label21.caption:=inttostr(s4);
                      end;
                    end;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end;

wäre echt toll, wenn irgendwer von euch da ne idee hätte!
  Mit Zitat antworten Zitat