Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Softwaretechnik (http://www.informatikerboard.de/board/board.php?boardid=18)
----- Spiel in C# "Hammurabi"- Strategiespiel (http://www.informatikerboard.de/board/thread.php?threadid=2760)


Geschrieben von RavenPixel am 15.01.2016 um 12:06:

  Spiel in C# "Hammurabi"- Strategiespiel

Meine Frage:
Hallo,

ich habe in der schule eine hausaufgabe aufbekommen, in der ich in der progammiersprache c# ein strategiespiel programmieren soll. da ich aber leider eine weile gefehlt habe aufgrund von krankheit, hänge ich etwas hinterher...
könnte mir diesbezüglich jemand helfen?

In dem Spiel hat man getreide, land und bevölkerung... es geht immer im jahresrythmus weiter, dabei kann man jedes jahr neues land kaufen oder verkaufen... außerdem muss man das land bestellen lassen von der bevölkerung. zudem wird immer 1% der getreide von den ratten gefressen und es besteht eine 15% chance, dass die bevölkerung um die hälfte verringert wird.

für jede person benötigt man pro jahr 20 getreide. man kann 10 land mit einer person bestellen lassen + 1/2 getreide.
der verkaufswert von land liegt bei 26 getreide.

beim start besitzt man, 100 personen, 1000 land und 2800 getreide diese anzeige soll jedes jahr aktualiesiert werden

die dauer des spieles soll 30 jahre gehen.

kann mir diesbezüglich bitte jemand helfen... ich hänge wirklich fest...

Meine Ideen:
Ich habe zwar ein wenig grundwissen nur weiß ich absolut nicht wo ich anfangen soll und wie ich es bearbeiten soll



Geschrieben von eulerscheZahl am 15.01.2016 um 14:16:

 

Die Nutzeroberfläche ist schonmal ein Anfang.
Kannst du mal alles hochladen, was du hast (als .zip)?
Können sich die Bewohner auf vermehren, oder sterben die nur?



Geschrieben von RavenPixel am 18.01.2016 um 08:34:

  verspätete antwort

Ich konnte mich über das Wochenende irgendwie nicht anmelden...

Also hier nun alles was ich habe, auch das Aufgabenblatt, indem alles nochmals genau beschrieben ist.



Geschrieben von eulerscheZahl am 18.01.2016 um 14:08:

 

Habe dir mal ein bisschen was ergänzt.



Geschrieben von RavenPixel am 18.01.2016 um 14:50:

 

Vielen Dank, das hat mir jetzt echt geholfen, an den punkten bin ich stecken geblieben... jetzt noch ein paar Fragen:

wie schaffe ich es, dass der getreidebestand nicht in den minus bereich geraten kann und ebenso das land?

wie kann ich verhindern, dass sowohl "kaufen" als auch "verkaufen" gleichzeitig gedrückt werden kann?

wenn man beispielsweise zu wenig getreide an die bevölkerung gegeben wird, soll eine warnnachricht erscheinen, dass zu wenig getreide ausgeteilt wird und dadurch menschen sterben werden

vielen dank im vorraus



Geschrieben von eulerscheZahl am 18.01.2016 um 15:13:

 

1. da brauchst du noch eine Reihe von if Abfragen. Ist nicht schwer, aber langweilig und man vergisst leicht was.
2. Hatte dir schon einen Kommentar in den Code geschrieben, dass es dafür RadioButtons gibt. Da ist automatisch immer nur einer aktiv.
3. MessageBox:
code:
1:
2:
3:
4:
5:
DialogResult dialogResult = MessageBox.Show("wirklich Leute sterben lassen?", "Hammurabi", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
    NaechstesJahr();
}



Geschrieben von RavenPixel am 18.01.2016 um 15:19:

 

nadann hab ich ja noch was zu tun die nächste zeit smile

ja ich habs kurz danach gesehen, dass du mir ein paar kommentare hinterlassen hast, danke dafür

danke für diese hilfe, hast mir mehr als geholfen, ohne diese hilfe hätte ich es niemals geschafft Gott



Geschrieben von RavenPixel am 19.01.2016 um 10:00:

 

ich hätte doch noch einmal eine frage:

Wie schaffe ich es, dass man eine maximale grenze von 30 jahren hat? bis jetzt ist es noch unbegrenzt und ich weiß nicht wo ich es einbauen soll



Geschrieben von eulerscheZahl am 19.01.2016 um 10:04:

 

Dann musst du eben mitzählen: immer wenn du ins nächste Jahr gehst, wird der Zähler um 1 erhöht. Wenn er bei 30 ist, stoppst du.



Geschrieben von RavenPixel am 19.01.2016 um 10:58:

 

Ich habe es nun eingebaut, jedoch bekomme ich direkt wenn ich auf den button "nächstes jahr" drücke die info, dass ich bereits im jahr 30 wäre... was aber nicht sein kann, da ich den start bei "i = 0" gesetzt habe... also irgendwas mache ich falsch



Geschrieben von RavenPixel am 19.01.2016 um 11:22:

 

habe nochmal eine frage... ich bin zwar jetzt soweit, dass es funktioniert, leider bekomme ich es nicht hin, dass er den getreidevorrat nicht ins minus fallen lässt... wie bekomme ich das hin?



Geschrieben von eulerscheZahl am 19.01.2016 um 20:35:

 

Da brauchst du noch eine if Abfrage, dass du nicht mehr verfüttern darfst, als vorhanden ist. Beim Einkaufen von Land hatte ich dir glaube ich schon sowas geschrieben.



Geschrieben von RavenPixel am 19.01.2016 um 21:59:

 

ich habe bereits eine if abfrage gemacht...er gibt dann zwar die meldung dass es in den minusbereich fallen würde, setzt es jedoch um



Geschrieben von eulerscheZahl am 20.01.2016 um 05:52:

 

Dann musst du den Code der bei Erfüllen der Bedingung ausgeführt wird, anders gestalten: gib nicht nur eine Meldung aus, sondern brich das ganze ab. z.B. kannst du eine Methode mit return komplett beenden. Das solltest du natürlich am Anfang tun, nicht erst wenn schon das Land bewirtschaftet wurde.



Geschrieben von FanZy am 06.01.2017 um 21:06:

  RE: Spiel in C# "Hammurabi"- Strategiespiel

Hey, kannst du mir das möglicherweiße per mail zukommen lassen? Muss genau das gleiche machen, und habe echt keine ahnung... wäre echt lieb von dir, und habe auch 0 einen plan. meine email wäre: [email protected]


Forensoftware: Burning Board, entwickelt von WoltLab GmbH