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.