AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pac Man programmieren

Offene Frage von "Mavarik"
Ein Thema von Jojo18 · begonnen am 31. Jan 2018 · letzter Beitrag vom 6. Feb 2018
Antwort Antwort
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.164 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:07
Also in erster Linie sollte es funktionieren mit allem drum und dran (Geister, mehrere Level). Aber String Grid ist okay, meinte mein Lehrer und ich glaube damit komme ich auch am besten klar.

Ich bin jetzt soweit und weiß wirklich nicht wie es nun weitergeht. Ich bin wirklich auf eure Hilfe angewiesen und hoffe ihr könnt mir helfen.
Anhang 48473
Oje... Tick-Tak-Toe oder 4 Gewinnt? Vielleicht eher als PacMan?

Key kannst Du so nicht zuweisen, Du must den Key abfragen und dann entsprechend darauf reagieren...

Case Key of oder auch if Key = vk_Left then Wir helfen hier alle gerne, aber wir machen keine Hausaufgaben!

Mavarik
  Mit Zitat antworten Zitat
Jojo18

Registriert seit: 21. Jan 2018
20 Beiträge
 
#2

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:18

Wir helfen hier alle gerne, aber wir machen keine Hausaufgaben!

Mavarik
Ich möchte auch nicht das ihr meine Hausaufgaben macht. Ich habe mir dieses Projekt freiwillig ausgesucht und weis auch was ich mir da angetan habe. Ich kenne mich nur nicht in dieser Materie aus und bin deswegen auf Hilfe angewiesen. Alles was ich bisher gemacht habe, haben wir so noch nicht im Unterricht gemacht und das habe ich auch alles nur durch Recherche geschafft.
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:22
Mach besser Pong, 4-gewinnt oder sowas. Das wird dich schon genug fordern.

Ach ja, hier im Editor... oben drüber ist ein roter Helm. Drück mal drauf dann brauchst du keine Screenshots mehr.
  Mit Zitat antworten Zitat
Jojo18

Registriert seit: 21. Jan 2018
20 Beiträge
 
#4

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:25
Mach besser Pong, 4-gewinnt oder sowas. Das wird dich schon genug fordern.


Ach ja, hier im Editor... oben drüber ist ein roter Helm. Drück mal drauf dann brauchst du keine Screenshots mehr.

Das kann ich nicht, da ich mein Thema schon ausgewählt habe.
Danke für den Tipp
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#5

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:33
Ich würde auch liebend gerne helfen aber ich besitze null erfahrung um eine fließende animation auf diese weise hinzubekommen. mavarik ist der pac profi, sein fmx pac schaut aus wie eine 1:1 kopie des arcade pac.
Vielleicht hat mavarik ja auch eine non-fmx version?
OT @mavarik: sehr gut gelungen, gefällt mir, fullscreen wär cool und paar töne

Viel Erfolg bei Deinem Vorhaben!!


Grüße
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:55
Zitat:
Vielleicht hat mavarik ja auch eine non-fmx version?
Mavarik macht keine Hausaufgaben.

Selbst wenn er eine hätte, würde er die nicht veröffentlichen.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.164 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Pac Man programmieren

  Alt 31. Jan 2018, 20:56
Das kann ich nicht, da ich mein Thema schon ausgewählt habe.
hmm... Also ich habe mir mal Dein Projekt 111 angeschaut...

Ich will Dich nicht entmutigen, aber so wird das nix. Nimm hier die Suche und schau Dir die anderen Pac-Man Threads mal an.

Fangen wir mal an mit dem Aufbau des Spielbereiches... Wie lange hast Du an den ganzen Schleifen gebastelt?

Wie wäre es mit

GELÖSCHT // Leider hat das Forum beim ändern alles zerstört, Sorry

OK, Nur die obere Hälfte, aber dafür genau wie das Original... in unter 5 Min.


OT @mavarik: sehr gut gelungen, gefällt mir, fullscreen wär cool und paar töne
Danke war nur mal so ein Projekt statt Urlaub... 14 Tage... Und das sind nur ca. 3000 LOC
Für Sound war keine Zeit mehr übrig...

Mavarik

Geändert von Mavarik ( 1. Feb 2018 um 14:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.164 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Pac Man programmieren

  Alt 1. Feb 2018, 14:08
OK,
Kleine Anleitung wie man Spiele Programmiert.

Ein Thread erzeugt alle 16.6 ms ein neues Frame – schneller macht heute bei TFT’s mit 60Hz keinen Sinn. Klar gib es auch schnellere TFT’S! Aber bleiben wir mal bei diesen 60Hz
Man benötigt also eine Routine die so ein neues Frame erzeugen kann.
Die Main-Game-Loop sieht also im groben so aus:

Delphi-Quellcode:
begin
  while InGame do
    begin
      Timer.Start;
      NewFrame := GameEngine.GetFrame;
      Timer.Stop
      if Timer.Elapsed < 16.6666 then
        GameEngine.PreprocessnextFame(16.66 – Timer.Elapsed); // Zeit nutzen sonst sleep
      MainScreen.BeginUpdate
      try
        MainScreen.Assign(NewFrame);
      finally
        MainScreen.EndUpdate
      end;
    end;
end;
Außerhalb gibt s noch die Maus/Keyboard Abfrage die ihre Daten an die Gameengine weiter gibt.
Wer das nicht im Thread machen möchte (also für Anfänger einfacher) nimmt einfach einen Timer.
Den stellt man auf 15. Wirklich schneller geht es eh nicht.

Jetzt zu PacMan: Man braucht:
Einiges an array’s und Definitionen
StartPos Geister und PacMan, Imagefolge für die Bewegungen in allen Richtungen, Variablen für Position und Richtungen.
Am besten je ein Object pro Geist und PacMan mit allen Daten

Neben den „hochauflösenden“ X/Y Positionen, führt man intern ein LowRes Array mit der Position mit. Einfache XY Koordinaten. Um Wende und andere Objekte zu finden.
Ein Aufruf von GameEngine.GetFrame erzeugt also genau ein Frame und entscheidet wo was gemalt werden muss.
Nicht jeder Frame muss alles bewegen. Ggf. bewegt sich ein Geist nicht, weil er sich nur alle 2 Frames bewegen darf (sonst ist er zu schnell) oder die Power-Points blinken halt auch nicht mit 60Hz. USW.

So das war es erstmal für den Anfang.

Mavarik

PS.: Das gelöschte vom letzten Posting
Angehängte Grafiken
Dateityp: jpg Arrays.jpg (131,1 KB, 41x aufgerufen)
Angehängte Dateien
Dateityp: txt Feld.txt (441 Bytes, 7x aufgerufen)

Geändert von Mavarik ( 1. Feb 2018 um 14:13 Uhr)
  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 19:24 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-2025 by Thomas Breitkreuz