4090 Black Jack

Kortleken

kod

Du ska göra två klasser Card (Kort) och Deck (Kortlek). Kortleken innehåller 52 spelkort.

Klassen Card

Kort i en kortlekt. Lägg till getters.

Klassen Deck

Metoder:

  • blanda
  • dra översta kortet (och ta bort ur leken)

Tips: metoder i klassen List:

Add()
Count  //property
RemoveAt()

Fler tips: metoden Next() i klassen Random.

objektdiagram

Gör objektdiagram för ett objekt av klassen Kortlek.

klassdiagram

Gör klassdiagram för de båda klasserna.

Fortsättning

Spelkort (bilder) finns på itslearning.

Spelkort kan importeras på följande vis i Visual Studio. Klicka:

  • Solution Explorer
  • högerklicka på Properties och välj open
  • Resources i vänsterspalten
  • Add Resource i överkant
  • Add existing file
  • välj filer

I koden ändras bild på följande vis:

pictureBox10.Image = Properties.Resources.clubA;

eller

System.Resources.ResourceManager rm = Properties.Resources.ResourceManager;
pictureBox1.Image = (Image)rm.GetObject("clubA");

Klassen TableLayoutPanel

För att i användargränssnittet få ett rutnät att lägga korten i kan komponenten TableLayoutPanel användas. Din lärare kan berätta mer.

// Har en TableLayoutPanel som döpts till tableLayoutPan.
// I varje cell ligger en PictureBox.
// Läs innehållet i en cell
PictureBox picBox = (PictureBox)tabelLayoutPan.GetControlFromPosition(0, 0);

Introduktion

Du ska skriva ett program där man kan spela Black Jack mot datorn.

Spelets regler

Dealern ger spelaren två kort och sig själv ett kort. Du erhåller din poäng genom att addera kortens värden.
Kortens värde i Black Jack är för korten två till tio valören som står på kortet. Knektar, damer och kungar räknas som tio och ess räknas som elva eller ett. Esset räknas alltid som elva förutom när din poäng överstiger 21, då räknas esset som ett.

Enklare regler för kortens valör

Om du vill göra det lite lättare för dig själv kan du låta kortens värde vara som följer. Korten två till tio har det värde som kortet anger, ett ess är värt 1, en knekt är värd 11, en dam är värd 12 och en kung är värd 13.

Spelaren måste välja ett av följande alternativ:

Hit – Om du inte är nöjd med din poäng och vill ha ett kort till. Du fortsätter att välja hit tills du är nöjd med din poäng eller blir tjock.

Stand – Om du inte vill ha fler kort.

Efter att spelaren gjort sina val spelar dealern sin hand. Dealern måste spela sin han enligt följande regler:

  • Om spelaren blir tjock vinner dealern utan att behöva spela sin hand.
  • Dealern måste välja att ta ett kort till om hans poäng är lägre än 17. Annars måste han välja att inte ta fler kort.

Vem vinner?

Spelaren vinner om han har fler poäng än dealern. Spelaren förlorar om han blir tjock (mer än 21 poäng). Dealern förlorar också om han blir tjock.

Fler klasser

Klassen Hand

Klassen Hand representerar en spelares hand.

Klassen Game

Klassen Game representerar spelbordet och reglerna. Håller ordning på dealerns och spelarens händer samt kortleken.

Klassen GUI

Användargränssnitt.

Uppgift 2

I mindre grupper.

Flödesdiagram för ett parti Black Jack.

En spelare spelar mot dealern. Bra om man kan börja om efter spelat parti.

Klassdiagram för alla klasser

Objektdiagram för Game

Objektdiagram för ett objekt av klassen Game samt alla objekt som refereras därifrån.

Kod

Skriv kod och testa.