Strategiespiel - Einheitenmenge/formation festlegen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

ZaRaK

Betreff: Strategiespiel - Einheitenmenge/formation festlegen

BeitragFr, Nov 14, 2008 0:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich hab leider nich gewusst wie ich den Titel des Threads besser beschreiben sollte. Ich hoffe dieser tuts auch Wink

Mein Problem:
Ich möchte in einem Menü welches sich an der Seite befindet ein Dropdown Menü haben in dem verschiedene Rassen aufgelistet sind.
Wenn man eine Rasse auswählt, kann man in dem daneben liegenden Dropdown Menü die Einheiten auswählen.
Ist das getan, kann man in 2 Feldern darunter die Formation dieser Einheiten angeben, zB.: 6 : 4
Das würde dann heissen, das es 4 Reihen gibt, in der sich jeweils 6 Einheiten (Meshs) befinden.


Ich muss dazu sagen, das ich keinerlei Ahnung habe wie ich an die Sache rangehen und das realisieren kann.
Gibt es evtl zu einem ähnlichen Fall ein Tutorial, oder könnte mir jemand einen guten Denkanstoß geben?

Ich bin für jede Hilfe dankbar!

Valnar

Betreff: Re: Strategiespiel - Einheitenmenge/formation festlegen

BeitragFr, Nov 14, 2008 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ZaRaK hat Folgendes geschrieben:
Hi,
ich hab leider nich gewusst wie ich den Titel des Threads besser beschreiben sollte. Ich hoffe dieser tuts auch Wink

Mein Problem:
Ich möchte in einem Menü welches sich an der Seite befindet ein Dropdown Menü haben in dem verschiedene Rassen aufgelistet sind.
Wenn man eine Rasse auswählt, kann man in dem daneben liegenden Dropdown Menü die Einheiten auswählen.
Ist das getan, kann man in 2 Feldern darunter die Formation dieser Einheiten angeben, zB.: 6 : 4
Das würde dann heissen, das es 4 Reihen gibt, in der sich jeweils 6 Einheiten (Meshs) befinden.


Ich muss dazu sagen, das ich keinerlei Ahnung habe wie ich an die Sache rangehen und das realisieren kann.
Gibt es evtl zu einem ähnlichen Fall ein Tutorial, oder könnte mir jemand einen guten Denkanstoß geben?

Ich bin für jede Hilfe dankbar!

Dafür müsstest du dir eine GUI schreiben bzw. eine Existeirende verwenden. Ich empfehle die escapeGUI.
 

Ava

Gast

BeitragFr, Nov 14, 2008 2:12
Antworten mit Zitat
Einfacher wäre es noch, an Stelle von DropDown-Listen kleine Menüfelder zu erstellen, in denen Du die Rassen/Einheiten mit "Buttons" (Grafik-Icons oder - im Notfall - nur Text) auflistest. Abhängig von der ausgewählten (als letztes angeklickten) Rasse gestaltest Du dann die Einheitenauswahl - das ist keine grosse Sache und benötigt keine komplette/komplexe GUI.

Wenn man nun auf eine Einheit klickt, muss das Programm sie sich merken - und sobald die Maustaste losgelassen wird, prüftst Du, ob der Mousecursor über einem Deiner Formations-Feldern liegt - wenn ja, dann platzierst Du dort jene Einheit.

Und ganz ähnlich läuft es dann auch ab, wenn Du Einheiten per Maus innerhalb der Formation verschieben willst.

MfG, Ava Smile
 

ZaRaK

BeitragFr, Nov 14, 2008 5:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank ihr zwei.
Ich blick das vom Code her zwar nich so wirklich, da ich noch nie was "komplexes", und seit über 1 Jahr gar nix mehr, versucht habe zu programmieren.
Aber die Ideen zur Umsetzung helfen mir auf jedenfall schonmal einen Schritt weiter.

Das einzige wirkliche Problem ist jetz, das ich keine Ahnung habe wie ich das ganze als Code umsetzen kann.
Gibt es evtl für eine ähnliche Umsetzung einen Beispielcode, oder gar ein Tutorial?

Wenn nicht, auch nich tragisch, dann muss ich halt noch ne Woche experimentieren ^^

BladeRunner

Moderator

BeitragFr, Nov 14, 2008 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du schon ewig nix mehr gemacht hast ist es nicht grade die beste Idee mit nem UberSpiel anzufangen. Lern erst mal in kleineren Schritten wieder richtig Programmieren bevor Du dich an grosse Dinge wagst.

Und nein, ein "Wie programmiert man ein Strategiespiel wie es ZaraK sich vorstellt"-Tutorial gibt es nicht Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Honesch

BeitragDi, Nov 18, 2008 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Und nein, ein "Wie programmiert man ein Strategiespiel wie es ZaraK sich vorstellt"-Tutorial gibt es nicht Wink


lol Very Happy
Das Leben ist wie ein Computerspiel. Scheiß Handlung aber geile Grafik !
 

ZaRaK

