Hey Jungs, habe mich mal n bissl rangesetzt an meinen PC und angefangen was zu coden!!!
Das Spiel heisst "Strategis War", bzw "Strategiks War", ka was ich nehmen soll
Bis jetzt sind nur 2 Funktionen da, aber es wird noch ausgebaut!!!
Wie gesagt, sitze erst seit heute (max 1 h) dran!!!
Bitte nicht deshalb schimpfen, ist noch ein anfangsscript von mir, das gesamte projekt ist dazu da, dass ich was lerne :D, und am ende ein "tolles" Spiel entsteht
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Global $StufeHolz = 1, $StufeHolz1 = "Bitte warten, im ausbau!", $StufeHolz1Ausbau = "Ausbau auf Stufe 2", $StufeHolz2Ausbau= "Ausbau auf Stufe 3", $HolzAnzahl = 10, $Lager = 100, $HolzProduktion = 10
Global $Anzahl1 = "/"&$Lager
Global $StufeEisen = 1, $StufeEisen1 = "Bitte warten, im Ausbau!", $StufeEisenAusbau = "Ausbau auf Stufe ", $EisenAnzahl = 10, $EisenProduktion = 10
Global $StufeLehm = 1, $StufeLehm1 = "Bitte warten, im Ausbau!", $StufeLehmAusbau = "Ausbau aus Stufe ", $LehmAnzahl = 10, $LehmProduktion = 10
Global $SiedlerWohner = 5,$HausAnzahl = 5,$Bewohner = $HausAnzahl*4, $MaxHaus = 400, $MaxSiedler = $HausAnzahl*4
Global $SiedlerAnzahl1 = $SiedlerWohner&"/"&$MaxSiedler
#Region ### START Koda GUI section ### Form=c:\programme\autoit3\scite\koda\forms\strategie wars.kxf
$Form2 = GUICreate("Strategiks WaR", 627, 592, -1, -1)
$Label1 = GUICtrlCreateLabel("Strategis War", 144, 0, 161, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Holzfäller", 16, 148, 80, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Gebäude", 76, 108, 90, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Lehmhütte", 16, 172, 90, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("Eisenbergwerk", 16, 196, 122, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("Einheiten", 492, 40, 93, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Einheiten = GUICtrlCreateCombo("Einheiten:", 488, 80, 125, 25)
GUICtrlSetData(-1, "Legionäre|Bogenschützen|Axtwerfer|Rammböcke|Katapulte")
$HolzStufeAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 156, 148, 179, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("Stadt", 112, 252, 50, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Label8 = GUICtrlCreateLabel("Anzahl: ", 488, 112, 50, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label9 = GUICtrlCreateLabel("Bäckerei", 16, 220, 74, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$LehmStufeAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 156, 172, 179, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$BergwerkAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 156, 196, 179, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$BackerAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 156, 220, 179, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Bewohner = GUICtrlCreateLabel("Siedler", 360, 40, 70, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$SiedlerAnzahl = GUICtrlCreateLabel("000/000", 364, 80, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label11 = GUICtrlCreateLabel("Resourcen:", 8, 16, 112, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$HolzLabel = GUICtrlCreateLabel("Holz :", 4, 56, 50, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$LehmLabel = GUICtrlCreateLabel("Lehm :", 4, 80, 58, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$EisenLabel = GUICtrlCreateLabel("Eisen :", 136, 56, 59, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Nahrunglabel = GUICtrlCreateLabel("Nahrung :", 136, 80, 82, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label13 = GUICtrlCreateLabel("Häuser :", 32, 288, 72, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label14 = GUICtrlCreateLabel("Lager :", 32, 316, 60, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label15 = GUICtrlCreateLabel("Kornspeicher :", 32, 344, 119, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$HausStufeAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 160, 288, 179, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$LagerStufeAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 160, 316, 179, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$KornspeicherStufeAusbau = GUICtrlCreateLabel("Ausbau Stufe 1", 160, 348, 179, 16)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$HOLZ = GUICtrlCreateLabel("010/000", 68, 56, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$LEHM = GUICtrlCreateLabel("010/000", 68, 80, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$EISEN = GUICtrlCreateLabel("010/000", 224, 56, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$NAHRUNG = GUICtrlCreateLabel("010/000", 224, 80, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Starte Spiel", 0, 552, 91, 37, $WS_GROUP)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label10 = GUICtrlCreateLabel("Militär", 36, 384, 59, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Kaserne = GUICtrlCreateLabel("Kaserne", 16, 424, 70, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label12 = GUICtrlCreateLabel("Schmied", 16, 452, 73, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$List1 = GUICtrlCreateList("", 172, 452, 253, 136)
GUICtrlSetData(-1, "")
$Label16 = GUICtrlCreateLabel("Aktionstabelle:", 176, 428, 107, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$KaserneBau = GUICtrlCreateLabel("BAUEN", 96, 428, 46, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$SchmiedBau = GUICtrlCreateLabel("BAUEN", 96, 456, 46, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label19 = GUICtrlCreateLabel("Anderes Dorf", 388, 272, 127, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$List2 = GUICtrlCreateList("", 428, 452, 197, 136)
$Label20 = GUICtrlCreateLabel("Kriegstabelle:", 440, 428, 81, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label21 = GUICtrlCreateLabel("Mauer", 16, 480, 54, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$MauerBau = GUICtrlCreateLabel("BAUEN", 96, 484, 46, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
AdlibRegister("_HolzUpdate", 5000)
AdlibRegister ("_SiedlerUpdate", 1000)
AdlibRegister ("_EisenUpdate", 5000)
Case $HolzStufeAusbau
If $StufeHolz = 1 and $HolzAnzahl >= 10 Then
$HolzAnzahl -= 10
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
GUICtrlSetData ($HolzStufeAusbau, $StufeHolz1)
Sleep (5000)
GUICtrlSetData ($HolzStufeAusbau, $StufeHolz1Ausbau)
GUICtrlSetData ($List1, "Holzfäller wurde auf Stufe 1 geupgradet!")
$StufeHolz += 1
$HolzProduktion += 10
ElseIf $StufeHolz = 2 and $HolzAnzahl >= 50 Then
$HolzAnzahl -= 50
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
GUICtrlSetData ($HolzStufeAusbau, $StufeHolz1)
Sleep (5000)
GUICtrlSetData ($HolzStufeAusbau, $StufeHolz2Ausbau)
GUICtrlSetData ($List1, "Holzfäller wurde auf Stufe 2 geupgradet!")
$HolzProduktion += 10
$StufeHolz += 1
EndIf
Case $BergwerkAusbau
If $StufeEisen = 1 and $EisenAnzahl >= 10 and $HolzAnzahl >= 10 Then
$EisenAnzahl -= 10
$HolzAnzahl -= 10
GUICtrlSetData ($EISEN, $EisenAnzahl&"/"&$Lager)
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
GUICtrlSetData ($BergwerkAusbau, $StufeEisen1)
Sleep (5000)
$StufeEisen += 1
GUICtrlSetData ($BergwerkAusbau, $StufeEisenAusbau&$StufeEisen)
GUICtrlSetData ($List1, "Bergwerk wurde auf Stufe 1 geupgradet!")
$EisenProduktion += 10
ElseIf $StufeEisen = 2 and $EisenAnzahl >= 50 Then
$EisenAnzahl -= 50
GUICtrlSetData ($EISEN, $EisenAnzahl&"/"&$Lager)
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
GUICtrlSetData ($BergwerkAusbau, $StufeEisen1)
Sleep (5000)
$StufeEisen += 1
GUICtrlSetData ($BergwerkAusbau, $StufeEisenAusbau&$StufeEisen)
GUICtrlSetData ($List1, "Bergwerk wurde auf Stufe 2 geupgradet!")
$EisenProduktion += 10
EndIf
EndSwitch
WEnd
Func _HolzUpdate()
If $HolzAnzahl < $Lager Then
$HolzAnzahl += $HolzProduktion
GUICtrlSetData ($HOLZ, $HolzAnzahl&$Anzahl1)
ElseIf $HolzAnzahl >= $Lager Then
$HolzAnzahl=$Lager
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
EndIf
EndFunc
Func _EisenUpdate()
If $EisenAnzahl < $Lager Then
$EisenAnzahl += $EisenProduktion
GUICtrlSetData ($EISEN, $EisenAnzahl&$Anzahl1)
ElseIf $EisenAnzahl >= $Lager Then
$EisenAnzahl=$Lager
GUICtrlSetData ($EISEN, $EisenAnzahl&"/"&$Lager)
EndIf
EndFunc
Func _LehmUpdate()
If $LehmAnzahl < $Lager Then
$HolzAnzahl += $HolzProduktion
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
ElseIf $HolzAnzahl >= $Lager Then
$HolzAnzahl=$Lager
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
EndIf
EndFunc
Func _NahrungUpdate()
If $HolzAnzahl < $Lager Then
$HolzAnzahl += $HolzProduktion
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
ElseIf $HolzAnzahl >= $Lager Then
$HolzAnzahl=$Lager
GUICtrlSetData ($HOLZ, $HolzAnzahl&"/"&$Lager)
EndIf
EndFunc
Func _SiedlerUpdate()
If $SiedlerWohner <= $MaxHaus Then
$SiedlerWohner = $MaxHaus
GUICtrlSetData ($SiedlerAnzahl, $SiedlerAnzahl1)
EndIf
EndFunc
FUNKTIONEN VON BETA-CODING:
Starte Spiel drücken, damit es startet
Holz auf Stufe 3 ausbauen
Eisen auf Stufe 3 ausbauen
Gesamter Spielverlauf (ok es ist noch nicht viel) wird in einem NACHRICHTENFENSTER unten rechts eingetragen
IM AUFBAU:
Kaserne bauen
Weitere Gebäude
2ten Nachrichtenkasten mit anzeige was man braucht um irgendwas auszubauen
logisches Siedler-->Hunger System
Tage--> System (1 tag = 60 sekunden z.B.) entwickeln
Gegner greift an zufälligem tag (zwischen 5-20 Tagen) 1ste mal an
Gegner hat zufällige einheiten, die eine GESAMT Zahl nicht überschreiten
KLEINES UPDATE:
Ein "Log" mit dem was man gemacht hat wurde hinzugefügt
Funcs wurden für euch hinzugefügt
UPDATE FÜR SPIEL (Externer Tester):
Habe mich mal hingesetzt und versucht ein Kampfprinzip zu entwerfen, trage in Nahrung usw güter ein, und bei Legionäre eine kleinere Zahl als 100 (es geht auch 0)
[autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Matthias\Desktop\Projekt Strategis War\AAAAA.kxf
$Form3 = GUICreate("Kampfsystem Ersteller", 283, 204, 317, 168)
$Label1 = GUICtrlCreateLabel("Holz:", 24, 8, 39, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Eisen:", 24, 64, 47, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Lehm:", 24, 36, 45, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Nahrung:", 24, 92, 66, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Holz = GUICtrlCreateInput("Holz", 152, 8, 121, 21)
$Lehm = GUICtrlCreateInput("Lehm", 152, 36, 121, 21)
$Eisen = GUICtrlCreateInput("Eisen", 152, 64, 121, 21)
$Nahrung = GUICtrlCreateInput("Nahrung", 152, 92, 121, 21)
$Legionare1 = GUICtrlCreateInput("Legionare", 152, 140, 121, 21)
$Label5 = GUICtrlCreateLabel("Deine Einheiten:", 24, 144, 117, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("FIGHT", 84, 176, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_FFEIND()
EndSwitch
WEnd
Func _FFEIND()
Local $Feind = Random (50, 100, 1), $FeindStarke = Random (1, 2, 1)*$Feind
Global $Legionare = GUICtrlRead($Legionare1) , $LegionareStarke = $Legionare*2
Global $Guter = 100
$Gut = Random (0, 40000, 1)
Global $Nahrung1 = GUICtrlRead($Nahrung)
Global $Holz1 = GUICtrlRead($Holz)
Global $Eisen1 = GUICtrlRead($Eisen)
Global $Lehm1 = GUICtrlRead($Lehm)
If $FeindStarke >= $LegionareStarke and $Legionare < 101 and $Gut < 10000 Then
Global $UbrigBleibGegner = $FeindStarke - $LegionareStarke
Local $NahrungUber = $Nahrung1 - $UbrigBleibGegner
MsgBox (0, "Ergebnis", $FeindStarke&" die Stärke des Feindes!"&@CRLF&$LegionareStarke&" die Stärke deiner Truppen!"&@CRLF&$LegionareStarke-$FeindStarke)
GUICtrlSetData ($Nahrung, $NahrungUber)
ElseIf $FeindStarke >= $LegionareStarke and $Legionare < 101 and $Gut < 20000 Then
Global $UbrigBleibGegner = $FeindStarke - $LegionareStarke
Local $LehmUber = $Lehm1 - $UbrigBleibGegner
MsgBox (0, "Ergebnis", $FeindStarke&" die Stärke des Feindes!"&@CRLF&$LegionareStarke&" die Stärke deiner Truppen!"&@CRLF&$LegionareStarke-$FeindStarke)
GUICtrlSetData ($Lehm, $LehmUber)
ElseIf $FeindStarke >= $LegionareStarke and $Legionare < 101 and $Gut < 30000 Then
Global $UbrigBleibGegner = $FeindStarke - $LegionareStarke
Local $EisenUber = $Eisen1 - $UbrigBleibGegner
MsgBox (0, "Ergebnis", $FeindStarke&" die Stärke des Feindes!"&@CRLF&$LegionareStarke&" die Stärke deiner Truppen!"&@CRLF&$LegionareStarke-$FeindStarke)
GUICtrlSetData ($Eisen, $EisenUber)
ElseIf $FeindStarke >= $LegionareStarke and $Legionare < 101 and $Gut < 40000 Then
Global $UbrigBleibGegner = $FeindStarke - $LegionareStarke
Local $HolzUber = $Holz1 - $UbrigBleibGegner
MsgBox (0, "Ergebnis", $FeindStarke&" die Stärke des Feindes!"&@CRLF&$LegionareStarke&" die Stärke deiner Truppen!"&@CRLF&$LegionareStarke-$FeindStarke)
GUICtrlSetData ($Holz, $HolzUber)
ElseIf $FeindStarke <= $LegionareStarke and $Legionare < 101 Then
MsgBox (0, "Gewonnen", "Du hast den Kampf gegen die feindlichen Truppen gewonnen!"&@CRLF&@CRLF&"Deine Truppen die übrig sind: "&$LegionareStarke - $FeindStarke&""&@CRLF&@CRLF&"Der Gegner hatte "&$FeindStarke&" Einheiten!")
ElseIf $Legionare > 100 Then
MsgBox (0, "Error", "Du hast den Wert für Legionäre überschritten!")
EndIf
EndFunc