AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Autorennen Spiel (mein 2 Projekt)
Thema durchsuchen
Ansicht
Themen-Optionen

Autorennen Spiel (mein 2 Projekt)

Ein Thema von Blink · begonnen am 13. Apr 2007 · letzter Beitrag vom 28. Apr 2007
Antwort Antwort
Seite 3 von 9     123 45     Letzte »    
Benutzerbild von Blink
Blink
Registriert seit: 10. Apr 2007
Autorenne


Hab jetzt mal mein 2. Anfänger Programm fertiggestellt, naja ist zwar ein Spiel und kein Programm aber egal .

Das Spiel ist eine kleines Autorennen Spiel, man Steuert das blaue Auto und muss den entgegen kommenden Autos ausweichen.
So das Spielprinzip ist schon mal ganz einfach genau wie die Steuerung, wenn man das Spiel gestartet hat drückt man entweder auf die Leertaste um das Spiel zu starten oder die F1 Taste um sich die Highscoreliste an zugucken. Das Auto kann man mit den Pfeiltasten links und rechts Steuern.
Wenn man die 3 Leben verbraucht hat kann man sich aussuchen ob man es noch mal spielen will oder das Spiel jetzt beenden will, danach kann man sich in die Highscoreliste eintragen.

Noch was zur Steuerung, wenn man in eine Richtung gelenkt hat kann man so lange nicht zurück lenken bis der Wagen auf der anderen Spur zum stehen gekommen ist, das hab ich extra so gemacht, weil es sonst zu leicht währe. Während der Startcountdown runter zählt kann man das Auto noch gar nicht Lenken, erste wen der Countdown weg ist.


Das Spiel gibt es jetzt in zwei verschiedenen Versionen einmal eine OpenGL Version für die einen OpenGL 1.1 fähige 3D Grafikkarte benötigt wird und einmal eine Version ohne OpenGL.

Systemanforderungen für die normale Version:

Windows 98 – XP
1 Ghz CPU

Zum kompilieren aus dem Sourcecode, für die normale Version, wird noch PNGImage benötigt.



Systemanforderungen für die OpenGL Version:

3D Grafikkarte mit Unterstützung für mindestens OpenGL 1.1
800 Mhz CPU
Windows 98 - XP

Um den Sourcecode der OpenGL Version zu kompilieren braucht ihr DGLSDK


Ich empfehle euch die OpenGL Version, da diese viel flüssiger als die normale Version läuft.
Miniaturansicht angehängter Grafiken
rennenscreen_154.jpg  
Angehängte Dateien
Dateityp: zip sourcecode_108.zip (780,7 KB, 90x aufgerufen)
Dateityp: zip autorennen_601.zip (562,3 KB, 242x aufgerufen)
Dateityp: zip autorennen-ogl_140.zip (636,4 KB, 103x aufgerufen)
 
Benutzerbild von Blink
Blink

 
Turbo Delphi für Win32
 
#21
  Alt 13. Apr 2007, 20:39
Zitat von Max Langer:
Hallo Blink

find das spiel ziemlich gut, mich würde nur interresieren ob die anderen Autos alle stehen sollen?? also der Hintergrund bewegt sich genausoschnell wie die Autos.
Ich finde irgendwie das die anderen Autos auch fahren sollten, aber angsamer als das was man steuert.

Grüße

Max
Nee, da hast du schon recht die anderen Autos sollen auch Fahren (das tuen die ja schon nur die bewegen sich mit der gleichen Geschwindigkeit wie die Strasse) jetzt bewegt sich die Strasse Schneller als die anderen Autos wenn ich noch ein paar Verbesserungen vor genommen habe poste ich die neue Version. Danken für den Hinweis Max
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

 
Delphi 10.2 Tokyo Starter
 
#22
  Alt 13. Apr 2007, 20:54
Hi,

ich hab 'nen Grafikbug entdeckt (bei "Große Schhriftarten" Einstellung von Windows).

Fix: Einfach im Objektinspektor bei "Scaled" false eintragen.

Ansonsten gelingt es mir nicht, zwischen zwei nebeneinander fahrenden Autos durchzufahren. Hinter ihnen halten geht auch nicht. Was soll ich nur tun? Kann man einen davon irgendwie eliminieren?

