August 15, 2002
Hej!
Jag håller på med att lära mig VB i skolan så jag tänkte göra ett Yatzy spel som övning där hemma, men nu har jag fastnat lite. :arg:
Då man kastat tärningarna och klickar på "Två par" i poängtabellen har jag den här koden (jag har satt in lite kommentarer för att ni kanske skall få en uppfattning om hur jag tänkt)
If lbl_2parkoll.Caption = "0" Then 'KOLLAR I "KONTROLLFÄLTET" OM "TVÅ PAR" ANVÄNTS FÖRR
For x = 0 To 3
For y = x + 1 To 4
If lbl_T(x).Caption = lbl_T(y).Caption Then 'KOLLAR OM TVÅ TÄRNINGAR ÄR LIKA
If x Or y = a Or b Or c Or d Then 'KOLLAR OM NÅGON AV TÄRNINGARNA ANVÄNTS I NÅGOT ANNAT PAR
'GÖR INGENTING
Else
If b > 0 Then 'Kollar om något par hittats förr
c = x And d = y 'FYLLER I VILKA TÄRNINGAR SOM ÄR ANDRA PARET
Else
a = x And b = y 'FYLLER I VILKA TÄRNINGAR SOM ÄR FÖRSTA PARET
End If
End If
End If
Next y
Next x
If a And b And c And d > 0 Then 'KOLLAR OM MAN FÅTT TVÅ PAR
lbl_2parp.Caption = lbl_T(a).Caption + lbl_T(b).Caption + lbl_T(c).Caption + lbl_T(d).Caption
'RÄKNAR IHOP OCH FYLLER I POÄNGEN
lbl_2parkoll.Caption = "1" 'FYLLER I "KONTROLLFÄLTET"
Else
lbl_2parp.Caption = 0 'SÄTTER UT 0 POÄNG EFTERSOM MAN INTE
HAR 2 PAR
End If
Else
MsgBox "Du har redan använt det här!" 'VARNAR OM MAN REDAN
ANVÄNT "TVÅ PAR"
End If
Före det här har jag deklarerat alla variabler som integer.
Resultatet från tärningarna skrivs ut i fem st "label" som heter "lbl_T(0)" ... "lbl_T(4)"
I "lbl_2parp" skrivs poängen ut.
"lbl_2parkoll" är en label som jag använder som "kontrollfält", det har värdet 0 från början och får värdet 1 då man använt en sak (tex. kåk eller par).
Om det är något ni vill fråga får ni gärna göra det!
Tack på förhand! :worshipp:
ps. ursäkta röran i koden alla kommentarer är med VERSALER för att underlätta lite
edit: då jag sätter in "Print a; b; c; d" efter slingan och kör programmet har de alla fyra värdet 0 , fast jag har två par.
1 Guest(s)