AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Spiel nachprogrammieren - Gegnerberührung funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

Ein Thema von Premaider · begonnen am 28. Aug 2012 · letzter Beitrag vom 30. Aug 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 29. Aug 2012, 09:34
Das war eine vereinfachte Betrachtungsweise, wo es nur darum ging, wie man die Kollisionsüberwachung der Figuren vereinfachen kann. Du musst das Konzept in deine Klassen einbauen.

Was damit gezeigt werden sollte, wie man mit Vererbung den Code einfacher hält.

CopyPaste funktioniert da nicht
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 29. Aug 2012, 09:36
Ohoh... Lege dir doch bitte erst mal die Grundlagen zu. Ich glaube, du hast da einige Defizite udn es ist schwer dir dann richtig zu helfen.

Der Code von Sir Rufo funktioniert und das auch mit Delphi 7. Die Typdeklarationen kommen in den Type-Deklaration über den implementation-Teil. Und der Code gehört in den implementation-Teil, also darunter.

Aber nur Copy&Paste ist halt nicht, es gehört auch dazu den Code zu verstehen, denn du musst schon noch ein wenig drum herum programmieren, sodass der Code von Sir Rufo komplett funktioniert.

[add]
Wo war die rote Box?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 29. Aug 2012, 09:37
Klar geht das, man muss nur noch die fehlenden Methoden implementieren und die fehlenden Variablen deklarieren.

[edit]
[add]
Wo war die rote Box?
Das frag ich mich auch. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#14

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 29. Aug 2012, 09:43
[OT]
Hab das mit der roten Box mal gegoogelt. Scheinbar macht die gerade in Spanien Urlaub. Siehe Foto
[/OT]
Miniaturansicht angehängter Grafiken
images.jpg  
Ralph
  Mit Zitat antworten Zitat
Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#15

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 29. Aug 2012, 10:03
Das war eine vereinfachte Betrachtungsweise, wo es nur darum ging, wie man die Kollisionsüberwachung der Figuren vereinfachen kann. Du musst das Konzept in deine Klassen einbauen.

Was damit gezeigt werden sollte, wie man mit Vererbung den Code einfacher hält.

CopyPaste funktioniert da nicht
Ach so hast du das gemeint xDD
Ja dann ist das klar ^^
Ich werds versuchen wenn ich wieder von der Schule da bin, muss jetzt wieder weg

[OT]
Hab das mit der roten Box mal gegoogelt. Scheinbar macht die gerade in Spanien Urlaub. Siehe Foto
[/OT]
Sinn ?
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#16

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 29. Aug 2012, 11:22
[OT]
Hab das mit der roten Box mal gegoogelt. Scheinbar macht die gerade in Spanien Urlaub. Siehe Foto
[/OT]
Sinn ?
Un-Sinn
Sollte ein Insider-Witz bzgl. der Bemerkungen zur roten Box in den vorhergegangenen Posts sein. Daher auch mit Pseudo-Off-Topic-Tags gekennzeichnet. Sorry, wenn ich dich damit irritiert haben sollte.
Nur falls nicht bekannt: Die rote (Warn-)Box sollte immer dann kommen, wenn du einen Post abschickst aber es bereits neue Posts gab, während du noch geschrieben hast.
Ralph
  Mit Zitat antworten Zitat
Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#17

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 30. Aug 2012, 17:01
Habe mich jetzt erstmal an die Bewegung und das abprallen der Gegner gesetzt:

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
m,l,k,links,rechts,oben,unten,Geschwindigkeit:Integer;
begin
    //Gegner bewegen
    If length(Gegner)>=1 Then
      begin
        For l:= 0 to length(gegner)-1 do
          begin
            If Gegner[l].width > Gegner[l].height Then
              begin
                //Wenn Gegner waagrecht ist
                Gegner[l].Left:=Gegner[l].left + Gegner[l].speed;
                for k := 0 to high(Gegner) do
                  begin
                    links := Gegner[k].left;
                      if links <= 0 then
                        begin
                          Gegner[k].speed := Gegner[k].speed * -1;
                        end;
                      if Links + Gegner[k].Width >= Form1.clientwidth + Gegner[k].left then
                        begin
                         Gegner[k].speed := Gegner[k].speed * -1;
                        end;
                  end;

              end;
            If Gegner[l].width < Gegner[l].height Then
              begin
             //Wenn Gegner senkrecht ist
                Gegner[l].top:=Gegner[l].top + Gegner[l].speed;
                for m := 0 to high(Gegner) do
                  begin
                    oben := Gegner[m].top;
                      if oben <= 0 then
                        begin
                          Gegner[m].speed := Gegner[m].speed * -1;
                        end;
                      if oben + Gegner[m].Height >= Form1.clientheight then
                        begin
                          Gegner[m].speed := Gegner[m].speed * -1;
                        end;
                  end;
              end;
        end;
   end;
end;
Leider funktioniert das nicht ganz. Die Gegner prallen manchmal ab und manchmal nicht und ich
verstehe nicht warum. Kann mir jemand sagen, was ich falsch mache ?
Ich kann euch auch nochmal das Projekt hochladen, damit ihr es euch mal anschauen könnt.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 30. Aug 2012, 18:46
Ich hab's mir letztens auch mal angeschaut, kapier' das Spiel aber leider nicht. Mir ist auch aufgefallen, daß du von fünf Timer benutzt mit einem Intervall von 1 ms. Der Sinn dieser Timer war mir auch nicht klar.

Auch das könnte weiterhelfen:

http://www.delphi-treff.de/tipps/gra...e-kollidieren/
  Mit Zitat antworten Zitat
Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#19

AW: Spiel nachprogrammieren - Gegnerberührung funktioniert nicht

  Alt 30. Aug 2012, 19:54
Das hat mir sehr geholfen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:26 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