Mfg
FAlter
Miniaturansicht angehängter Grafiken
bug_215.jpg  
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

 
Turbo Delphi für Win32
 
#23
  Alt 13. Apr 2007, 21:02
Hi Ihr,

ja es funktioniert jetzt ohne Probleme!
Die Autos sind jetzt auch unter Win98 richtig

Und der Sound ist auch klasse

@Falter ich tippe mal das es eigentlich nie passieren dürfte das zwei Autos nebeneinander stehen^^
- --> eigentlich halt.....

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Blink
Blink

 
Turbo Delphi für Win32
 
#24
  Alt 13. Apr 2007, 21:28
@Falter Kannst du das mit dem Scaled noch mal genauer erklären finde ich nämlich nicht ist das vielleicht das selbe wie Auto Size? und mit den 2 Autos die neben einander stehen Hmm... das dürfte eigentlich überhaupt nicht passieren das sich die Autos alle mit gleicher Geschwindigkeit bewegen, also unmöglich ausehr es kommtne Fehlermeldung.

@Light Danke fürs Testen , Ja und der Sound, naja ist nur einer wollte eigentlich auch noch Fahrtgeräusche nur hab ich kein plan wie ich das in einer dauer schleife dann abspielen lassen kann. Mit  sndPlaySound(PChar('Sound.wav'),SND_LOOP); hält dann das ganze Spiel an oder gibts noch eine andere Möglichkeit Ressourcen schonend Sounds abzuspielen?
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

 
Turbo Delphi für Win32
 
#25
  Alt 13. Apr 2007, 22:30
Hallo,

zum Anfang war dein Auto gar nicht zu beherrschen. Entweder lenkte es gar nicht oder es fuhr immer von einer Seite zur anderen. Der Timer für Links und für Rechts sind ja fast immer zusammen an. Ich habe noch folgenden Code hinzugefügt:
Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_Left then
    Links.Enabled:= false;
  if Key = VK_Right then
    Rechts.Enabled:= false;
end;
Danach konnte man das Auto ganz gut lenken. Aber dann war es wohl schon zu einfach, denn dann konnte man immer ganz locker auf dem Mittelstreifen unfallfrei fahren.

Wenn ich dein Programm unter Win98 beendete, kam immer eine Fehlermeldung.(siehe Anhang)



EDIT: mit den ganzen Timern funktioniert das irgendwie nicht richtig. Wenn man lenkt wird das Auto gleich langsamer.
Ich habe die beiden Timer für Links und rechts runter geschmissen und bei FahrtTimer folgendes hinzugefügt:
Delphi-Quellcode:
procedure TForm1.FahrtTimerTimer(Sender: TObject);
begin
  if (ASpieler.Left < 128) and (GetAsyncKeyState(VK_RIGHT)< 0) then
     ASpieler.Left:= ASpieler.Left + ges;

  if (ASpieler.Left > 40) and (GetAsyncKeyState(VK_LEFT)< 0) then
     ASpieler.Left:= ASpieler.Left - ges;

  // Bewegt die Strasse
Jetzt lief bei mir alles problemlos.
Miniaturansicht angehängter Grafiken
fehler_247.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Blink
Blink

 
Turbo Delphi für Win32
 
#26
  Alt 14. Apr 2007, 00:46
Zitat von bitsetter:
zum Anfang war dein Auto gar nicht zu beherrschen. Entweder lenkte es gar nicht oder es fuhr immer von einer Seite zur anderen. Der Timer für Links und für Rechts sind ja fast immer zusammen an.
Das war ja auch so geplant entweder ist man auf der rechten- oder linken- Seite aber nicht dazwischen.

Zitat von bitsetter:
EDIT: mit den ganzen Timern funktioniert das irgendwie nicht richtig. Wenn man lenkt wird das Auto gleich langsamer.
Ich habe die beiden Timer für Links und rechts runter geschmissen und bei FahrtTimer folgendes hinzugefügt:
Delphi-Quellcode:
procedure TForm1.FahrtTimerTimer(Sender: TObject);
begin
  if (ASpieler.Left < 128) and (GetAsyncKeyState(VK_RIGHT)< 0) then
     ASpieler.Left:= ASpieler.Left + ges;

  if (ASpieler.Left > 40) and (GetAsyncKeyState(VK_LEFT)< 0) then
     ASpieler.Left:= ASpieler.Left - ges;

  // Bewegt die Strasse
