Mi sembra che tu ti stia complicando la vita inutilmente... se vuoi semplicemente che il nuovo numero estratto sia diverso dall'ultimo ti basta fare:
L'idea è che se non è ancora stato sorteggiato nessuno allora scegliamo da tutto il range (ovvero, da 1 a 5), mentre se è già stato sorteggiato qualcuno e non vogliamo ri-estrarlo, la scelta si riduce a 4 persone, per cui estraiamo dal range da 1 a 4, aggiungendo 1 se il numero estratto è superiore o uguale al numero appena uscito (così facendo rimappiamo il range [1, 4] sull'insieme di persone che è "papabile" di essere estratto).codice:Dim Random As New Random Dim PrecNum As Integer = 0 Private Sub Sorter_Click(sender As Object, e As EventArgs) Handles Sorter.Click Dim soartedNum As Integer If PrecNum=0 Then soartedNum = Random.Next(1, 5) Else soartedNum = Random.Next(1, 4) If soartedNum >= PrecNum Then soartedNum+=1 End If End If SoartedPlayer.Text = "Giocatore " & soartedNum SelObbligo.Enabled = True SelVerita.Enabled = True End If

Rispondi quotando