BeitragDo, Nov 20, 2008 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Und nein, ein "Wie programmiert man ein Strategiespiel wie es ZaraK sich vorstellt"-Tutorial gibt es nicht Wink



so hatte ich das ja gar nich gemeint ^^
sondern eher, ob ihr vielleicht wisst, wie man das, was ich brauche, umsetzen könnte, und es zu dieser art von ähnlicher umsetzung ein tutorial gibt Wink

grob gesagt, ich bräuchte als code "1+2+3+4+5"... und ihr hättet evtl ein tutorial zur hand was erklärt wie "1+1" funktioniert.. das ich das dann hätte umsetzen/erweitern können Very Happy

aber egal
trotzdem danke ^^

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Nov 20, 2008 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähnlich wie Ava bereits beschrieb, habe ich mal eben was gemacht. Mir war langweilig, daher weht der Wind. Es sei dazu gesagt, dass ich hier von einem Arrayfeld ausgehe, wo die Einheiten positioniert werden können. Es bleibt also immer zuerst die Frage, wie die Einheitenpositionen gespeichert werden. Wenn die Einheiten absolute Positionen haben, also keine Feldposition, kann es auch sinnvoll sein, ganze Einheitenformationen drehen lassen zu können. Auch müßte man dann mit Kollisionsn oder Entfernungen arbeiten und nicht mit genauen Feldposition wie in meinem Beispiel. Es kann und soll also nur als Denkanstoß diehnen. Der letztendliche Lösungsweg kann somit auch ganz anders ausfallen.

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()

Local Timer=CreateTimer(50)
Local Auswahl
Local Fehler
Local MX,MY,MH
Local X,Y

;Vier mögliche Formationen zu je maximal (8 Bit)x4 Feldern
Dim Formation(3,3)

;Die Stapel-Map wo die Einheiten formatiert werden
Dim StapelMap(39,19)

;Formationen festlegen
Formation(0,0)=%00111100
Formation(0,1)=%00111100
Formation(0,2)=%00111100
Formation(0,3)=%00111100

Formation(1,0)=%11111111
Formation(1,1)=%11111111
Formation(1,2)=%00000000
Formation(1,3)=%00000000

Formation(2,0)=%00011000
Formation(2,1)=%00111100
Formation(2,2)=%01111110
Formation(2,3)=%11111111

Formation(3,0)=%11111111
Formation(3,1)=%00000000
Formation(3,2)=%11111111
Formation(3,3)=%00000000




While Not KeyHit(1)
   
   MX=MouseX()/10
   MY=MouseY()/10
   MH=MouseHit(1)
   
   Text 10,210,"Drücke 1,2,3 oder 4 für eine bestimmte Formation"
   Text 10,230,"Mausklick um aktuelle Formation zu setzen"
   Rect 0,0,400,200,0
   
   If KeyHit(2) Then Auswahl=0
   If KeyHit(3) Then Auswahl=1
   If KeyHit(4) Then Auswahl=2
   If KeyHit(5) Then Auswahl=3
   
   ;Alle Formationen zeichnen
   For Y=0 To 19
      For X=0 To 39
         If StapelMap(X,Y) Then Rect X*10,Y*10,9,9,1
      Next
   Next
   
   Fehler=0
   
   ;Mausformation zeichnen
   Text 10*MX-25,10*MY-2,"["+(Auswahl+1)+"]"
   For Y=0 To 3
      For X=0 To 7
         If Formation(Auswahl,Y) And Floor(2^X) Then
            
            If MX+X>39 Then Fehler=1: Color 255,0,0
            If MY+Y>19 Then Fehler=1: Color 255,0,0
            If Fehler=0 Then If StapelMap(MX+X,MY+Y)=1 Then Fehler=1: Color 255,0,0
            
            Oval (MX+X)*10,(MY+Y)*10,9,9,1
            
            Color 255,255,255
            
         End If
      Next
   Next
   
   ;Mausformation setzen
   If MH=1 Then
      If Fehler=0 Then
         For Y=0 To 3
            For X=0 To 7
               If Formation(Auswahl,Y) And Floor(2^X) Then
                  StapelMap(MX+X,MY+Y)=1
               End If
            Next
         Next
      End If
   End If
   
   Fehler=0
   
   WaitTimer(Timer)
   Flip 0
   Cls
Wend
End


Edit1: @Ava unter mir...

ok, danke, hatte zwar eine Abfrage drin, die ich dann aber durch eine zusätzliche Funktion wieder ''ausgehebelt'' hatte. Code ist nun korrigiert...
  • Zuletzt bearbeitet von hectic am Do, Nov 20, 2008 16:33, insgesamt 2-mal bearbeitet
 

Ava

Gast

BeitragDo, Nov 20, 2008 14:58
Antworten mit Zitat
@Hectic Du hast irgendwo ein "Array Index out of Bounds" - ich kann Dir leider nichts genaueres sagen, da der Blitz3D Debugger bei mir nicht läuft. Confused

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group