Bauen mit Microsoft - Das erste Spiel

Nachdem Sie die Microsoft Visual C# Express Edition installiert haben, starten Sie das Programm über den erstellten Startmenü-Eintrag. Wählen Sie als Tastaturlayout „C# Entwickler“.

Schritt 1: Am Anfang war das Fenster…

Legen Sie ein neues Projekt über „File->New Project->Windows Application“ an und geben Sie als „Solution Name“ „Meine erste Projektmappe“ sowie als „Name“ „Ratespiel“ ein.

Legen Sie ein neues Projekt über „File->New Project->Windows
Application“ an

Schritt 2: Der Arbeiter

Auf der rechten Seite sehen Sie Ihre Projektmappe, welche das Projekt „Ratespiel“ enthält und ein Eigenschaftenfenster, welches die Eigenschaften des aktuell ausgewählten Objektes anzeigt.

Auf der linken Seite sehen Sie die Toolbox, welche alle nötigen Steuerelemente enthält, die Sie in Ihr Ratespiel einbinden können. In der Mitte des Bildschirms ist Ihre Form, also das Hauptfenster Ihrer Anwendung, dargestellt.

Danach ziehen Sie eine GroupBox auf Ihre Form und tragen für die Texteigenschaft „Spielstand“ ein.

Ziehen Sie nun zwei Labels in die eben eingefügte GroupBox. Ändern Sie die Texteigenschaften in „Computer“ bzw. „Spieler“. Fügen Sie nun neben beiden Labels jeweils eine ProgressBar ein, indem Sie sie aus der Toolbox auf Ihre Form ziehen.

Unter der GroupBox fügen Sie nun zwei Panels aus der Toolbox hinzu, deren Eigenschaft „BackColor“ Sie auf „White“ ändern.

Sie können die Steuerelemente auf Ihrer Form beliebig anordnen, so dass sie aussieht wie auf der nachfolgenden Abbildung.

Steuerelemente anordnen

Wenn Sie einen Doppelklick auf den Button mit der Aufschrift „Rot“ ausführen, gelangen Sie in den Code, und zwar an die Stelle, die aufgerufen wird, wann immer jemand, der Ihr Spiel später spielt, auf oben genannten Button klickt. Die Spielerkarte wird durch das „panel1“ dargestellt, daher sollte sich das „panel1“ rot färben, wenn jemand auf den Button „Rot“ klickt.

Durch Einfügen der folgenden Codezeile wird dieser Effekt erreicht:

panel1.BackColor = Color.Red;

Klicken Sie auf die Abbildung um den Code zu erhalten!

Wechseln Sie nun wieder zurück zur Designansicht, in der Sie auf den „Blau“-Button doppelklicken und die folgende Codezeile einfügen:

panel1.BackColor = Color.Blue;

Klicken Sie auf die Abbildung um den Code zu erhalten!

Wenn Sie das Projekt jetzt speichern und per Druck auf „F5“ starten, können Sie die eben implementierte Funktionalität testen. Der Druck auf die jeweiligen Buttons sollte eines der Panels einfärben.

Gehen Sie nun wieder in den Code und fügen Sie unter der Methode


private void button2_Click(object sender, EventArgs e)
{
panel1.BackColor = Color.Blue;
}

Klicken Sie auf die Abbildung um den Code zu erhalten!

jedoch innerhalb der geschweiften Klammern, der „class“, den folgenden Code ein:


#region Spielauswertung

int computerSiege;
int spielerSiege;

private void waehleUndWerteAus()
{
//waehle
Random randomizer = new Random();
double randomnumber = randomizer.NextDouble();
if (randomnumber < 0.5)
{
panel2.BackColor = Color.Red;
}
else
{
panel2.BackColor = Color.Blue;
}

//werte aus

Klicken Sie auf die Abbildung um den Code zu erhalten!


if (panel1.BackColor == panel2.BackColor)
{
computerSiege++;
MessageBox.Show("Der Computer hat gewonnen!");
}
else
{
spielerSiege++;
MessageBox.Show("Sie haben gewonnen!");
}

//aktualisiere ProgressBars
progressBar1.Value = (int)((double) computerSiege / (spielerSiege +
computerSiege) * 100);
progressBar2.Value = (int)((double) spielerSiege / (spielerSiege + computer-
Siege) * 100);

//stelle Originalzustand der Karten her
panel1.BackColor = Color.White;
panel2.BackColor = Color.White;
}
#endregion

Klicken Sie auf die Abbildung um den Code zu erhalten!

Diese so genannte Region hilft Ihnen, sich im Code zu orientieren und zusammengehörende Codeabschnitte ein- und bei Bedarf auszublenden. Die ersten zwei Zeilen hinter der Regionsdefinition sind Variablendeklarationen. Mit dem Deklarieren einer Variablen wird Speicher für Sie reserviert, in den Sie Informationen ablegen können. Um auf diesen Speicherort zugreifen zu können, müssen Sie sich den Namen der Speicherstellen, also hier „computerSiege“ und „spielerSiege“ merken. Welche Art Information gespeichert werden kann, bestimmt der Typ einer Variablen, in diesem Fall „int“. In einer Variablen vom Typ „int“ können nur ganzzahlige Werte gespeichert werden.

Um die Methode „waehleUndWerteAus()“ aufzurufen, geben Sie sie an der entsprechenden Stelle im Code wie beschrieben ohne Anführungszeichen an. Wir benötigen zwei Aufrufe, nämlich einmal, wenn der „Rot“-Button geklickt wurde und einmal, wenn der „Blau“-Button geklickt wurde, so dass der Code der beiden Click Methoden nun wie folgt aussieht:


private void button1_Click(object sender, EventArgs e)
{
panel1.BackColor = Color.Red;
waehleUndWerteAus();
}

private void button2_Click(object sender, EventArgs e)
{
panel1.BackColor = Color.Blue;
waehleUndWerteAus();
}

Klicken Sie auf die Abbildung um den Code zu erhalten!

Wenn Sie Ihre Anwendung nun starten und auf einen der Buttons klicken, sieht das Ergebnis so aus:

Ergebnis nach dem starten der Anwendung