AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Schiffe Versenken - Probleme beim Setzen der Schiffe
Thema durchsuchen
Ansicht
Themen-Optionen

Schiffe Versenken - Probleme beim Setzen der Schiffe

Ein Thema von davguuul · begonnen am 8. Mär 2006 · letzter Beitrag vom 8. Mär 2006
Antwort Antwort
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
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Schiffe Versenken - Probleme beim Setzen der Schiffe

  Alt 8. Mär 2006, 17:10
indem du eine abfrage machst ob es an den seiten ist wenn es an den seiten ist soll halt nicht überprüft werden was drüber geht
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
markusj

Registriert seit: 9. Dez 2005
Ort: Kandel
408 Beiträge
 
#3

Re: Schiffe Versenken - Probleme beim Setzen der Schiffe

  Alt 8. Mär 2006, 17:22
*hust*, findest du nicht, dass das ganze etwas ... unelegant ist?
Wäre es nicht sinnvoller, um jedes Feld einzeln eine Abfrage durchzuführen, ob dort schon ein Schiff sitzt? (*schlechte beschreibung*)
Das ganze in eine Funktion verpacken und diese mit den Koordinaten aufrufen ...
Nochmal: diese Funktion soll prüfen, ob über, unter oder rechts/links von dem übergebenen Punkt bereits ein Schiff sitzt. Der Rückgabewert ist dann entweder true oder false (boolean).
Dort lässt sich dann auch einfach einrichten, dass ganz oben, unten oder links/rechts eine Spalte/Zeile nicht überprüft wird, weil das vermutlich an deinen Probs schuld ist.
Oder du machst deinen String-Grid eins größer und versteckst die Ränder oben, unten, rechts und links, indem du das Grid so verschiebst, dass diese nur mittels einer Scrollbar zu erreichen wären, die du natürlich deaktivierst.

mfG

Markus
Markus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz