![]() |
breakout clon, datei problem
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, für ein Infoabschlussprojekt habe ich mir einen Breakoutclon vorgenommen. Dabei hänge ich gerade an der Dateiarbeit bzw deren umsetzung. Ich speichere das Level in der DAtei Level.txt per Editor (siehe Anhang).beim auslesen und anschließenden Zeichnen passiert aber der Fehler, dass alle blöcke immer länger werden. dabei muss es sich um einen "logischen" Fehler handeln. Könntet ihr eventuell mal drüber schauen und mir helfen diesen fehler zu finden.
Vielen Dank schonmal.
Delphi-Quellcode:
das währe dann noch meine kollision zu den einzelnen blöcken. das ganze funktioniert jetzt auch noch nicht. ich weiß aber nicht, ob das jetzt, an dem oben genannten fehler liegt. ich habe mir das ganze mal aufgezeichnet. mit meinem logischen verständniss ist die schnittmenge dieser anweisungen genau der block, sodass die entsprechenden anweisungen ausgeführt werden. das ganze klappt allerdings auch nicht. wieder die logik, oder wegen dem anderen fehler?
for i:=0 to endofarray do
if ((ball_xl<=block[i].xr)and(ball_xr>=block[i].xl)and(ball_yo<=block[i].yu)and(ball_yu>=block[i].yo)) then Ändere Richtung, deaktivieren den Block und erhöhe die Punkte |
Re: breakout clon, datei problem
Moin, Moin,
1. Ich kann in Unit1 nicht entdecken, dass hier etwas in der Datei gespeichert wird. 2. Die Datei wird zwar um Lesen geöffnet, aber nicht wieder geschlossen. 3. Warum verwendest du in FormKeyDown "GetAsyncKeystate" und nicht einfach "Key"? Die Reaktion auf die Tasten CursorLeft/Right ist viel zu träge - oder? |
Re: breakout clon, datei problem
zu 1. in der datei wird auch nichts gespeichert. ich habe die level datei einfach nur mit dem editor geschrieben und öffne diese dann in delphi.
zu 2. danke, das habe ich gleich geändert. nachdem alles ausgelesen wird schließe ich die datei jetzt. zu 3. in der schule hatten wir nur diese eine methode, ist deine methode für diesen fall von vorteil? Vielen Dank für die Antwort |
Re: breakout clon, datei problem
Hmmmmm, bin ich nun für Spiele zu alt???? Es ist schon frustierend :oops:
Na, ist ein wenig kürzer, ohne "GetAsync..." zu arbeiten:
Delphi-Quellcode:
Aber trotzdem ist die Reaktion nach meinem Empfinden immer noch zu träge
procedure TForm1.FormKeyDown(Sender:TObject;var Key:Word;Shift:TShiftState);
begin if Key=VK_RIGHT then if paddle_xr<image1.ClientWidth then begin paddle_xl:=paddle_xl+10; paddle_xr:=paddle_xr+10; end; if Key=VK_LEFT then if paddle_xl>0 then begin paddle_xl:=paddle_xl-10; paddle_xr:=paddle_xr-10; end; end; |
Re: breakout clon, datei problem
Das Bedienungsproblem kann dadurch gelöst werden, dass die Tastaturabfrage in die TimerMethode integeriert wird; damit sind wir dann wieder bei der ursprünglichen "GetAsync.." Lösung. Nun reagiert der "Schläger" zufriedenstellend schnell:
Delphi-Quellcode:
Dein Problem mit der willkürlichen Änderung der Blocklängen habe ich leider nicht wirklich verstanden :stupid:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer; begin if GetAsyncKeyState(vk_Right)<>0 then if paddle_xr<image1.ClientWidth then begin paddle_xl:=paddle_xl+10; paddle_xr:=paddle_xr+10; end ; if GetAsyncKeyState(vk_left)<>0 then if paddle_xl>0 then begin paddle_xl:=paddle_xl-10; paddle_xr:=paddle_xr-10; end; //... //.. |
Re: breakout clon, datei problem
das mit der tastatur habe ich so übernommen. das ist wirklich um einiges besser. vielen dank dafür.
hat jemand vielleicht noch eine idee, warum die blöcke so seltsam aussehhen? |
Re: breakout clon, datei problem
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe heute noch etwas weiter gemacht. das ist das resultat für heute. leider kann ich den fehler immer noch nicht finden. sowohl in der dateiarbeit als auch in der kollision. Am Start habe ich einmal eine message ausgegeben, die die die jeweiligen rechten y werte ausgeben. diese sind korrekt. auch in der zeichenfunktion kann ich keinen fehler entdecken.
was meint ihr zu dem "menü" kann man das so machen? die bedienung geht über die pfeiltasten und die enter bzw die escape taste. tw habe ich allerdings noch flackerprobleme, wenn ich auch probleme mit den blöcken habe. daran bitte nicht stören^^ dann würde ich gerne eure meinung und eure ratschläge hören. besonders zu dem blockproblem.... Vielen Dank |
Re: breakout clon, datei problem
Liste der Anhänge anzeigen (Anzahl: 1)
das eigentlich problem ist gelöst. ich hatte eine doppelzuweisung beim auslesen der dateien.
jetzt habe ich aber noch eine andere frage. gibt es eine funktion, mit dem ich text eingeben kann? damit meine ich etwas wie die funktion
Delphi-Quellcode:
das ganze aber ohne diese box. ich würde das gerne in meine oberfläche integrieren, sodass das mit dieser box ziemlich doof aussieht.
name:=InputBox('Neuer Highscore', 'Bitte gib deinen Namen ein: ', '');
Vielen Dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz