Jeg har kodet et blackjack spil og kunne godt tænke mig at ændre farven på det kort der bliver trukket fra en bunke. Så f.eks er hjerter 10 rød og ruder k er grå.
Tænker vel at jeg skal angive farven i selve spillet?
Spillet er pt. delt op i et spil og en kortbunke (2 filere)
Er der nogle der kan hjælpe?
Main klassen:
Kode: Vælg alt
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Blackjack
{
class Program
{
static void Main(string[] args)
{
int balance =100;
string betstring;
int betvalue;
string spillernavn;
string repeatspil;
Console.WriteLine("Blackjack by Slass!!");
Console.WriteLine("**************************");
Console.Write("Hvad er dit navn: ");
spillernavn = Console.ReadLine();
while (spillernavn == "")
{
Console.WriteLine("Indtast venligst dit navn:");
spillernavn = Console.ReadLine();
}
Console.Clear();
Console.WriteLine("Velkommen til spillet " + spillernavn);
Console.WriteLine();
// starter spillet indtil du siger nej (n)
do
{
Betstart: //Label der sender dig tilbage hvis du bruger goto.
Console.WriteLine("Du har kr. " + balance + " på din konto, Hvor meget vil du bette?");
betstring = Console.ReadLine();
if (Int32.TryParse(betstring, out betvalue))
{
betvalue = Convert.ToInt32(betstring);
}
else
{
Console.WriteLine("Du må kun indtaste tal som bet - du better automatisk 10 kr.");
betvalue = 10;
}
if (betvalue > balance)
{
Console.WriteLine("Du har ikke nok penge på din konto. Kontakte din bank for et quick lån :-)");
goto Betstart; // går tilbage til betstart:
}
Console.Clear();
balance = balance + Spil(spillernavn, betvalue); //indlæser i rækkefølge
if (balance <= 0)
{
Console.WriteLine("Du er broke. Helt færdig! Kontakt en rocker for at låne flere penge :-)");
return;
}
Console.WriteLine();
Console.WriteLine("Vi tager en runde mere. Du har " + Convert.ToString(balance) + " kr. Tryk N hvis du ikke ønsker at spille mere.");
repeatspil = Console.ReadLine();
} while (repeatspil != "n");
}
static int Spil(string navn, int bet) //indlæser i rækkefølge
{
int kortvalg;
int spillerKortValue = 0;
int spillerKortAntal = 0;
string spillerKortTekst = "Din hånd: ";
int dealerKortValue = 0;
int dealerKortAntal = 0;
string dealerKortTekst = "Dealerens hånd: ";
card.GenerateDeck();
Random random = new Random();
kortvalg = random.Next(0, (card.deck.Count - 1)); //trækker et tilfældigt kort fra bunken
//herunder kort til spilleren
spillerKortValue += card.deck[kortvalg].value;
spillerKortTekst += card.deck[kortvalg].type + card.deck[kortvalg].suit + " ";
spillerKortAntal += 1; // Tæller antal af kort for at holde styr på om det er en blackjack ud fra to kort.
card.deck.RemoveAt(kortvalg); //fjerner kort fra bunken.
//herunder kort til dealeren
kortvalg = random.Next(0, (card.deck.Count - 1)); //trækker et tilfældigt kort fra bunken
dealerKortValue += card.deck[kortvalg].value;
dealerKortAntal += 1; // Tæller antal af kort for at holde styr på om det er en blackjack ud fra to kort.
dealerKortTekst += card.deck[kortvalg].type + card.deck[kortvalg].suit + " ";
card.deck.RemoveAt(kortvalg); //fjerner kort fra bunken.
//Spiller
Console.WriteLine("Dit bet: " +bet );
Console.WriteLine(dealerKortTekst + "(" + dealerKortValue.ToString() + ")");
while (true)
{
if (spillerKortValue == 21 && spillerKortAntal == 2) //Kontrollere om spilleren har 21 og om det er ud fra to kort.
{
Console.WriteLine("Blackjack - Du vinder!");
return bet; //spilleren har ramt ægte blackjack (2 kort) og vinder dermed spillet.
}
Console.WriteLine(spillerKortTekst + "(" + spillerKortValue.ToString() + ")"); //Trækker kort
string svar = Console.ReadLine();
if (svar == "") //Hvis spilleren trykker enter fortsætter trækker man et kort. .
{
kortvalg = random.Next(0, (card.deck.Count - 1));
spillerKortValue += card.deck[kortvalg].value;
spillerKortTekst += card.deck[kortvalg].type + card.deck[kortvalg].suit + " ";
spillerKortAntal += 1;
card.deck.RemoveAt(kortvalg);
if (spillerKortValue > 21)
{
Console.WriteLine("Du er gået over 21");
return -bet; //spiller er færdig med sin tur.
}
else
{
continue;
}
}
else
{
break; // tilfældigt imput (stopper spilleren i at trække)
}
}
//dealer
Console.WriteLine(navn + " har valgt at stå på " + spillerKortValue.ToString());
if (spillerKortValue <= 21)
{
while (dealerKortValue < 17) //Hvis dealerens kort værdi er under 17 skal dealeren trækker kort.
{
dealerKortValue += card.deck[kortvalg].value;
dealerKortTekst += card.deck[kortvalg].type + card.deck[kortvalg].suit + " ";
Console.WriteLine(dealerKortTekst + "(" + dealerKortValue.ToString() + ")");
card.deck.RemoveAt(kortvalg);
}
if (dealerKortValue > 21)
{
Console.WriteLine("Dealer er gået over og du vinder dermed spillet! ");
return bet;
}
else if (spillerKortValue == dealerKortValue)
{
Console.WriteLine(navn + " og dealer har det samme");
return 0;
}
else if (spillerKortValue < dealerKortValue)
{
Console.WriteLine("Dealer vinder! ");
return -bet;
}
else
{
Console.WriteLine(navn + " Har vundet spillet");
return bet;
}
}
else
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Dealeren har vundet!");
return -bet;
}
}
}
}
Kode: Vælg alt
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Blackjack
{
public class card
{
public string suit { get; set; }
public string type { get; set; }
public int value { get; set; }
public static List<card> deck = new List<card>();
public static void GenerateDeck()
{
deck.Clear(); //tømmer listen så der gennereres et nyt dæk
string card_suit = "♦";
int i = 1;
while (i <= 4)
{
if (i==2)
{
card_suit = "♠";
}
if (i == 3)
{
card_suit = "♥";
}
if (i == 4)
{
card_suit = "♣";
}
// Tilføjer kort til dækket.
deck.Add(new card() { suit = card_suit, type = "2", value = 2 });
deck.Add(new card() { suit = card_suit, type = "3", value = 3 });
deck.Add(new card() { suit = card_suit, type = "4", value = 4 });
deck.Add(new card() { suit = card_suit, type = "5", value = 5 });
deck.Add(new card() { suit = card_suit, type = "6", value = 6 });
deck.Add(new card() { suit = card_suit, type = "7", value = 7 });
deck.Add(new card() { suit = card_suit, type = "8", value = 8 });
deck.Add(new card() { suit = card_suit, type = "9", value = 9 });
deck.Add(new card() { suit = card_suit, type = "10", value = 10 });
deck.Add(new card() { suit = card_suit, type = "J", value = 10 });
deck.Add(new card() { suit = card_suit, type = "D", value = 10 });
deck.Add(new card() { suit = card_suit, type = "K", value = 10 });
deck.Add(new card() { suit = card_suit, type = "A", value = 11 });
i++;
}
}
}
}