Just nu i M3-nätverket
Gå till innehåll

hjälp


cybertears

Rekommendera Poster

hej jag har en Pseudokod och jag skulle vilja få det att fungera, jag vet inte hur jag ska börja som...

är det någon snäll själ som kan hjälpa mig? :)

 

 

 

Pseudokod :

 

 

Slumpa två kort

Addera ( plussa) ihop dem

Visa resultatet för användaren

 

Fråga om användaren vill ha fler kort

start loop

Slumpa kort så länge användaren vill ha fler kort

Addera ihop dem

Visa resultatet för användaren och fråga igen om fler kort

slut loop

 

slumpa datorns kort 17-24

 

Vem vann? Skriv ut resultatet!

Mvh Jessar

Länk till kommentar
Dela på andra webbplatser

Visual Basic?

Visual Basic for Applications?

VBScript?

 

Samt låter som du går en programmeringskurs och vill ha lite hjälp.

 

Mitt råd utan att ge dig kod, dela upp det hela i atomära delar.

Dvs en rutin som enbart slumpar fram kort.

En som frågar om användaren vill ha kort

En som loopar.

 

Typ.

Steg för steg. Något kan du väl?

Länk till kommentar
Dela på andra webbplatser

Ja, jag behöver lite hjälp

 

 

 

Jag försökte lite själv. såhär långt har jag kommit

 

 


Randomize
'Frågar om man vill spela.
fraga = MsgBox("Vill du spela?",vbYesNo,"Kortspel")
If fraga = 6 Then
Spelare1 = InputBox("Skriv namn för spelare1","Spelare1")
Spelare2 = InputBox("Skriv namn för spelare2","Spelare2")
End If

blanda1 = 1+Int(13*Rnd)
blanda2 = 1+Int(13*Rnd)

If blanda1 > blanda2 Then
MsgBox Spelare1 & " Vann! " & spelare1 & " hade " & blanda1 & " poäng och " & Spelare2 & " hade " & blanda2 & " poäng",,"Resultat"

ElseIf blanda2 > blanda1 Then

MsgBox spelare2 & " Vann " & spelare2 & " hade " & blanda2 & " poäng och " & Spelare1 & " hade " & blanda1 & " poäng",,"Resultat"

Else
MsgBox "Det blev lika! " & spelare1 & " hade " & blanda1 & " poäng och " & blanda2  & " hade " & blanda2 & " poäng",,"Resultat"
End If


 

 

Länk till kommentar
Dela på andra webbplatser

Det du saknar, vad jag kan se, är

 

En fråga till spelaren om fler kort. Använd en MSGBOX med Yes-No val, kolla svaret och agera.

Loopen som ska köras. Typ

While svar-ja-från-användare

ge fler kort

presentera

kolla om fler kort

Wend

 

Och en liknande loop för datorn, dvs loopa tills summan är över 17.

 

men antar VB, inte VBA, flyttar tråden till VB

Länk till kommentar
Dela på andra webbplatser

Såhär?

 


'inledning - dagens datum och vad spelet går ut på

'Frågar om man vill spela.
MsgBox "Välkommen till Jesses lilla spel!" & vbNewLine & "Detta kortspel går ut på att användaren spelar mot datorn. " & vbNewLine & "användaren får först två kort (1-13), men kan sedan välja om den vill ha fler kort." & vbNewLine & "Det går ut på att komma så nära 21 som möjligt!" & vbNewLine & "den som får högst tal vinner! " & vbNewLine & "Detta spel är bara baserat på tur, bli inte besviken om du förlorar!",,"Välkommen"
Spelare1 = InputBox("Skriv namn för spelare1","Spelare1")

'Slumpa två kort
Randomize
spelare1Poang=0
DatornsPoang=0
lika=0

blanda1 = 1+Int(13*Rnd)
blanda2 = 1+Int(13*Rnd)
'Addera ( plussa) ihop dem
summa=blanda1+blanda2
'Visa resultatet för användaren
MsgBox spelare1 & " fick " & summa,,"Ditt resultat"
'Fråga om användaren vill ha fler kort
PlayAgain= MsgBox(" vill du ha fler kort? " ,vbYesNo,"Kortspel")
'start loop
while playAgain=vbYes
'Slumpa kort så länge användaren vill ha fler kort
blanda2 = 1+Int(13*Rnd) '<-- slumpar ett kort till
'Addera ihop gammalt kort+det nya kortet
summa=blanda2+summa 
'Visa resultatet för användaren och fråga igen om fler kort
Msgbox Spelare1 & " har " & summa
PlayAgain= MsgBox(" vill du ha fler kort? " ,vbYesNo,"Kortspel")
'slut loop
Wend
'slumpa datorns kort 17-24
Datornskort1=17+Int(7*Rnd)


If summa > Datornskort1 Then
	MsgBox Spelare1 & " Vann! " & vbNewLine  & spelare1 & " hade " & summa & " poäng och datorn hade " &  Datornskort1  & " poäng",,"Resultat"
	spelare1Poang=spelare1Poang+1
	'Om spelare2 har större tal än spelare 1 så vinner spelare 2
ElseIf Datornskort1 > summa Then
	MsgBox "Datorn Vann!" & vbNewLine & "Datorn hade " & Datornskort1 & " poäng " & spelare1 & " hade " & summa & " poäng",,"Resultat"
	DatornsPoang=DatornsPoang+1
Else
	MsgBox "Det blev lika! " & vbNewLine  & spelare1 & " hade " & summa & " poäng och datorn" & " hade " & Datornskort1 & " poäng",,"Resultat"
	lika=lika+1
End If '<-- slut på If sats
MsgBox Spelare1 & " vann totalt " &spelare1Poang&" gånger"& vbNewLine  & "Datorn" & " vann totalt " &DatornsPoang&" gånger"& vbNewLine  & " Det blev oavgjort " &lika&" gånger",,"Resultat"

Länk till kommentar
Dela på andra webbplatser

Tycks fungera när jag provkör koden i Excel...

 

Fast du, det är god sed att deklarerar variablerna. Gör koden mycket mer robust.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...