Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :( (https://www.delphipraxis.net/165532-problem-bei-abspielen-eines-sounds-und-verhindern-von-ueberlappen-von-schiffen.html)

FlyorCry 4. Jan 2012 12:18

Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :(
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo liebe Com :)
Vorweg möchte ich gerne sagen dass ich Anfänger im Umgang mit Delphi7 bin, derzeit in die 6te Klasse eines Oberstufengyms gehe und dort Schüler in einem Programmierorientierten Zweig bin :D
D.h ich arbeite jetzt seit ca. 1,5 Jahren regelmäßig mit Delphi 7.
Im Moment habe ich Ferien, und weil ich nicht möchte,dass ich einroste(Wer rastet der rostet:feuerchen:) habe ich mich daran gemacht Schiffe versenken ( Haben wir mal in der Schule gemacht) zu verbessern.
Leider stehe ich vor 2 großen Problemen.
Zwar kann ich beim Start des Programmes einen Sound abspielen ( in meinem Fall ein Schiffshorn :D) aber anscheinend nicht bei StringGrid.SelectCell :/ ( Screenshot im Anhang)
Mein zweites Problem ist,dass sich beim Setzen der Schiffe diese überlappen -> das möchte ich jedoch verhindern, habe bereits den Tipp bekommen das ganze Array auf false zu setzen und danach jene Felder "true" zu machen auf denen mein Schiff steht. Jedoch kommt es auch zu einem ( für mich seeehr komischen) "Bug". Ein weiterer Screenshot im Anhang.
Könntet ihr mir da eventuell weiterhelfen?
Freue mich über jede Antwort und auch über Tipps aber beachtet bitte dass ich wahrscheinlich die meisten Befehle noch nicht beherrsche.
Das gesamte Programm lade ich (gezippt) ebenfalls hoch.

IceBube 4. Jan 2012 13:24

AW: Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :(
 
Hallo!

Anscheinend hast du Stringgrid2.SelectCell die Procedure Stringgrid1.SelectCell zugewiesen!

Da du eh mit einem Array arbeitest, kannst du vorher überprüfen ob die Felder/das Feld bereits besetzt ist!

Delphi-Quellcode:
var
 besetzt : Boolean;

besetzt := FALSE;

for I := 0 to Ende do
 if (playerfield[x, y] = 'x') then Besetzt := TRUE;

//Abfrage
if besetzt Then
begin
 showMessage('Feld belegt..');
 Exit;
end ELSE
//setzen
lg

himitsu 4. Jan 2012 13:40

AW: Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :(
 
Zitat:

Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :(
Du hattest dir doch bestimmt mal, beim Anmelden im Forum, die AGB durchgerlesen.
Dann kennst du ja die Eine der wenigen Regeln: "Nur eine Frage pro Thread".

Tipp: Verschiebe das Soundproblemchen, da das Andere hier ja nun schon angefangen wurde.

FlyorCry 4. Jan 2012 15:44

AW: Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :(
 
Tut mir leid bin Anfänger :(
Und neu in DP :/
Danke trotzdem.
Bis jetzt noch nicht wirklich weiter gekommen, arbeite noch daran.
MfG

Mavarik 7. Jan 2012 03:36

AW: Problem bei Abspielen eines Sounds und verhindern von überlappen von Schiffen :(
 
[OT]
Zitat:

Zitat von himitsu (Beitrag 1144318)
Du hattest dir doch bestimmt mal, beim Anmelden im Forum, die AGB durchgerlesen.
Dann kennst du ja die Eine der wenigen Regeln: "Nur eine Frage pro Thread".

Wow.. Direkt mit dem AGB Holzhammer...Klingt ja wie ne Abmahnung... Was los..?:oops:

Grüsse Mavarik

[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 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