Hallo,
ich soll ein Maumau Kartenspiel programmieren. Es soll eine Konsolenanwendung werden.
Am anfang wird die Spieler Zahl fesgelegt.
So nun zu meinem problem, ich habe ein Array vom typ Spieler wo meine Spieler drin sind, diesen Spielern übergebe ich Kartenstapelarrays vom typ Karten, wo meine Karten drin sind.
So nun möchte ich z.b auf die Karten von Spieler1 zugreifen und die Karten die er auf der Hand hat ausgeben.
Aber iwi schaffe ich es nicht auf die Spielerkarten zuzugreifen und sie auszugeben bzw ihre Attribute wie Farbe.
Evtl kann mir jmd ja helfen.Ich hoffe ich habe mein problem verständlich erklärt, wenn nicht sagt bescheid .
Mein Code:
MFG
ich soll ein Maumau Kartenspiel programmieren. Es soll eine Konsolenanwendung werden.
Am anfang wird die Spieler Zahl fesgelegt.
So nun zu meinem problem, ich habe ein Array vom typ Spieler wo meine Spieler drin sind, diesen Spielern übergebe ich Kartenstapelarrays vom typ Karten, wo meine Karten drin sind.
So nun möchte ich z.b auf die Karten von Spieler1 zugreifen und die Karten die er auf der Hand hat ausgeben.
Aber iwi schaffe ich es nicht auf die Spielerkarten zuzugreifen und sie auszugeben bzw ihre Attribute wie Farbe.
Evtl kann mir jmd ja helfen.Ich hoffe ich habe mein problem verständlich erklärt, wenn nicht sagt bescheid .
Mein Code:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MauMau
{
public class Program
{
static void Main(string[] args)
{
//Random Zahl generieren
Random zufallsGen = new Random();
int num ;
Console.WriteLine("Anz Spieler eingeben");
try
{
// Eingabe
string eingabe = Console.ReadLine();
int anz = Convert.ToInt32(eingabe);
// Ein Array für die Spieler eins für deren KartenStapelIni
Spieler[] SpielerArray = new Spieler[anz];
KartenStapel[] KartenStapelSpielerArray = new KartenStapel[anz];
//
Console.WriteLine("Es wird ein spiel mit : " + anz + " Spielern gestartet \n");
// KartenStapelIni erstellen
KartenStapel StapelIni = new KartenStapel();
KartenStapel StapelGemischt = new KartenStapel();
StapelIni[0] = new Karten("Kreuz", "Schwarz", "Ass");
StapelIni[1] = new Karten("Kreuz", "Schwarz", "7");
StapelIni[2] = new Karten("Kreuz", "Schwarz", "8");
StapelIni[3] = new Karten("Kreuz", "Schwarz", "9");
StapelIni[4] = new Karten("Kreuz", "Schwarz", "10");
StapelIni[5] = new Karten("Kreuz", "Schwarz", "Bube");
StapelIni[6] = new Karten("Kreuz", "Schwarz", "Dame");
StapelIni[7] = new Karten("Kreuz", "Schwarz", "König");
StapelIni[8] = new Karten("Pik", "Rot", "Ass");
StapelIni[9] = new Karten("Pik", "Rot", "7");
StapelIni[10] = new Karten("Pik", "Rot", "8");
StapelIni[11] = new Karten("Pik", "Rot", "9");
StapelIni[12] = new Karten("Pik", "Rot", "10");
StapelIni[13] = new Karten("Pik", "Rot", "Bube");
StapelIni[14] = new Karten("Pik", "Rot", "Dame");
StapelIni[15] = new Karten("Pik", "Rot", "König");
StapelIni[16] = new Karten("Herz", "Rot", "Ass");
StapelIni[17] = new Karten("Herz", "Rot", "7");
StapelIni[18] = new Karten("Herz", "Rot", "8");
StapelIni[19] = new Karten("Herz", "Rot", "9");
StapelIni[20] = new Karten("Herz", "Rot", "10");
StapelIni[21] = new Karten("Herz", "Rot", "Bube");
StapelIni[22] = new Karten("Herz", "Rot", "Dame");
StapelIni[23] = new Karten("Herz", "Rot", "König");
StapelIni[24] = new Karten("Karo", "Schwarz", "Ass");
StapelIni[25] = new Karten("Karo", "Schwarz", "7");
StapelIni[26] = new Karten("Karo", "Schwarz", "8");
StapelIni[27] = new Karten("Karo", "Schwarz", "9");
StapelIni[28] = new Karten("Karo", "Schwarz", "10");
StapelIni[29] = new Karten("Karo", "Schwarz", "Bube");
StapelIni[30] = new Karten("Karo", "Schwarz", "Dame");
StapelIni[31] = new Karten("Karo", "Schwarz", "König");
//KartenStapelIni mischen
for (int i = 0; i < 32; i++)
{
num = zufallsGen.Next(31);
StapelGemischt[num] = StapelIni[i] ;
}
int k = 0;
//Stapel erzeugen
for (int i = 0; i < anz; i++)
{
KartenStapel tmp = new KartenStapel();
for (int j = 0; j < 6; j++)
{
tmp[j] = StapelGemischt[k++];
}
KartenStapelSpielerArray[i] = tmp;
}
//Stapel zuweisen
for (int i = 0; i < anz; i++)
{
SpielerArray[i] = new Spieler("Spieler " + i, KartenStapelSpielerArray[i]);
}
Console.WriteLine();
}
catch (Exception)
{
Console.WriteLine("Es ist ein Fehler aufgetreten");
}
}
}
}
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MauMau
{
public class KartenStapel
{
private Karten[] Stapel = new Karten[32];
// Indexer
public Karten this[int index]
{
get { return Stapel[index]; }
set
{
// prüfen, ob der Index schon belegt ist
if (Stapel[index] == null || value == null)
Stapel[index] = value;
else
// nächsten freien Index suchen
for (int i = 0; i < 32; i++)
{
if (Stapel[i] == null)
{
Stapel[i] = value;
return;
}
}
}
}
}
}
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MauMau
{
public class Spieler
{
public string name;
public KartenStapel stapel;
public Spieler(string name , KartenStapel stapel)
{
this.name = name;
this.stapel = stapel;
}
public KartenStapel getKartenStapel()
{ return stapel; }
}
}
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MauMau
{
public class Karten
{
public string typ, farbe,zahl;
public Karten(string typ,string farbe, string zahl)
{
this.typ = typ;
this.farbe = farbe;
this.zahl = zahl;
}
public string gettyp()
{ return this.typ; }
}
}
MFG
Zuletzt bearbeitet: