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:
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
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).