Non capisco la tua riposta se è uan risposta cmq, il forum è stato chiuso ed ho letto solo ieri sera la tua risposta.
Comuqnue ho risolto la cosa con un trucco: valuto solo 4 carte

ammettiamo che ho già le carte ordonate

nums=[1, 2, 3, 5]

Il trucco consiste di dire che se c'è un errore uno spazio vuoto ciò è tollerabile perchè è sostituito dal jolly ma se ce ne sono 2 non si ha scala.


straight = true;
joker = 0;
for (i=0; i<3; i++) {
if (nums[i]+1 != nums[i+1]) {
joker++;
}
}
if (joker>1) {
straight = false;
}

Qundi con quelle carte sopra ho fatto scala perchè c'è solo un errore e joker è uguale ad uno.

Comunque adesso ho un altro problema.
Nel mio precedente programma avevo fatto che la scala può essere cosi

if ((nums[0] == 1) and (nums[1] == 10) and (nums[2] == 11) and (nums[3] == 12) and (nums[4] == 13)) {
straight = true;
}

Cioè se ho l'asso il 10 jack regina e re ho scala lo stesso.
Quindi adesso devo far in modo che anche se non ci sia una carta di queste è sempre scala