2017-01-22 2 views
-1

Ich bin totaler Anfänger in C#, außer dass ich durch die Microsoft-Kurse gegangen bin und einige grundlegende Projekte abgeschlossen habe. Jetzt dachte ich, ich würde etwas selbst ausprobieren und ein sehr einfaches Business-Simulationsspiel mit einem C# -Formular in Visual Studio erstellen.Wie fiktive Zeit für ein Business-Simulationsspiel zu erstellen und zu simulieren

Ich fragte Google, aber hatte eine harte Zeit zu finden, was ich suche. Ich möchte grundsätzlich mit einem System beginnen, das Tage simuliert. Nehmen wir an, ich habe einen Knopf, den ich drücken kann, um vorwärts zu spielen, und wenn ich dies tue, sollte ein vordefiniertes Datum wie 1. Januar 2017 um +1 Tag Ticks zunehmen, solange ich nicht erneut auf diese Schaltfläche klicke, um anzuhalten das Spiel. Dies ist zum Beispiel, wie es im Spiel Europa Universalis IV funktioniert, außer dass ich die Geschwindigkeit in diesem Spiel sogar um 5 Stufen erhöhen kann, aber das wäre jetzt ein bisschen zu viel.

Ich möchte nur verstehen, wie das Grundkonzept eines simulierten Datums in der Wirtschaft basiert, oder Strategie basierte Spiele arbeiten. Ich habe ausgesagt, dass sie sogar 28 Tage im Februar in Europa Universalis IV spielen ... also, wie funktioniert die Spiellogik von Zeit oder Datum? Ich möchte dieses System auch erstellen, um es zu verstehen. Ich denke, ich brauche ein Formular-Projekt, 1 Button, 1 Timer und 1 Label.

Kann mir jemand in die richtige Richtung zeigen?

+2

Dies ist viel zu weit und off topic für SO. Bitte lies [ask] und nimm die [Tour] – Plutonix

+0

Für einen totalen Anfänger scheint das eine ziemlich große Aufgabe zu sein. Sie sind meistens auf dem richtigen Weg - was Sie verpassen, wäre eine 'Update'-Methode. Lassen Sie uns sagen, jedes Mal, wenn Sie Update aufrufen, rücken Sie das Datum pro Tag vor. Die Implementierung wäre also in den Zeilen '_currentDate = _currentDate.AddDays (1)'. Dann verbinden Sie den Timer, um diese Methode aufzurufen, und lassen Sie Ihre Taste ändern, wie schnell der Timer "Update" aufruft. Das heißt, diese Frage ist wirklich zu weit für Stack-Überlauf - diese Website ist für sehr spezifische Fragen definiert – Rob

+0

[Warum ist "Kann mir jemand helfen?" Keine eigentliche Frage?] (Http://meta.stackoverflow.com/q/284236) – EJoshuaS

Antwort

0

Mehrere Dinge. Sie benötigen einen Timer, um dies zu fahren. Sie wollen wahrscheinlich Schritten kleiner als 1 Tag, sagen wir 1 Stunde Dies ist eine sehr grobe Skizze

  1. Auf Schaltfläche klicken, timer.Enabled =! Timer.Enabled (dies kehrt den Timer Zustand laufen, werden Sie wahrscheinlich wollen UI und wie gut)
  2. im timer_Elapsed Ereignisse zu aktualisieren, möchten Sie Ihren Spielzustand (zB _now = _now.AddHours (1) aktualisieren; update(); UpdateUI();)
+0

Es gibt mehrere Timer, aus denen Sie wählen können. Was Sie verwenden, hängt weitgehend von Ihrer Front-End-Technologie ab. –

Verwandte Themen