Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Verifica punteggi per gioco di poker
Forum - Visual Basic 6 - Verifica punteggi per gioco di poker

Avatar
mastergov (Normal User)
Rookie


Messaggi: 22
Iscritto: 26/03/2010

Segnala al moderatore
Postato alle 11:21
Venerdì, 27/01/2012
allora salve a tutti sto facendo un gioco di poker cosi per scopo didattico
ho un problema per verificare i punteggi delle carte che ho in mano e quelle sul banco, ora in realtà non so nemmeno se  sono sulla giusta strada visto che cmq ho delle conoscenze base del linguaggio quindi sono sempre un po primitivo.

allora ho memoria(2 to 6) che sono le carte che sono al  flop  (quelle sul tavolo)
e memoria(7 to 8)  che sono le carte del player 1 quindi le carte da confrontare con memoria(2 to 6)  io avevo pensato cosi

Codice sorgente - presumibilmente VB.NET

  1. dim memoria(1 to 9)
  2. dim arg as integer
  3. dim df as variant
  4. dim id as integer
  5. dim xc as variant
  6.  
  7. For arg = 7 To 8   ' ciclo che mi richiama le carte che ho in mano
  8.                      
  9.                       xc = memoria(arg)
  10.                       df = Mid(xc, 2)   ' restituisce il punto della carta senza il seme
  11.                
  12.                        for id = 2 To 6 ' controlla se ci  sono uguaglianze all'interno dei vettori
  13.          
  14.                        If memoria(arg) = memoria(id) Then
  15.                        punti_player_uno = punti_player_uno + 1
  16.                        End If
  17.                        
  18.                        
  19.                        Next id
  20.                        
  21.                       ' Debug.Print cv
  22.                        
  23.                         If df = cv Then
  24.                         Label3.Caption = coppia
  25.                         End If
  26.                        
  27.                        
  28.                        
  29.                        Next arg
  30.                        ' punti_player_uno = 0
  31.                        
  32.                      
  33.                      Debug.Print punti_player_uno
  34.                      
  35.        
  36.        
  37.       Next
  38.  
  39. punti_player_uno = 0



non capisco perchè non mi funziona il confronto e nella debug.print
ho sempre esempio (chiaramente non sempre i soliti numeri) pero mi da cosi :

12       6
                               d5             h6

possibile?
eppure ho solo un debug.print che chiama df, cv e punti_player_uno a volte 0 e a volte 40

avete qualche dritta?
grazie a tutti ciao

PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Up
1
Down
V
Segnala al moderatore
Postato alle 20:19
Venerdì, 27/01/2012
Verificare i punteggi per un gioco del poker non e' cosi' semplice; devi pensare a tutte le possibili mani che possono essere fatte. Solitamente comincieresti dal punteggio piu' alto possibile (una scala reale) e andare verso il basso, perche' nel momento in cui trovi una scala reale sai che automaticamente quello e' il punteggio piu' alto. Se parti da una coppia, non saprai se oltre ad una coppia magari hai un tris o una doppia coppia. Solitamente devi prendere le carte del flop e combinarle con le carte che hai in mano, dopodiche' (in una routine) vedere se c'e' una scala reale. Poi controlla se c'e' un poker. Ecc. Calcolare le scale sara' la parte piu' complessa, perche' ci sono casi speciali come l'asso che puo' essere considerato 1 oppure 13.

Puoi guardare il mio codice di PokerMuck in C# per avere un'idea. http://www.pokermuck.com


Il mio blog: https://piero.dev
PM