tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
396
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Svsoko Svsoko ist offline Grünschnabel
    Registriert seit
    Aug 2011
    Beiträge
    4
    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 :P.

    Mein Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    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
    Geändert von Svsoko (17.12.11 um 15:57 Uhr)
     

  2. #2
    Avatar von colblake
    colblake colblake ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Ort
    dresden
    Beiträge
    214
    Hi Svsoko,

    Schonmal so versucht?

    Code csharp:
    1
    2
    3
    4
    
    foreach (Karten karten in SpielerArray[0].GetKartenStapel())
    {
        console.WriteLine(karten.gettyp());
    }

    Woran haperts denn genau?
     
    Über so viele Sachen wächst Gras , man kann keiner Wiese mehr trauen.

Ähnliche Themen

  1. Kartenspiel programmieren
    Von sarenity im Forum Java
    Antworten: 4
    Letzter Beitrag: 16.04.09, 00:31
  2. kartenspiel
    Von Fragenueberfragen im Forum PHP
    Antworten: 0
    Letzter Beitrag: 28.06.08, 12:16
  3. Pazaak (Kartenspiel) in VBA
    Von cheeZy im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 19.03.08, 16:02
  4. KI - Kartenspiel
    Von thomy800 im Forum Java
    Antworten: 0
    Letzter Beitrag: 27.02.08, 22:39
  5. Name für Kartenspiel
    Von RudolfG im Forum Buchführung, Recht, Steuer & Co.
    Antworten: 4
    Letzter Beitrag: 23.01.08, 00:05