![]() |
Achtung die Kurve - mein 1. "großes" Projekt
Guten Tag,
da ich es leid bin, im Schulunterricht (12. Klasse) immer nur trockene Theorie zu machen, habe ich mir vorgenommen, mal ein Minispiel zu programmieren, in dem ich alles einbauen kann, was ich schon gelernt habe (z.B. Klassen) und noch vieles mehr, von dem ich noch keine Ahnung habe (z.B. Zeichnen in Delphi (Canvas?)). Als Minispiel habe ich mir folgendes ausgedacht: ![]() Das ist ganz witzig und genau das was ich schon immer mal machen wollte. Nun habe ich gedacht, ich mach mir hier meinen eigenen Thread auf, in dem ich dann zu meinen Proplemen (die da kommen werden) Fragen stellen kann. Und hier ist schon meine 1. Frage: Ich habe mich schon mal erkundigt und habe schon ein paar Versuche der Umsetzung für dieses Spiel gefunden. 1 Versuch mit DelphiX, 1 Versuch mit Bitmap und 1 Versuch mit einer Schülerkomponente Namens mSuM. Wie würdet ihr mir raten, das Projekt umzusetzen? Am liebsten wäre mir, in Delphi direkt zu bleiben. |
Re: Achtung die Kurve - mein 1. "großes" Projekt
Mach dir erstmal ein Konzept, einen Plan, dem du folgen kannst. Was soll dein Projekt alles haben? Was soll es können? Single-Player? Multi-Player? Netzwerkfähig? Wie soll die Steuerung sein? Keyboard? Joystick? Wie soll die Grafikausgabe sein? Auf TCanvas? OpenGL? DirectX? ... Usw.
Versuche alles so Modular zu halten wie möglich, da ist es dann später auch kein Problem, das Projekt zu warten und zu erweitern (zB andere Grafikengine). Aber der meiste und größe Fehler von Anfängern ist, dass sie gleich das Ergebnis haben wollen und sofort drauflos programmieren, um ihre Ideen umzusetzen. Nur kommt man so irgendwann an den Punkt, an dem man feststellt, dass man sich total in einer Sackgasse verfahren hat. Zum Anfang würde ich dir erstmal raten, die Grafik auf TBitmaps auszugeben (Layer-Methode), die du dann letztendlich auf einem TImage oder einer TPaintBox ausgibst. |
Re: Achtung die Kurve - mein 1. "großes" Projekt
Zitat:
- Nur an einem PC spielbar - Steuerung Spieler 1 Pfeiltasten rechts links - Steuerung Spieler 2 Q und W usw. Die Grafikausgabe ist ja eigentlich mein Problem. Genau das ist ja die Frage, wie man das umsetzt, dass Spiel wird so eine Art Snake, nur das die Schlange immer länger wird und da wo sie mal war auch bleibt. Man malt also quasi eine Schlange. Wie kann man das ab besten umsetzten? OpenGL und DirectX ist doch ein bisschen zu krass für 2D und paar Linie oder? |
Re: Achtung die Kurve - mein 1. "großes" Projekt
Deswegen sagte ich ja, TBitmaps, die du als "Frames" verwendest, die dann letztendlich auf einem TImage oder TPaintBox angezeigt werden.
Du verwaltest intern die Schlangen als Objekte, zeichnest deren Daten auf ein TBitmap, nimmst noch ein anderes TBitmap zB als Frame für Spielerdaten und die Bitmaps zeichnest du quasi nacheinander auf das TImage. SnakeBitmap + GUIBitmap = Image was User sieht. |
Re: Achtung die Kurve - mein 1. "großes" Projekt
Grade weil bei diesem Spiel die Schlange immer länger wird bietet sich doch grade TCanvas an, da nicht jede Sekunde das Ganze Bild neu geladen werden muss sondern immer nur eine neue "Linie" an das vordere Ende der schlange angehängt wird. Sobal die Runde zuende ist leerst du die Zeichenfläche wieder und gut ist. Das schwierigste an der Sache ist wohl die Kollisonsabfrage.
Furuha PS: Man verzeih es mir wenn ich totalen Müll gelabert habe... |
Re: Achtung die Kurve - mein 1. "großes" Projekt
doch so hab ich mir das gedacht, das die schlange bleibt und man immer vorne dann was dranmalt weil die schlange ja größer wird.
Wie geht das mit dem Canvas? Kennt jemand ein gutes Tutorial oder mag es mir erklären? Kenn mich da nicht aus, sorry. |
Re: Achtung die Kurve - mein 1. "großes" Projekt
also malen mit canvas ist gaanz einfach... probier's doch erstmal auf dem formular...
Delphi-Quellcode:
zudem könnte das hier helfen:
Canvas.Pen.Color := clred;//Farbe
Canvas.Pen.Width := 3; //"Strichdicke" //und jetzt wird gemalt! Canvas.MoveTo(1,1); //schiebt den Stift zu 1,1 Canvas.LineTo(100,100); //malt den ersten Strich! ![]() |
Re: Achtung die Kurve - mein 1. "großes" Projekt
Hey,
mein ![]() Du solltest dir am Anfang überlegen welche Klassen du erstellen möchtest und was diese tun sollen. Wenn du Fragen hast, frag einfach. Die meisten Fragen zu diesem Spiel, müsste ich eigentlich beantworten können. Gruß Looper |
Re: Achtung die Kurve - mein 1. "großes" Projekt
Zitat:
|
Re: Achtung die Kurve - mein 1. "großes" Projekt
Stell dir dort ein Loch vor, wo die Schlange rauskommt :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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-2025 by Thomas Breitkreuz