Grundschema eines Strategiespiels
Übersicht

![]() |
J.R.Betreff: Grundschema eines Strategiespiels |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo allerseits,
ich überlege derzeit, ob ich mich nicht einmal daran machen sollte, ein einfaches Strategiespiel zu schreiben. Jedoch bin ich mir noch nicht sicher, ob mein "Denkansatz" für ein Strategiespiel auch richtig ist. Wenn ich z.B. ein einfaches Strategiespiel wie. z.B. Civil War Generals programmieren wöllte (natürlich bei weitem nicht so komplex, sondern lediglich beschränkt auf das Verteilen von meinen Einheiten, Befehlsausgabe an meine Einheiten und Angriffswerte) , dann würde ich jede Menge IF-Abfragen und Select-Case Befehle nutzen. So würde ich z.b. eine IF-Abfrage nutzen, um die Bewegung einer Einheit zu programmieren: Wenn auf der Koordinate, auf der sich der Mauszeiger gerade befindet , eine Einheit befindet und die linke Maustaste gedrückt wurde, dann bewege die Einheit. Und dann müsste wieder eine IF-Abfrage erfolgen, um zu klären, ob auf dem gewünschten Ziel eine Einheit patziert werden kann. Sprich, um ein solches Strategiespiel zu erstellen, müsste man jede Menge If Abfragen nutzen, vorallem für die KI. Würde man so ein Strategiespiel erstellen, oder würde man keinen massiven Einsatz von IF-Abfragen durchführen und statt dessen andere Mittel wählen? |
||
![]() |
Bfox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um dir ein paar If Sätze zu ersparen kannst du ja auch Waypoints machen!
In einem Bestimmten Radius rund um die Waiponts kann man dann keine Gebäude bauen und so! Somit ersparst du dir ein paar If Sätze! ![]() |
||
Glauben ist Mangel an Wissen! |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist schon komplexer als nur IF und so...hab grad mal was in paar Minuten gemacht ![]() Und das ist erst sehr wenig. Code: [AUSKLAPPEN] Graphics 800,600 SetBuffer BackBuffer() SeedRnd MilliSecs() Type menschen Field x,y,wahl,r,g,b,klick,laufen,breite,hoehe End Type Type essen Field x,y,wert,breite,hoehe End Type For i = 1 To 10 m.menschen = New menschen m\x = Rand(10,790) m\y = Rand(10,590) m\wahl =False m\klick = 0 m\laufen =False m\breite = 10 m\hoehe = m\breite Next For i = 1 To 5 e.essen = New essen e\x = Rand(10,790) e\y = Rand(10,590) e\wert = Rand(1,7) e\breite = 8 e\hoehe = e\breite Next Repeat Cls If MouseHit(1) = True mhit = 1 ElseIf MouseHit(1) = False mhit = 0 EndIf For m.menschen = Each menschen If m\wahl = False m\r = 255 m\g = 255 m\b = 255 m\laufen = False m\klick = False ElseIf m\wahl = True m\r = 255 m\g = 0 m\b = 255 m\klick =1 EndIf ;- If RectsOverlap(m\x,m\y,m\breite,m\hoehe,MouseX(),MouseY(),1,1) If mhit = 1 m\wahl=Not m\wahl EndIf EndIf If m\klick = 1 If mhit = 1 m\laufen = True xt = MouseX() yt = MouseY() EndIf EndIf If m\laufen = True If m\x < xt Then m\x = m\x + 2 If m\x > xt Then m\x = m\x - 2 If m\y < yt Then m\y = m\y + 2 If m\y > yt Then m\y = m\y - 2 EndIf Color m\r,m\g,m\b Rect m\x,m\y,m\breite,m\hoehe Next For e.essen = Each essen Oval e\x,e\y,e\breite,e\hoehe Text e\x-20,e\y-20,"Wert: "+e\wert Next For e.essen = Each essen For m.menschen = Each menschen If RectsOverlap(m\x,m\y,m\breite,m\hoehe,e\x,e\y,e\breite,e\hoehe) m\laufen = False m\klick = False e\wert = e\wert - 1 EndIf If e\wert = 0 Delete e.essen:Exit EndIf Next Next Flip Until KeyHit(1):End |
||
~ Hey Ho Let's Go ~ |
![]() |
J.R. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Antworten!
Allerdings werde ich wohl gar keine Waypoints oder Routinen für Menschen wie oben beschrieben benötigen. Denn so komplex will ich mein Spiel noch gar nicht machen. Ich denke auch nicht an ein RTS sondern eher an Rundenstrategiespiel, so wie sie in den 90ern populär waren. Aber offenbar liege ich mit meinen bisherigen Überlegungen schon mal richtig ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group