Wpis z mikrobloga

Siema Mirki, napisałem kod do vba na papier, kamień, nożyce, ale jeszcze nie do końca ogarniam funkcję loop. Zmodyfikuje ktoś kod tak by gra trwała do 5 zwycięstw?

Sub pe()
Dim Cyfra1 As Integer
Dim Cyfra2 As Integer
Dim Wstaw As String
'Cyfra1 = (3 * Rnd) + 1
Cyfra2 = (3 * Rnd) + 1
Wstaw = InputBox("Nożyce, Kamień albo Papier?")
If Wstaw = "Nożyce" Then
Cyfra1 = 1
ElseIf Wstaw = "Kamień" Then
Cyfra1 = 2
ElseIf Wstaw = "Papier" Then
Cyfra1 = 3
End If
'1 = Nożyce, 2 = Kamień, 3 = Papier
If Cyfra1 = Cyfra2 Then
MsgBox "Remis!"
'Nożyce
ElseIf Cyfra1 = 1 And Cyfra2 = 3 Then
MsgBox "Jesteś zwycięzcą, Nożyce wygrywają z papierem" & vbCrLf &
"Przeciwnik miał papier!"
ElseIf Cyfra1 = 1 And Cyfra2 = 2 Then
MsgBox "Przegrałeś, Kamień wygrywa z nożycami" & vbCrLf &

"Przeciwnik wybrał kamień!"
'Kamień
ElseIf Cyfra1 = 2 And Cyfra2 = 1 Then
MsgBox "Jesteś zwycięzcą, Kamień wygrywa z nożycami" & vbCrLf &
"Przeciwnik miał nożyce"
ElseIf Cyfra1 = 2 And Cyfra2 = 3 Then
MsgBox "Przegrałeś, Papier pokonał kamień" & vbCrLf &

"Przeciwnik miał kamień"
'Papier
ElseIf Cyfra1 = 3 And Cyfra2 = 2 Then
MsgBox "Wygrałeś, Papier wygrywa z kamieniem." & vbCrLf &
"Przeciwnik wybrał kamień"
ElseIf Cyfra1 = 3 And Cyfra2 = 1 Then
MsgBox "Przegrałeś, nożyce wygrywają z kamieniem" & vbCrLf &

"Przeciwnik miał nożyce"
End If
End Sub

#excel #vba #informatyka #studbaza #pomoc
  • 4
@Sajbok: Jeśli chcesz robić pętlę aż do 5 wygranych to coś w stylu:

Dim Wins As Integer

Wins = 0

Do Until Wins = 5
[ tutaj kod do powtarzania ale ważne - przy wygranych dorzucasz Wins = Wins + 1

Loop
End Sub

W ten sposób na początku mówisz Excelowi że zmienna Wins = 0 i ma powtarzać kod tak długo, aż osiągniesz Wins = 5. Wyrażenie Wins = Wins
@Sajbok: już masz podpowiedź jak zrobić pętlę, jeśli to kod na jakieś zaliczenie na studiach i wykładowca będzie chciał na niego zerknąć, a nie tylko sprawdzić czy działa, to jeszcze parę bardzo podstawowych wskazówek ode mnie:
- jeśli używasz Rnd, zawsze na początku użyj Randomize
- zmień nazwy procedury/zmiennych tak, by ktoś kto czyta kod wiedział, do czego te zmienne służą. pe, Wstaw, Cyfra1, Cyfra2 mówią kompletnie nic.
- wykopowe formatowanie