Routines |
Prev: 94C1 | Up: Map | Next: 94DA |
Used by the routines at CheckStraight and Handler_StraightFlush.
|
||||
Handler_Straight | 94C7 | LD HL,$953F | HL=953F (e.g. Table_CardDuplicates-01). | |
Keep looping through the duplicate values until we find a card which the player has only one of.
|
||||
FindFirstCard_Loop | 94CA | INC HL | Increment HL by one. | |
94CB | LD A,(HL) | Jump to FindFirstCard_Loop if *HL is not equal to 01. | ||
94CC | CP $01 | |||
94CE | JR NZ,FindFirstCard_Loop | |||
We've found the first card, so check if there's a sequence from here.
|
||||
94D0 | LD B,$05 | Set a counter in B we want to check all 05 cards. | ||
If it's a genuine straight, then the count for all five cards will be 01.
|
||||
Handler_Straight_Loop | 94D2 | LD A,(HL) | Return if the duplicate count is anything other than 01. | |
94D3 | CP $01 | |||
94D5 | RET NZ | |||
94D6 | INC HL | Increment HL by one. | ||
94D7 | DJNZ Handler_Straight_Loop | Decrease the card counter by one and loop back to Handler_Straight_Loop until all 05 cards have been checked. | ||
94D9 | RET | Return. |
Prev: 94C1 | Up: Map | Next: 94DA |