рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдореВрд░реНрдЦ" (рдмрд╛рдж рдореЗрдВ рдпрд╣ рд╢рдмреНрдж рдПрдХ рдЫреЛрдЯреЗ рдЕрдХреНрд╖рд░ рдФрд░ рдЙрджреНрдзрд░рдг рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛) рд░реВрд╕ рдФрд░ рдкреВрд░реНрд╡ рдпреВрдПрд╕рдПрд╕рдЖрд░ рдХреЗ рджреЗрд╢реЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдб рдЧреЗрдо рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рд▓рдЧрднрдЧ рдЕрдЬреНрдЮрд╛рдд рд╣реИ)ред рдЕрдкрдиреЗ рдирд╛рдо рдФрд░ рдХрд╛рдлреА рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕реЗ рдЬреАрддрдирд╛ рдЕрднреА рднреА рдХрд╛рд░реНрдб рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рддрд░рдг рдкрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдХреМрд╢рд▓ рдкрд░ рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ, рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦреЗрд▓реЛрдВ рдХреЛ рдХреНрд░рдорд╢рдГ рдХреМрд╢рд▓ рдФрд░ рдЦреЗрд▓ рдХрд╛ рдЦреЗрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП - рдореЗрдВ рдПрдХ рдореВрд░реНрдЦред рдХреМрд╢рд▓ рдХрд╛ рдЕрдзрд┐рдХ рдЦреЗрд▓ )ред
рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдПрдЖрдИ рд▓рд┐рдЦрдирд╛ рд╣реИред "рд╕рд░рд▓" рд╢рдмреНрдж рдХрд╛ рдЕрд░реНрде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
- рдПрдХ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рдЬреЛ рдХрд┐, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдИ рдорд╢реАрди рд╕реАрдЦрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо "рд╣реВрдб рдХреЗ рддрд╣рдд" рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ);
- рд░рд╛рдЬреНрдп рдХреА рдХрдореА (рдЕрд░реНрдерд╛рдд, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕реЗ рдХреБрдЫ рднреА рдпрд╛рдж рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рд░реНрдб рдХреЛ "рдЧрд┐рдирддреА" рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЦреЗрд▓ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ)ред
(рд╕рдЦреНрддреА рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдЕрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдЖрдИ рдХреЛ рдЖрд░реНрдЯрд┐рдлрд┐рд╢рд┐рдпрд▓ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХрд╣рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ , рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдЫрджреНрдо рдПрдЖрдИ рд╣реИред рд▓реЗрдХрд┐рди рдЧреЗрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЗрдВ рдРрд╕реА рд╢рдмреНрджрд╛рд╡рд▓реА рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред)
рдЦреЗрд▓ рдХреЗ рдирд┐рдпрдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рднреА рдХреЛ рдкрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рджрд┐рд▓рд╛рдКрдВрдЧрд╛ред рдЬреЛ рд▓реЛрдЧ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИред
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рдореВрд░реНрдЦ рдореЗрдВ, рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдб, рдмреЗрд╣рддрд░ рдпрд╣ рдЖрдкрдХреЗ рд╣рд╛рде рдореЗрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣рд╛рде рдХреА рддрд╛рдХрдд рдХреЗ рдХреНрд▓рд╛рд╕рд┐рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдПрдХ рдирд┐рд░реНрдгрдп (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдб рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд░реЗрдВрдЧреЗред рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдиреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ:
- рдЗрдХреНрдХрд╛ (рдП) - +600 рдЕрдВрдХ,
- рд░рд╛рдЬрд╛ (рдХреЗ) - +500,
- рдорд╣рд┐рд▓рд╛ (Q) - +400,
- рдЬреИрдХ (J) - +300,
- рджрд╕ (10) - +200,
- рдиреМ (9) - +100,
- рдЖрда (8) - 0,
- рд╕рд╛рдд (7) - -100,
- рдЫрд╣ (6) - -200,
- рдкрд╛рдВрдЪ (5) - -300,
- рдЪрд╛рд░ (4) - -400,
- рддреАрди (3) - -500,
- рдФрд░ рдЕрдВрдд рдореЗрдВ, рдбреНрдпреВрд╕ (2) - -600 рдЕрдВрдХред
(рд╣рдо рдЙрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реА рдЧрдгрдирд╛ рдореЗрдВ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП 100 рдХреЗ рдЧреБрдгрдХ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдЦ рдореЗрдВ рдиреАрдЪреЗ рджреЗрдЦреЗрдВред)
рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рдХрд┐рд╕реА рднреА рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИрдВ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЯреНрд░рдореНрдк рдбреНрдпреВрд╕ рдПрдХ "рд╕рд╛рдзрд╛рд░рдг" рдЗрдХреНрдХрд╛ рд╣реИ), рдФрд░ рдЯреНрд░рдореНрдк рд╕реВрдЯ рдореЗрдВ рдкрджрд╛рдиреБрдХреНрд░рдо рд╕рдорд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ "рдЖрдзрд╛рд░" рдорд╛рди рдореЗрдВ 1300 рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ - рдлрд┐рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреНрд░рдореНрдк рдбреНрдпреВрд╕ рдХреА рд▓рд╛рдЧрдд 600 рд╣реЛрдЧреАред + 1300 = 700 рдЕрдВрдХ (рдпрд╛рдиреА, рдПрдХ рдПрдХрд▓ рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ)ред
рдХреЛрдб рдореЗрдВ (рд▓реЗрдЦ рдореЗрдВ рд╕рднреА рдХреЛрдб рдЙрджрд╛рд╣рд░рдг relativaCardValue()
рдореЗрдВ рд╣реЛрдВрдЧреЗ), рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ ( relativaCardValue()
рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╣реА рдЕрдиреБрдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ RANK_MULTIPLIER
100 рдХреЗ рдмрд░рд╛рдмрд░ рдПрдХ рдЧреБрдгрд╛рдВрдХ рд╣реИ):
for (c in hand) { val r = c.rank val s = c.suit res += ((relativeCardValue(r.value)) * RANK_MULTIPLIER).toInt() if (s === trumpSuit) res += 13 * RANK_MULTIPLIER
рдХрд╛рд╢, рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реЛрддрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореВрд▓реНрдпрд╛рдВрдХрди рдирд┐рдпрдореЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:
- рдПрдХ рд╣реА рдореВрд▓реНрдп рдХреЗ рдХрдИ рдХрд╛рд░реНрдб рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрджреЗрдордВрдж рд╣реИ - рди рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡реЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЛ "рднрд░" рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдорд▓реЗ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдпрджрд┐ рдХрд╛рд░реНрдб рдЙрдЪреНрдЪ рдореВрд▓реНрдп рдХреЗ рд╣реИрдВ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦреЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдПрдХ рд╣рд╛рде (рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЯреНрд░реЗрдВрдмрд╛рдЗрди рд╣реИрдВ)
$ $ рдкреНрд░рджрд░реНрд╢рди $ $ \ рдХреНрд▓рдм рд╕реВрдЯ 2 \ spadesuit 2 \ рд╣реАрд░реЗ рд╣реАрд░реЗ рдХреНрдпреВ \ рджрд┐рд▓ рд╕реВрдЯ рдХреНрдпреВ \ рдХреНрд▓рдм рд╕реВрдЯ Q \ spadesuit Q $ $ рдкреНрд░рджрд░реНрд╢рди $ $ рд▓рдЧрднрдЧ рд╕рд╣реА (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдЧрд░ рд╡рд┐рд░реЛрдзреА рдЖрдкрдХреЗ рд╕рд╛рде рд░рд╛рдЬрд╛рдУрдВ рдпрд╛ рдЗрдХреНрдХреЗ рдХреЗ рддрд╣рдд рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ): рдЖрдкрдХреЛ рдорд╣рд┐рд▓рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреАрдЯрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рдХреЛ рд▓рдЯрдХрд╛рдУ рдЙрд╕реЗ рдПрдХ рдЬреЛрдбрд╝реА рджреЗрдВред
рдПрдХ рд╣реА (рдмреЗрд╢рдХ, рдЧреИрд░-рдЯреНрд░рдореНрдк) рд╕реВрдЯ рдХреЗ рдХрдИ рдХрд╛рд░реНрдб, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдиреБрдХрд╕рд╛рди рд╣реИ - рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде "рд╣рд╕реНрддрдХреНрд╖реЗрдк" рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд╛рде$ $ рдкреНрд░рджрд░реНрд╢рди $ $ \ _ рд╣реБрдХреБрдо рел \ _ рд╣реБрдХреБрдо рдмрд╣реБрдд рдЕрд╕рдлрд▓ - рднрд▓реЗ рд╣реА рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдкрд╣рд▓реЗ рдХрджрдо рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рдХреЛ "рдиреЙрдХ рдЖрдЙрдЯ" рди рдХрд░реЗ рдФрд░ рдкреАрдХ рд╕реВрдЯ рдХреЗ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдиреНрдп рд╕рднреА рдлреЗрдВрдХреЗ рдЧрдП рдХрд╛рд░реНрдб рдЕрдиреНрдп рд╕реВрдЯ рдХреЗ рд╣реЛрдВрдЧреЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдкрд╛рдВрдЪ рднреАрдбрд╝ рд▓рд╛рд╡рд╛рд░рд┐рд╕ рд░рд╣реЗрдЧреА - рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рд╣реИрдВ рдЬрд┐рдирдХреА рдЧрд░рд┐рдорд╛ рдкрд╛рдВрдЪ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ (рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдиреЗ рд╢реБрд░реВ рдореЗрдВ рдХрд╛рд░реНрдб рдпреБрд╡рд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдерд╛) рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ - рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЙрдЪреНрдЪред рджреВрд╕рд░реА рдУрд░, рд╣рдо рд╣реБрдХреБрдо рдХреЗ рдЬреИрдХ рдХреЛ рджрд╕ рдХреНрд▓рдмреЛрдВ рд╕реЗ рдФрд░ рдЯреНрд░рдореНрдк рдЫрд╣ рдХреЛ рдЯреНрд░рд┐рдкрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ рд╣реИрдВ:
$ $ рдкреНрд░рджрд░реНрд╢рди $ $ \ _ рд╣реБрдХреБрдо рел \ рдХреНрд▓рдм рд╕реВрдЯ резреж \ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рдордиреЗ рдХрд╛рд░реНрдб рдХреЛ рдпреБрд╡рд╛ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛, рдРрд╕рд╛ рд╣рд╛рде рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ - рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХрд╛рд░реНрдб рдХреЗ рд╕реВрдЯ рдкрд░ рдПрдХ рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рдирд╣реАрдВ рджреЗрдирд╛ рд╣реЛрдЧрд╛ (рдФрд░ рдпрд╣ рд╣реБрдХреБрдо рдХреЗ рдЗрдХреНрдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреА), рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдХреЛ рд╣рд░рд╛рддреЗ рд╣реИрдВ рдлрд┐рд░ рдЖрдкрдХреЗ рдЯреНрд░рдореНрдк рддреАрди рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдб, рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЖрдкрдХреЛ рддреАрди рд╣реБрдХреБрдо рдлреЗрдВрдХ рджреЗрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдб рдХреЛ рдзрд╛рд░рдг рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ), рдФрд░ рдЖрдк "рдкрд╛рдВрдЪреЛрдВ" рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдВрдЧреЗред
рдЗрди рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рдпрд╣рд╛рдВ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЯ рдФрд░ рд▓рд╛рдн рдХреЗ рдХрд╛рд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ ...
val bonuses = doubleArrayOf(0.0, 0.0, 0.5, 0.75, 1.25) var res = 0 val countsByRank = IntArray(13) val countsBySuit = IntArray(4) for (c in hand) { val r = c.rank val s = c.suit res += ((relativeCardValue(r.value)) * RANK_MULTIPLIER).toInt() if (s === trumpSuit) res += 13 * RANK_MULTIPLIER countsByRank[r.value - 1]++ countsBySuit[s.value]++ }
... рдпрд╣рд╛рдВ рд╣рдо рдЙрдирдХреЗ рд▓рд┐рдП рдмреЛрдирд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ ( Math.max
рдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрдо рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рдирдХрд╛рд░рд╛рддреНрдордХ рдмреЛрдирд╕ рдкреНрд░рд╛рдкреНрдд рди рд╣реЛ - рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдлрд╛рдпрджреЗрдордВрдж рднреА рд╣реИ) ...
for (i in 1..13) { res += (Math.max(relativeCardValue(i), 1.0) * bonuses[countsByRank[i - 1]]).toInt() }
... рдФрд░ рдпрд╣рд╛рдБ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рд╕реВрдЯ рдореЗрдВ рдЕрд╕рдВрддреБрд▓рд┐рдд рдПрдХ рд╕реВрдЯ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ (рдореВрд▓реНрдп UNBALANCED_HAND_PENALTY
рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ 200 рдкрд░ рд╕реЗрдЯ рд╣реИ):
рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╣рд╛рде рдореЗрдВ рдХрд╛рд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рднрдбрд╝рдХрд╛рдК рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЦреЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ 12 рдЕрдЪреНрдЫреЗ рдХрд╛рд░реНрдб рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ (рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЕрдм рднреА 6 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдлреЗрдВрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЧреЗрдо рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЬрдм рдЖрдкрдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЗрд╡рд▓ 2 рдХрд╛рд░реНрдб рдмрдЪреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИред
рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ - рдкреВрд░реНрдг рд░реВрдк рд╕реЗ, рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
private fun handValue(hand: ArrayList<Card>, trumpSuit: Suit, cardsRemaining: Int, playerHands: Array<Int>): Int { if (cardsRemaining == 0 && hand.size == 0) { return OUT_OF_PLAY } val bonuses = doubleArrayOf(0.0, 0.0, 0.5, 0.75, 1.25)
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛рд░реНрдп рддреИрдпрд╛рд░ рд╣реИред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ - рдЗрд╕ рддрд░рд╣ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ред
рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!
PS рдпрд╣ рдХреЛрдб рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдпрд╣ GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ (рдмрд╛рдж рд╡рд╛рд▓реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдирд░реА рд░рд┐рд▓реАрдЬрд╝, рдмрд╛рдж рдХреЗ рдЖрд╡реЗрджрди рдПрдл-рдбреНрд░реЙрдпрдб рдкрд░ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ)ред