Jetzt lief bei mir alles problemlos.
Damit hast du das Spiel viel zu einfach gemacht, weil jetzt kann man die ganze Zeit in der Mitte fahren , so war das eigentlich nicht geplant.

Zitat von bitsetter:
Wenn ich dein Programm unter Win98 beendete, kam immer eine Fehlermeldung.(siehe Anhang)
Gab es die Fehler Meldung immer noch nach deinen Verbesserungen?
  Mit Zitat antworten Zitat
Benutzerbild von Blink
Blink

 
Turbo Delphi für Win32
 
#27
  Alt 14. Apr 2007, 10:28
Hi

Habe jetzt mal ein paar Verbesserungen durchgeführt un ich hoffe mal das ich jetzt auch den Fehler unter Windows 98 behoben habe (kommt eine Fehlermeldung wenn man das Spiel beendet), währe froh wenn mir jemand berichten könnte ob der Fehler weg ist.
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

 
Turbo Delphi für Win32
 
#28
  Alt 14. Apr 2007, 11:05


hübsch


Zwei kleine Anmerkungen:

"Spiel starten" ist besser als "Spielstarten", wenn das überhaupt richtig ist ^^

In dem MsgDlg in dem Du nach dem, Eintragen in die Highscore bzw. nach einem neuen Spiel fragst, steht ein "dann" mit nur einem 'n'
  Mit Zitat antworten Zitat
fLaSh11
 
#29
  Alt 14. Apr 2007, 11:17
[OT]
Zitat von zecke:
"Spiel starten" ist besser als "Spielstarten", wenn das überhaupt richtig ist ^^
Nö ist es nicht, aber es existiert. Spielstarten ist ein Hauptwort (wie man sieht) und bezeichnet den Prozess des Startens des Spieles (das Spielstarten). Ist zwar komisch, müsst aber so sein ... Hier wird aber eindeutig Spiel starten gemeint. Wahrscheinlich nur ein Tippfehler!
[OT]
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

 
Turbo Delphi für Win32
 
#30
  Alt 14. Apr 2007, 11:47
Zitat von Blink:
Hi

Habe jetzt mal ein paar Verbesserungen durchgeführt un ich hoffe mal das ich jetzt auch den Fehler unter Windows 98 behoben habe (kommt eine Fehlermeldung wenn man das Spiel beendet), währe froh wenn mir jemand berichten könnte ob der Fehler weg ist.
Nein der Fehler ist nicht weg, aber das hängt mit den PNG Bildern oder der Komponente zusammen,
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  ini: TIniFile;
  dpath: string;
begin
  DoubleBuffered:=True;
  Randomize;
  dpath:= ExtractFilePath(ParamStr(0));
  BolPause:= False;

  // Grafiken laden
  try
(*    Strasse1.Picture.LoadFromFile(dpath + 'Grafik\st.png');
    Strasse2.Picture.LoadFromFile(dpath + 'Grafik\st.png');
    AGelb.Picture.LoadFromFile(dpath + 'Grafik\age.png');
    AGelb2.Picture.LoadFromFile(dpath + 'Grafik\age.png');
    ARot.Picture.LoadFromFile(dpath + 'Grafik\ar.png');
    ARot2.Picture.LoadFromFile(dpath + 'Grafik\ar.png');
    AGrun.Picture.LoadFromFile(dpath + 'Grafik\agr.png');
    ASpieler.Picture.LoadFromFile(dpath + 'Grafik\ab.png'); *)

  except
denn wenn ich es so mache, dann kommt am Ende kein Fehler mehr.
Selbst wenn ich nur ein Bild lade, kommt am Ende die Fehlermeldung. Kann ja auch sein, dass es nur bei mir so ist.

Auf jeden Fall lenkt das Auto in der neuen Version bei mir praktisch überhaupt nicht. Höchstens wenn ein paar mal application.ProcessMessages aufgerufen wurde ging es so einiger massen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 9     123 45     Letzte »    


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 02:04 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