Prev: 38081 Up: Map Next: 38106
38087: Handler: Straight
Used by the routines at CheckStraight and Handler_StraightFlush.
Handler_Straight 38087 LD HL,38207 HL=38207 (e.g. Table_CardDuplicates-1).
Keep looping through the duplicate values until we find a card which the player has only one of.
FindFirstCard_Loop 38090 INC HL Increment HL by one.
38091 LD A,(HL) Jump to FindFirstCard_Loop if *HL is not equal to 1.
38092 CP 1
38094 JR NZ,FindFirstCard_Loop
We've found the first card, so check if there's a sequence from here.
38096 LD B,5 Set a counter in B we want to check all 5 cards.
If it's a genuine straight, then the count for all five cards will be 1.
Handler_Straight_Loop 38098 LD A,(HL) Return if the duplicate count is anything other than 1.
38099 CP 1
38101 RET NZ
38102 INC HL Increment HL by one.
38103 DJNZ Handler_Straight_Loop Decrease the card counter by one and loop back to Handler_Straight_Loop until all 5 cards have been checked.
38105 RET Return.
Prev: 38081 Up: Map Next: 38106