Vraag hulp bij programmeren schoolopdracht

maulem

Vaak hier
Lid geworden
23 feb 2017
Berichten
547
Waarderingsscore
22
Punten
18
Misschien kun je een screenshot maken en uploaden op imgdumper.nl. Want deze is namelijk erg onduidelijk. Daarna de directe url kopiëren en aan je bericht toevoegen, via Koppeling invoegen, URL.

Dit is de volledige code.

C#:
using System;
using System.Collections.Generic;
using System.Text;

namespace Kaartspel
{
    static class Game
    {
        public static int aantalSpelers;
        public static int aantalKaarten;
    }

    class Program
    {
        static void Main(string[] args)
        {
            DeckOfCards doc = new DeckOfCards();
            doc.setUpDeck();
            Console.WriteLine("Deck:");
            Console.WriteLine("");
            doc.PrintDeck();
            Console.WriteLine("Aantal spelers:");
            string input1 = Console.ReadLine();
            Game.aantalSpelers = Int32.Parse(input1);
            Console.WriteLine("Aantal kaarten:");
            string input2 = Console.ReadLine();
            Game.aantalKaarten = Int32.Parse(input2);
            Console.WriteLine("");
            Console.WriteLine("Shuffle:");
            Console.WriteLine("");
            doc.Shuffle();
            doc.Deal();
            Console.ReadLine();
        }
    }

    class Cards
    {
        public enum Suit
        {
            HEARTS,
            DIAMONDS,
            SPADES,
            CLUBS
        }

        public enum Value
        {
            Ace = 1, Two, Three, Four, Five, Six, Seven, Eight,
            Nine, Ten, Jack, Queen, King
        }


        public Suit MySuit { get; set; }
        public Value MyValue { get; set; }
    }

    class DeckOfCards : Cards
    {
        const int Total_Cards = 52; //number of all cards
        private Cards[] deck; //array of all playing cards
        private Cards[,] dealed; //two-dimensional array of all dealed cards
        static Random r = new Random();

        public DeckOfCards()
        {
            deck = new Cards[Total_Cards];
        }

        public Cards[] getDeck { get { return deck; } } //get current deck

        //create deck of 52 cards: 13 Values each, with 4 suits
        public void setUpDeck()
        {
            int i = 0;
            foreach (Suit s in Enum.GetValues(typeof(Suit)))
            {
                foreach (Value v in Enum.GetValues(typeof(Value)))
                {
                    deck[i] = new Cards { MySuit = s, MyValue = v };
                    i++;
                }
            }
        }

        //print all 52 cards
        public void PrintDeck()
        {
            for (int i = 0; i < 52; i++)
            {
                Console.WriteLine($"{deck[i].MySuit} {deck[i].MyValue}");
            }
            Console.WriteLine("");
        }

        //print dealed cards for every player
        public void PrintDealed()
        {
            for (int x = 0; x < Game.aantalSpelers; x++)
            {
                int a = x + 1;
                Console.WriteLine("speler " + a + ":");
                Console.WriteLine("");
                for (int y = 0; y < Game.aantalKaarten; y++)
                {
                    Console.WriteLine($"{dealed[x,y].MySuit} {dealed[x,y].MyValue}");
                }
                Console.WriteLine("");
            }
        }

        //shuffle all 52 cards
        public void Shuffle()
        {
            for (int n = deck.Length - 1; n > 0; --n)
            {
                int k = r.Next(n + 1);
                Cards temp = deck[n];
                deck[n] = deck[k];
                deck[k] = temp;
            }
            PrintDeck();
        }

        //fill two-dimensional array with cards from shuffled deck array
        public void Deal()
        {
            int total = Game.aantalSpelers * Game.aantalKaarten;
            if (!(total > 52)) {
                dealed = new Cards[Game.aantalSpelers, Game.aantalKaarten];
                int i = 0;
                for (int x = 0; x < Game.aantalSpelers; x++)
                {
                    for (int y = 0; y < Game.aantalKaarten; y++)
                    {
                        dealed[x, y] = deck[i];
                        i++;
                    }
                }
                Console.WriteLine("");
                PrintDealed();
            }
            else
            {
                Console.WriteLine("");
                Console.WriteLine("Niet genoeg kaarten beschikbaar voor dit spel, teveel spelers of kaarten opgegeven.");
            }
        }
    }
}
 

maulem

Vaak hier
Lid geworden
23 feb 2017
Berichten
547
Waarderingsscore
22
Punten
18
hallo @catalunj, heb jij toevallig nog andere class (dus .cs) bestanden in je Solution Explorer staan met daarin definities van de class DeckOfCards? Als je deze niet uitsluit uit het project krijg je namelijk dit soort foutmeldingen.

Om een class bestand uit te sluiten, dit rechtsklikken in de Solution Explorer en dan kiezen voor Exclude from Project.
 

maulem

Vaak hier
Lid geworden
23 feb 2017
Berichten
547
Waarderingsscore
22
Punten
18
Er klopt iets niet met de laging, kijk goed waar binnen de namespace de methode ShuffleCards() staat, en kijk naar de accolades die gebruikt worden.
 

catalunj

Nieuw lid
Lid geworden
17 nov 2020
Berichten
12
Waarderingsscore
0
Punten
1
Leeftijd
25
heb iedere functie nu kloppend krijg nog steeds foutmeldingen haha.
Hoe krijg ik deze nog opgelost?

https://www.imgdumper.nl/uploads9/5fc64375f38e9/5fc64375eedd1-kaartenspel.png

als ik dit al weg zou krijgen zodat het programma kan runnen ben ik dik tevreden, eigenlijk zou ik nog een extra klas aan moeten maken Dealer en hier vervolgens in Shuffelen en Dealen maar dit levert me nog meer problemen op omdat ik die functie aanroepen etc.. niet goed krijg.

btw. kan je ook jou .cs file eens sharen? zodat ik het programma werkend kan zien in visualstudio.
want als ik die 'game' error verbeter dan geeft ie weer aan dat aantalkaarten en aantalspelers fout zijn, t lijkt wel of de fouten zich blijven opstapelen.
 
Laatst bewerkt:

catalunj

Nieuw lid
Lid geworden
17 nov 2020
Berichten
12
Waarderingsscore
0
Punten
1
Leeftijd
25
nogmaals bedankt voor alle hulp @maulem , ik heb er al behoorlijk wat uurtjes inzitten en ik zal niet zeggen dat ik alles al helemaal snap. maar ik begrijp er in ieder geval al een stuk meer van dan toen ik met dit vak begon en deze opdracht voor m'n kiezen kreeg.
 

Nieuwste berichten

Bovenaan Onderaan