Dag allen,
ik ben na lange tijd weer begonnen met VB en wou een kaartspel maken.
Wat heb ik al:
Ik wil nu dat de andere spelers (cpu) gaan reageren op mijn gespeelde kaart. Echter moet ik daarvoor weten welke kaart ik speel en daar loop ik vast. Ik kom er maar niet achter hoe ik dat moet aanpakken.
Mijn code:
ik ben na lange tijd weer begonnen met VB en wou een kaartspel maken.
Wat heb ik al:
- 52 afbeeldingen met namen "0 to 51.bmp". Deze zitten in een imagelist
- Een speelbord met 52 imagboxes waar Drag&Drop op mogelijk is.
- Een code om de kaarten willekeurig uit te delen (in patroon van 4-4-5
- Een code om via dubbelklik op de kaart, de kaart naar de tafel te verplaatsen
Ik wil nu dat de andere spelers (cpu) gaan reageren op mijn gespeelde kaart. Echter moet ik daarvoor weten welke kaart ik speel en daar loop ik vast. Ik kom er maar niet achter hoe ik dat moet aanpakken.
Mijn code:
Visual Basic:
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
| Option Explicit Private Sub Command1_Click() Dim X As Integer Dim Y As Integer Dim i As Integer Dim j As Integer Dim Kaart(1 To 52) Dim Speler As Variant Speler = Array(Hand1, Hand2, Hand3, Hand4) Dim PatroonA As Variant PatroonA = Array(0, 4, 8) Dim PatroonB As Variant PatroonB = Array(3, 7, 12) For j = 0 To 2 'Uitdelen in volgende volgorde: 4-4-5 For i = 0 To 3 'Speler 1 - 4 kiezen For Y = PatroonA(j) To PatroonB(j) 'Kaarten in de hand Randomize X = Int(51 * Rnd) + 1 'Random getal genereren While Kaart(X) = True 'Controleren of kaart al is geweest X = X + 1 'Zo ja, dan 1 kaart verder If X > 52 Then X = 1 'Bij laatste kaart terug naar kaart 1 Wend Set Speler(i)(Y).Picture = Kaartenbak.ListImages(X).Picture Kaart(X) = True 'Kaart op "geweest" zetten Next Y Next i Next j End Sub Private Sub Hand1_DblClick(Index As Integer) If Hand1(Index).Picture <> Empty Then TafelKaart(0).Picture = Hand1(Index).Picture Hand1(Index).Picture = Nothing 'code voor de andere spelers Else MsgBox "Geen kaart aanwezig" End If End Sub |