ุชูู ุชุงู ุชู ... ุงูุฌู
ูุน ูุนุจูู
ุ ุฃูุง ู
ุชุฃูุฏ. ุงููุนุจุฉ ุฌุฐุงุจุฉ ูู ุจุณุงุทุชูุง ุ ุฎุงุตุฉ ุนูุฏู
ุง ุชุณุญุจ ุงูุณุงุนุฉ ูู ู
ูุงู ู
ุง ูู ุงูุฏุฑุณ ุ ุฒูุฌูู ุ ููุง ููุฌุฏ ุดูุก ูู ู
ุชูุงูู ุงููุฏ ุจุงุณุชุซูุงุก ูุฑูุฉ ุฏูุชุฑ ุงูู
ูุงุญุธุงุช ูููู
ุฑุตุงุต ุจุณูุท. ูุง ุฃุนุฑู ู
ู ูู ุฃูู ู
ู ุฎู
ู ู
ุฑุฉ ูุงุญุฏุฉ ุจุฑุณู
ุตูุจุงู ูุฏูุงุฆุฑ ูู 9 ู
ุฑุจุนุงุช ุ ูููู ู
ูุฐ ุฐูู ุงูุญูู ูู
ุชููุฏ ุงููุนุจุฉ ุฃู ุทูุจ ุ ุฎุงุตุฉ ูุฃู ุงููุงุณ ุชูุตููุง ุฅูู ุงูุนุฏูุฏ ู
ู ุงุฎุชูุงูุงุชูุง.

ุชุชูุงูู ูุฐู ุงูู
ูุงูุฉ ุนู
ููุฉ ุชุทููุฑ ุฌุงูุง ุณูุฑูุจุช ููุฐูุงุก ุงูุงุตุทูุงุนู ููุนุจ ุฃุญุฏ ูุฐู ุงูุงุฎุชูุงูุงุช ูู ูุนุจุฉ tic-tac-toe: ุธูุฑุช ุงููุซูุฑ ู
ู ุงูู
ูุงุฏ ุ ููููู ุฎููุชูุง ุจุงูุฑุณูู
ุงูู
ุชุญุฑูุฉ ูุงูุตูุฑ. ุนูู ุฃู ุญุงู ุ ุนูู ุงูุฃูู ูุณุชุญู ุงูู
ุญุงููุฉ.
ุงูุงุฎุชูุงูุงุช ุจูู ูุฐุง ุงูุฅุตุฏุงุฑ ู
ู ุงููุนุจุฉ ูุงูุฃุตู ูู ูู
ุง ููู:
- ูู
ูู ุฃู ูููู ุงูุญูู ูุจูุฑูุง ุจุดูู ุชุนุณูู (ุฅูู ู
ุชู ุณูุณุชู
ุฑ ุงููู
ุจููุชุฑ ุงูู
ุญู
ูู)
- ุงููุงุฆุฒ ูู ุงูุฐู ูุถุน 5 ูุทุน (ุฅุฐุง ูุงู ุจุฅู
ูุงูู ุชุณู
ูุชูุง ุจุฐูู) ุนูู ุงูุชูุงูู.
ูู ุดูุก ุจุณูุท ... ููู ููุณ ุงูููุช ู
ุนูุฏ: ูุง ูู
ูู ุญุณุงุจ ูุชูุฌุฉ ุงููุนุจุฉ ู
ุณุจููุง ุ ูู
ุง ูู ุงูุญุงู ูู ุงูุชูุงุธุฑูุฉ ุงูููุงุณูููุฉ. ุฃุฎุฐ ูุฐุง "ุงูุฅุณูุงุท ุงูุตุบูุฑ" ุงููุซูุฑ ู
ู ููุชู ูุฃุนุตุงุจู. ุขู
ู ุฃู ุชุฌุฏูุง ู
ุซูุฑุฉ ููุงูุชู
ุงู
.
ูุจู ุฃู ูุจุฏุฃ
ุงุถุทุฑุฑุช ุฅูู ุงูุงุนุชุฐุงุฑ ู
ูุฏู
ุง ุนู ุญุฌู
ุงูู
ูุงู ููู ุจุนุถ ุงูุฃู
ุงูู ูู
ููู ุนุฑุถ ุงูููุฑ ูุงุถุญูุง ุชู
ุงู
ูุง ุ ูู
ุน ุฐูู ุ ูู
ุฃุณุชุทุน ุงูุถุบุท ุนูู ุงููุทูุน ุฏูู ููุฏ ุงูู
ุญุชูู ูุงูุฌูุฏุฉ.
ุฃูุตู ุจุฃู ุชุชุนุฑู ุนูู
ุงููุชูุฌุฉ ุฃููุงู .
ููุฏู
ูุงุชูุญ ุงูุงุฎุชุตุงุฑ ูุงูุฃูุงู
ุฑ:
- ุฏ - ู
ูุธู
ุฉ ุงูุนูู ุงูุฏูููุฉ ุณูู ุชุชุฎุฐ ุฎุทูุฉ ุจุงููุณุจุฉ ูู
- T - ุงูุธุฑ ูุฒู ุงูุฎููุฉ
- ุงูุชุจ SHOW_WEIGHTS = true ูู ูุญุฏุฉ ุงูุชุญูู
ูุนุฑุถ ุฃูุฒุงู ุฌู
ูุน ุงูุฎูุงูุง ุงูุชู ุชู
ุชุญููููุง.
ููุจุฏุฃ
ุชุญุชุงุฌ ุฅูู ุงูุจุฏุก ูู ุชูููุฐ ุงููุนุจุฉ ููุณูุง ุ ุฃู ูุชุงุจุฉ ุทูุจ ููุงุนุจูู ุ ุญุชู ุงูุขู ุจุฏูู ุจูุช. ูุฃุบุฑุงุถู ุ ูุฑุฑุช ุงุณุชุฎุฏุงู
ุฌุงูุง ุณูุฑูุจุช + jquery + bootstrap4 ุ ุนูู ุงูุฑุบู
ู
ู ุนุฏู
ุงุณุชุฎุฏุงู
ู ุนู
ูููุง ููุงู ุ ูููู ู
ู ุงูุฃูุถู ุชุฑูู - ุฃู ุฃู ุงูุฌุฏูู ุณูู ูุทูู. ูุง ููุฌุฏ ุดูุก ุฎุงุต ูููููู ุ ููุงู ุงููุซูุฑ ู
ู ุงูู
ูุงุฏ ุญูู js ุ jquery ู bootstrap. ูุง ูุณุนูู ุฅูุง ุฃู ุฃููู ุฃููู ุงุณุชุฎุฏู
ุช MVC. ุนูู ุฃู ุญุงู ุ ูู ุฃุดุฑุญ ุชู
ุงู
ูุง ุฌู
ูุน ุงูุชุนููู
ุงุช ุงูุจุฑู
ุฌูุฉ - ูุงู ููุงู ุงููุซูุฑ ู
ู ุงูู
ูุงุฏ ุจุงููุนู.
ูุฐุง ุ ูุงู ุงูู
ูุนุจ ุฌุงูุฒูุง. ูู
ููู ุชุนููู ุงูุฃุดูุงู ูู ุงูุฎูุงูุง. ููู ุงูุชุตุงุฑ ุฃู ู
ู ุงููุงุนุจูู ูู
ูุซุจุช ุจุฃู ุดูู ู
ู ุงูุฃุดูุงู.
ููุงูุฉ ูุญุต ุงููุนุจุฉ
ุชูุชูู ุงููุนุจุฉ ุนูุฏู
ุง ูุถุน ุฃุญุฏ ุงููุงุนุจูู
5 ูุทุน ู
ุชุชุงููุฉ. "ุฅููุง ุจุณูุทุฉ!" ููุฑุช. ูุจุฏุฃ ูู ู
ุณุญ ุฌู
ูุน ุฎูุงูุง ุงูู
ุฌุงู ุชู
ุงู
ูุง: ุฃููุงู ุฌู
ูุน ุงูุฃูููุฉ ุ ุซู
ุงูุฑุฃุณู ุ ูุฃุฎูุฑูุง ุงูุฃูุทุงุฑ.
ูุฐู ุทุฑููุฉ ุบุจูุฉ ุ ููููุง ูุฌุญุช. ูู
ุน ุฐูู ุ ูู
ูู ุชุญุณููู ุจุดูู ูุจูุฑ ุ ููู ู
ุง ูุนูุชู: ุณุชุธู ู
ุนุธู
ุงูุฎูุงูุง ูุงุฑุบุฉ ุทูุงู ุงููุนุจุฉ - ู
ุณุงุญุฉ ุงููุนุจ ูุจูุฑุฉ ุฌุฏูุง ุจุญูุซ ูุง ูู
ูู ู
ูุคูุง ุจุงููุงู
ู. ูุธุฑูุง ูุฃูู ูุงู ู
ู ุงูุถุฑูุฑู ู
ุณุญูุง ูู ูู ุญุฑูุฉ ุ ููุชู
ูุถุน ูุทุนุฉ ูุงุญุฏุฉ ููุท ูู ุญุฑูุฉ ูุงุญุฏุฉ ุ ูู
ููู ุงูุชุฑููุฒ ููุท ุนูู ูุฐู ุงููุทุนุฉ (ุงูุฎููุฉ): ู
ุณุญ ูุทุฑู ุฃููู ูุฑุฃุณู ูุงุซููู ููุท ู
ู ุงูุฎููุฉ ุงูุชู ุชู
ุชูู ููุณ ุงูุฎููุฉ.
ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ูุง ุชุญุชุงุฌ ุฅูู ู
ุณุญ ุฌู
ูุน ุฎุทูุท ุงูุฎููุฉ. ูุธุฑูุง ูุฃู ููุงูุฉ ุงููุนุจุฉ ูู 5 ูุทุน ู
ุชุชุงููุฉ ุ ูุฅู ุงููุทุน ุงูุชู ุชุชููู ู
ู 6 ุฎูุงูุง ู
ููุตูุฉ ุนู ุจุนุถูุง ุงูุจุนุถ ูุง ุชูู
ูุง. ูููู ู
ุณุญ ุฎู
ุณ ุฎูุงูุง ุนูู ูู ุฌุงูุจ. ูุง ุชููู
ุ ุงูุธุฑ ุงูุฑุณูู
ุงูู
ุชุญุฑูุฉ ุฃุฏูุงู.

ุนุฑุถ ุงูููุฏcheckWin( cellX, cellY ){ var res = null; var newFig = getFig(cellX,cellY); if( ! newFig ) return false; var res; res = res || checkLine( cellX, cellY, 1, 0 );
ุฏุนููุง ููุฒู ุฅูู ุงูุจูุช ููุณู
ูุฐุง ุ ููุฏ ูุชุจูุง ุจุงููุนู ุตูุญุฉ ุชุญุชูู ุนูู ุชูู ุชุงู ุชู. ููุชูู ุฅูู ุงูู
ูู
ุฉ ุงูุฑุฆูุณูุฉ - ู
ูุธู
ุฉ ุงูุนูู ุงูุฏูููุฉ.
ูุง ูู
ููู ููุท ุฃุฎุฐ ุงูุฑู
ุฒ ููุชุงุจุชู ุฅุฐุง ููุช ูุง ุชุนุฑู ููู: ุชุญุชุงุฌ ุฅูู ุงูุชูููุฑ ูู ู
ูุทู ุงูุฑูุจูุช.
ุฎูุงุตุฉ ุงูููู ูู ุชุญููู ุงูู
ูุนุจ ุ ุนูู ุงูุฃูู ุฌุฒุก ู
ูู ุ ูุญุณุงุจ
ุงูุณุนุฑ (ุงููุฒู) ููู ุฎููุฉ ูู ุงูุญูู. ุงูุฎููุฉ ุฐุงุช ุงููุฒู ุงูุฃุนูู - ุงูุฃูุซุฑ ูุงุนุฏุฉ - ุณูุถุน ุงูุจูุช ุดูููุง ููุงู. ุชุชู
ุซู ุงูุตุนูุจุฉ ุงูุฑุฆูุณูุฉ ูู ุญุณุงุจ ูุฒู ุฎููุฉ ูุงุญุฏุฉ.
ุงูู
ุตุทูุญุงุช
ุงูุตูุจุงู ูุฃุตุงุจุน ุงููุฏู
ูู ุฃุฑูุงู
.
ุณูุทูู ุนูู
ุงููุฌูู
ุนุฏุฉ ุดุฎุตูุงุช ู
ุชุทุงุจูุฉ ุชูู ุฌูุจูุง ุฅูู ุฌูุจ ุนูู ููุณ ุงูุฎุท. ูู ุงููุงูุน ุ ูุฐุง ูุซูุฑ. ุนุฏุฏ ุงููุทุน ูู ุงููุฌูู
ูู
ููุชู . ูุทุนุฉ ูุงุญุฏุฉ ู
ููุตูุฉ ูู ุฃูุถุง ูุฌูู
(ุงูููุฉ 1).
ูู ุฎูุงูุง ุงููุฌูู
ุงูู
ุฌุงูุฑุฉ (ูู ุงูููุงูุงุช) ูุฏ ุชููู ููุงู ุฎูุงูุง ูุงุฑุบุฉ ุฃู ูุทุน ู
ุนุงุฏูุฉ. ู
ู ุงูู
ูุทูู ุฃู ูููุฑ ูู ุฃู ูุฌูู
ุงู ุจุฎููุชูู ูุงุฑุบุชูู ุนูุฏ "ุงูููุงูุงุช" ูู
ูู ุชุทููุฑู ูู ุงุชุฌุงููู ุ ู
ู
ุง ูุฌุนูู ุฃูุซุฑ ูุงุนุฏุฉ. ุณูุทูู ุนูู ุนุฏุฏ ุงูุฎูุงูุง ุงููุงุฑุบุฉ ูู "ููุงูุงุช" ุงููุฌูู
ุฅู
ูุงูุงุชู . ูู
ูู ุฃู ูููู ุงูุฌูุฏ 0 ุฃู 1 ุฃู 2.
ูุดูุฑ ุฅูู ุงููุฌู
ุงุช ุนูู ุงููุญู ุงูุชุงูู:
[ุงูููุฉ ุงููุฌูู
ูุฉ ุ ุงูู
ุญุชู
ูุฉ] . ุนูู ุณุจูู ุงูู
ุซุงู ุ
ูุฌูู
[4: 1] .
ุงูุดูู 1. ูุฌูู
[4: 1]ูู ุณูุงู ุงูุชุญููู ุ ุณูููู
ุจุชูููู
ุฌู
ูุน ุงูุฎูุงูุง ุงูุชู ุชุฏุฎู ู
ูุทูุฉ ู
ุนููุฉ. ุณุชุญุณุจ ูู ุฎููุฉ
ูุฒููุง . ูุชู
ุญุณุงุจูุง ุจูุงุกู ุนูู ุฃูุฒุงู ุฌู
ูุน ุงููุฌู
ุงุช ุงูุชู ุชุคุซุฑ ุนูููุง ูุฐู ุงูุฎููุฉ.
ุฌููุฑ ุงูุชุญููู
ุชุฎูู ุฃูู ูู ุณุงุญุฉ ุงููุนุจ ุ ููุงู ุจุงููุนู ุงูุนุฏูุฏ ู
ู ุงููุฌู
ุงุช ู
ู ูุงุนุจ ูุงุญุฏ ูุซุงูู. ูููู
ุฃุญุฏ ุงููุงุนุจูู ุจุญุฑูุฉ (ุฏุนูุง ุงูุตูุจุงู). ุจุทุจูุนุฉ ุงูุญุงู ุ ููุชูู ุฅูู ุฒูุฒุงูุฉ ูุงุฑุบุฉ - ูุจุงูุชุงูู ูู
ููู:
- ุทูุฑ ูุฌูู
ู ุ ูุฑุจู
ุง ุฃูุซุฑ ู
ู ูุฌูู
ูุงุญุฏ ุ ูุฒูุฏ ู
ู ููุชู. ูุฏ ูุดู ูุฌูู
ูุง ุฌุฏูุฏูุง ุ ูู
ุง ุฅูู ุฐูู.
- ู
ูุน ุชุทูุฑ ูุฌูู
ุงูุนุฏู ุฃู ู
ูุนู ุชู
ุงู
ูุง.
ุฃู ุฃู ุจุทููุง ูู
ููู ุงููุฌูู
ูุงูุฏูุงุน. ุฃู ุฑุจู
ุง ุฏูุนุฉ ูุงุญุฏุฉ. ุจุงููุณุจุฉ ูู ุ ูู ู
ู ุงูุฃูู ูุงูุซุงูู ู
ูู
ุงู.
ุฌููุฑ ุงูุชุญููู ูู
ุง ููู:
- ูุณุชุจุฏู ุงูุจูุช ุงูุฃุฑูุงู
ุงูู
ูุฌูุฏุฉ ูู ุงูุฎููุฉ ุงูู
ุญุฏุฏุฉ: ุฃููุงู ุชูุงุทุน ุ ุซู
ุตูุฑ.
- ุซู
ูุจุญุซ ุนู ุฌู
ูุน ุงููุฌู
ุงุช ุงูุชู ุชููุชูุง ู
ุซู ูุฐู ุงูุชุญุฑูุงุช ูููุฎุต ุฃูุฒุงููุง.
- ุงูู
ุจูุบ ุงูู
ุณุชูู
ูู ูุฒู ุงูุฎููุฉ.
- ูุชู
ุชูููุฐ ุฎูุงุฑุฒู
ูุฉ ู
ู
ุงุซูุฉ ูุฌู
ูุน ุฎูุงูุง ุงูู
ูุนุจ.

ูู ุงููุงูุน ุ ูุชุญูู ู
ู ูุฐู ุงูุฎูุงุฑุฒู
ูุฉ ุนู
ุง ุณูุญุฏุซ ุฅุฐุง ุฐูุจูุง ุจูุฐู ุงูุทุฑููุฉ ... ูู
ุงุฐุง ุณูุญุฏุซ ุฅุฐุง ุฐูุจ ุงูุฎุตู
ุจูุฐู ุงูุทุฑููุฉ. ูุชุทูุน ุฎุทูุฉ ูุงุญุฏุฉ ููุฎุชุงุฑ ุงูุฎููุฉ ุงูุฃูุซุฑ ู
ูุงุกู
ุฉ - ุจุฃุนูู ูุฒู.
ุฅุฐุง ูุงู ููุฎููุฉ ูุฒู ุฃูุซุฑ ู
ู ุฎููุฉ ุฃุฎุฑู ุ ูุฅููุง ุชุคุฏู ุฅูู ุฅูุดุงุก ูุฌู
ุงุช ุฃูุซุฑ ุฎุทูุฑุฉ ุ ุฃู ูู
ูุน ูุฌู
ุงุช ุงูุนุฏู ุงููููุฉ. ูู ุดูุก ู
ูุทูู ... ูุจุฏู ูู.
ุฅุฐุง ุงูุชููุช ุฅูู ุงูุตูุญุฉ ููุชุจุช ูู ูุญุฏุฉ ุงูุชุญูู
SHOW_WEIGHTS = ุตุญูุญ ุ ูู
ููู ุฃู ุชุดุนุฑ ุจุตุฑููุง ุจุชุดุบูู ุงูุฎูุงุฑุฒู
ูุฉ (ุณูุชู
ุนุฑุถ ุฃูุฒุงู ุงูุฎููุฉ).
ุฃูุฒุงู ุงููุฌูู
ููุฏ ุชุทุฑูุช ุฅูู ุนููู ูุฃุญุถุฑุช ู
ุซู ูุฐู ุงูู
ุฑุงุณูุงุช ู
ู ุงููุฌู
ุงุช ูุงูุฃูุฒุงู:
ATTACK_WEIGHT = [[],[],[],[],[],[]]; ATTACK_WEIGHT[1][1] = 0.1; ATTACK_WEIGHT[2][1] = 2; ATTACK_WEIGHT[3][1] = 4; ATTACK_WEIGHT[4][1] = 6; ATTACK_WEIGHT[5][1] = 200; ATTACK_WEIGHT[1][2] = 0.25; ATTACK_WEIGHT[2][2] = 5; ATTACK_WEIGHT[3][2] = 7; ATTACK_WEIGHT[4][2] = 100; ATTACK_WEIGHT[5][2] = 200; ATTACK_WEIGHT[5][0] = 200;
ุชู
ุงุฎุชูุงุฑู ุชุฌุฑูุจููุง - ุฑุจู
ุง ููุณ ูุฐุง ูู ุงูุฎูุงุฑ ุงูุฃูุถู.
ุฃุถูุช ููุฉ ูุฌูู
ู
ู 5 ู
ุน ูุฒู ูุจูุฑ ุจุดูู ู
ุญุธูุฑ ููุตููู. ูู
ูู ุชูุณูุฑ ุฐูู ู
ู ุฎูุงู ุญูููุฉ ุฃู ุงูุจูุช ูุญูู ุงููุนุจุฉ ุ ูููุธุฑ ุฅูู ุฎุทูุฉ ุฅูู ุงูุฃู
ุงู
(ุงุณุชุจุฏุงู ุงูุดูู ูู ุงูุฎููุฉ). ุชุฎุทู ู
ุซู ูุฐุง ุงููุฌูู
ููุณ ุณูู ูุฒูู
ุฉ. ุญุณููุง ุ ุฃู ุงููุตุฑ ... ุงุนุชู
ุงุฏูุง ุนูู ู
ู.
ูุชู
ุชูููู
ุงููุฌู
ุงุช ุฐุงุช ุงูุฅู
ูุงูุงุช ุงูุนุงููุฉ ุฃุนูู.
ุงููุฌูู
[4: 2] ููุฑุฑ ูู ู
ุนุธู
ุงูุญุงูุงุช ูุชูุฌุฉ ุงูู
ุจุงุฑุงุฉ. ุฅุฐุง ุชู
ูู ุงููุงุนุจ ู
ู ุฅูุดุงุก ู
ุซู ูุฐุง ุงููุฌูู
ุ ููู ูุชู
ูู ุงูุฎุตู
ุจุนุฏ ุฐูู ู
ู ุตุฏู. ูู
ุน ุฐูู ุ ูุฐุง ููุณ ุงูุชุตุงุฑุง. ูู
ูู ููุนุฏู ุฅููุงุก ุงููุนุจุฉ ุจุดูู ุฃุณุฑุน ุ ุญุชู ูู ูุงู ูุฏููุง ูุฌูู
[4: 2] ุนูู ุฃุฑุถ ุงูู
ูุนุจ ุ ูุจุงูุชุงูู ูุฅู ูุฒูู ุฃูู ู
ู ูุฒู ุงููุฌู
ุงุช ุจููุฉ 5. ุงูุธุฑ ุงูู
ุซุงู ุฃุฏูุงู.
ุงูุดูู 2. ุงููุฌูู
[4: 2]ูุฌู
ุงุช ู
ู
ุฒูุฉ
ูู
ูุชู
ุชูุฏูู
ุงูุฑู
ุฒ ูู ูุฐู ุงูููุฑุฉ. ููุฏู
ููุง ู
ูููู
ู
ูุณู
ุงููุฌูู
ูุดุฑุญ ุฌููุฑ
"ุงููุฌู
ุงุช ุงูู
ู
ุฒูุฉ" .
ุถุน ูู ุงุนุชุจุงุฑู ุงูู
ููู ุงูุชุงูู: ุนูุฏ ุงุณุชุจุฏุงู ุดูู ูุฅุฒุงูุฉ ุนุฏุฉ ุฎูุงูุง ูุงุฑุบุฉ ุ ูููู ููุณ ุฃูุซุฑ ู
ู 5 ุ ููุฌุฏ ูุงุญุฏ ุขุฎุฑ.
ููุจุฏู ุฃู ููุงู ุดุฎุตูุชุงู ู
ุชุทุงุจูุชุงู ุนูู ููุณ ุงูุฎุท ... ูุจุฏู ุฃูู ูุฌูู
ุ ูููู ูู ุงูุญูููุฉ ูุง. ููุณ ุฃู
ุฑุง ุ ูุฃู ู
ุซู ูุฐู ุงููุฌู
ุงุช "ุงูู
ู
ุฒูุฉ" ุชูุทูู ุฃูุถุง ุนูู ุชูุฏูุฏ ู
ุญุชู
ู.
ุฎุงุตุฉ ูู ู
ุซู ูุฐู ุงูุญุงูุงุช ุ ููู ูุฌูู
ุณูู ูุญุณุจ ุงูู
ูุณูู
ุนููู. ูู ุงูุจุฏุงูุฉ ุ ููู
ุชูุง ูู 1.
- ููุฏู
ุงููุฌูู
"ุงูู
ู
ุฒู" ุนูู ุฃูู ุงุนุชูุงุฏู
- ูุญุณุจ ุนุฏุฏ ุงูุฎูุงูุง ุงููุงุฑุบุฉ ุจูู ุงููุฌูู
ุงูู
ุฑูุฒู ูุงูุฌุงูุจ
- ููู ุฎููุฉ ูุงุฑุบุฉ ุ ูุฒุฏุงุฏ ุงูู
ูุณูู
ุจู
ูุฏุงุฑ 1
- ูุญุณุจ ูุฒู ุงููุฌูู
ุงูู
ุฑูุฒู ูุงูู
ุนุชุงุฏ ุ ูุฒู ุงููุฌู
ุงุช ุงูุฌุงูุจูุฉ - ุงููุณู
ุฉ ุนูู ุงูู
ูุณูู
ุนููู
ุงูุดูู 3. ุชุญููู "ุงููุฌูู
ุงูู
ู
ุฒู". ูุชู
ูุญุต ุฎููุฉ ุฐุงุช ุตููุจ ุฃุตูุฑ.ูุจุงูุชุงูู ุ ุณุชุฃุฎุฐ ู
ูุธู
ุฉ ุงูุนูู ุงูุฏูููุฉ ุจุนูู ุงูุงุนุชุจุงุฑ ุงููุฌู
ุงุช ุงูู
ู
ุฒูุฉ. ูู ุงููุงูุน ุ ุณุชููู ูุฐู ูุฌู
ุงุช ุนุงุฏูุฉ ุ ูููู ููู
ุง ูุงูุช ุฃุจุนุฏ ู
ู ุงูุฎููุฉ ุงูู
ู
ุณูุญุฉ ุถูุฆููุง ุ ูู ุชุฃุซูุฑูุง ุนูููุง ุ ูุจุงูุชุงูู ุ ูุงู ููุง ูุฒู ุฃูู (ุจูุถู ุงูุญุงุฌุฒ).
ุฎูุงุฑุฒู
ูุฉ ุจุญุซ ุงููุฌูู
ุฃููุงู ุ ูู
ุจุฅูุดุงุก
ูุฆุฉ ูุฌูู
. ุณูููู ูููุฌูู
ุซูุงุซ ุณู
ุงุช ุ ูุชุจุช ุนููุง ูู ููุช ุณุงุจู:
class Attack{ constructor( cap = 0, pot = 0, div = 1 ){ this.capability = cap;
ูุฃุญุฏ
ุงูุทุฑู ุงูุชู ุณุชุนูุฏ ูุฒู ูุฌูู
ู
ุง:
countWeigth(){ return ATTACK_WEIGHT[ this.capability, this.potential ] / this.divider } }
ุงูุชุงูู. ุณููุณู
ุงูุจุญุซ ุนู ุฌู
ูุน ุงููุฌู
ุงุช ูุฎููุฉ ูุงุญุฏุฉ ุฅูู:
- ุงูุจุญุซ ุงูุฃููู
- ุจุญุซ ุนู
ูุฏู
- 45 ุฏุฑุฌุฉ ุจุญุซ ูุทุฑู
- 135 ุฏุฑุฌุฉ ุจุญุซ ูุทุฑู
ูู ูุฐู
ุฎุทูุท ุ ููู
ูู ุชุนู
ูู
ุฎูุงุฑุฒู
ูุฉ ุงูุจุญุซ ุนู ุงููุฌู
ุงุช ุนูู ูุฐู ุงูุฎุทูุท:
ูุฆุฉ checkLine .
ูู
ุน ุฐูู ุ ูุง ูุญุชุงุฌ ุฅูู ุงูุชุญูู ู
ู ุงูุฎุท ุจุฃูู
ูู. ุงูููุฉ ุงููุฌูู
ูุฉ ุงููุตูู ุงูุชู ุชูู
ูุง ูู 5. ุจุงูุทุจุน ุ ู
ู ุงูู
ู
ูู ุฅูุดุงุก ูุฌูู
ุจููุฉ ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ 6. ูููู ุจุงููุณุจุฉ ุฅูู ุงูุฐูุงุก ุงูุงุตุทูุงุนู ุงูุฐู ูุญูู ูุถุน ุงููุนุจุฉ ูู ุงูุฎุทูุฉ ุงูุชุงููุฉ ุ ูุฅูู ูุดุจู 6 ุฃู 5. ูุดูุฑ ุงุญุชู
ุงู ุงูุญุตูู ุนูู ุฅุญุฏู ูุฐู ุงููุฌู
ุงุช ุฅูู ููุงูุฉ ุงููุนุจุฉ ูู ุงูุฎุทูุฉ ุงูุชุงููุฉ. ูุจูุงุกู ุนูู ุฐูู ุ ุณูููู ูุฒู ุงูุฎููุฉ ุงูุชู ุชู
ุชุญููููุง ูู ููุณู ูู ููุชุง ุงูุญุงูุชูู.
ุณู
ุงุช ุงููุตู:
class checkLine{ constructor(){
ู
ู ุงูุถุฑูุฑู ุงูุชููู ููุง ุ ุญูุซ ูุฏ ูุทุฑุญ ุงูุณุคุงู: ูู
ุงุฐุง ุชุญูู ู
ู ุงูุฎููุฉ ุงูุณุงุฏุณุฉ ุฅุฐุง ูุงูุช ููุฉ ุงููุฌูู
ุงููุตูู ูู 5. ูุงูุฌูุงุจ ูู ุชุญุฏูุฏ ุฌูุงุฒ ุงูุชุญูู
ุนู ุจุนุฏ ุงูู
ุญุชู
ู ู
ู ู
ุฑูุฒ ุงููุฌูู
.
ููู
ุง ููู ู
ุซุงู: ููุน ูุฌูู
ุจููุฉ 1 ูู ุงูุตูุฑุฉ ุนูู ุญุฏูุฏ ุงูู
ูุทูุฉ ุงูู
ู
ุณูุญุฉ ุถูุฆููุง. ูู
ุนุฑูุฉ ุฅู
ูุงูุงุช ูุฐุง ุงููุฌูู
ุชุญุชุงุฌ ุฅูู "ุงููุธุฑ ุฅูู ุงูุฎุงุฑุฌ".
ุงูุชูู. 3. ู
ุณุญ ุงูุฎูุงูุง ุงูุณุงุฏุณุฉ. ุฅุฐุง ูู
ุชูู
ุจู
ุณุญ ุงูุฎููุฉ ุงูุณุงุฏุณุฉ ุ ูู
ููู ุชุญุฏูุฏ ุงุญุชู
ุงู ุงููุฌูู
ุจุดูู ุบูุฑ ุตุญูุญ.
ูุฏ ูุง ูููู ููุงู ุจุจุณุงุทุฉ ู
ุณุงุญุฉ ูุงููุฉ ูุฅูู
ุงู ุจุนุถ ุงููุฌู
ุงุช. ุจุนุฏ ุงุญุชุณุงุจ ู
ูุงู ุงููุฌูู
ุ ูู
ูููุง ุฃู ูููู
ู
ุณุจููุง ุฃู ุงููุฌู
ุงุช ุบูุฑ ูุงุนุฏุฉ.
ุงูุชูู. 4. ู
ูุงู ูููุฌูู
ุงูุฎูุงุฑุฒู
ูุฉ ูู ูู
ุง ููู:
1) ููุจุฏุฃ ุจุงูุฎููุฉ ุงูู
ุฑูุฒูุฉ. ูุฌุจ ุฃู ูููู ูุงุฑุบูุง (ุณูููู
ุจุงูุชุญุฑู ููู ุ ุฃููุณ ูุฐููุ ููููุง ูุง ููุณู ุฃู ุงูุฐูุงุก ุงูุงุตุทูุงุนู ุงูุฎุงุต ุจูุง ูุฌุจ ุฃู ูุญู ู
ุญู ุงูุฃุฑูุงู
ูู ูุฐู ุงูุฎููุฉ ูุชุญููู ุงูุฎุทูุฉ ุงูุชุงููุฉ. ุงูุฑูู
ุงูุฐู ูุณุชุจุฏูู ูู
this.subfig - ุงูุงูุชุฑุงุถู ูู ุตููุจ. ูุธุฑูุง ูุฃู ุงูุฎููุฉ ุงูู
ุฑูุฒูุฉ ุณุชุญุชูู ูู ุงูุจุฏุงูุฉ ุนูู ุดูู ู
ุง ุจุนุฏ ุงูุงุณุชุจุฏุงู ุ ูุฅููุง
ุณุชูุชู
ู ุฅูู ููุน ู
ู
ูุฐุง ุงููุฌูู
. ูุฌูู
ุงููุฌูู
:
- ููุชู ูู ุชูู ุนู 1 (ุฑูู
ูู ุงูุฎููุฉ ุงูู
ุฑูุฒูุฉ)
- ู
ูุณู
- 1 ุ ูุฃูู ุฅูู ูุฌูู
ู
ุฑูุฒู (ููุชู
ู ุฅูู ุงูุฎููุฉ ุงูู
ู
ุณูุญุฉ) ุ
- ุงูุฅู
ูุงูุงุช ุบูุฑ ู
ุนุฑููุฉ ุญุชู ุงูุขู - ุงูุงูุชุฑุงุถู ูู 0 ุ
ููุฏ ุนุฑุถูุง ุฌู
ูุน ูุฐู ุงูููุงุท ูู ููู
ุงูู
ููุดุฆ ุงูุงูุชุฑุงุถูุฉ - ุงูุธุฑ ุงูุฑู
ุฒ ุฃุนูุงู.
2) ุจุนุฏ ุฐูู ุ ุชูููู ุงูู
ูุฑุฑ ุ ูุชูุฑุฑ ุฃูุซุฑ ู
ู 5 ุฎูุงูุง ุนูู ุฌุงูุจ ูุงุญุฏ ู
ู ุงูุฌุงูุจ ุงูู
ู
ุณูุญ ุถูุฆููุง. ูุธููุฉ
getAttacks (cellX ุ cellY ุ subFig ุ dx ุ dy) ู
ุณุคููุฉ ุนู ุฐูู ุ ุญูุซ:
cellX ุ cellY - ุฅุญุฏุงุซูุงุช ุงูุฎููุฉ ุงูู
ุญุฏุฏุฉ
subFig - ุงูุฑูู
ุงูุฐู ูุณุชุจุฏูู ูู ุงูุฎููุฉ ุงูู
ุญุฏุฏุฉ
dxุ dy - ุงูุชุบููุฑุงุช ูู ุฅุญุฏุงุซูุงุช ุณ ูุต ูู ุฏูุฑุงุช - ููุฐุง ูุญุฏุฏ ุงุชุฌุงู ุงูุจุญุซ:
- ุฃููู (dx = 1ุ dy = 0)
- ุนู
ูุฏู (dx = 0 ุ dy = 1)
- ูุทุฑู 45 (dx = 1ุ dy = -1)
- ูุทุฑู 135 (dx = 1 ุ dy = 1)
ุจู
ุนูู ู
ุง ุ ูุฐุง ู
ุชุฌู ู
ูุงุฒ ูุฎุท ุงูุจุญุซ. ูุจุงูุชุงูู ุ ุณุชุชู
ูู ูุธููุฉ ูุงุญุฏุฉ ู
ู ุงูุจุญุซ ูู 4 ุงุชุฌุงูุงุช ููู ููุชูู ู
ุจุฏุฃ DRY ู
ุฑุฉ ุฃุฎุฑู.
ููุฏ ุงููุธููุฉ:
getAttacks( cellX, cellY, subFig, dx, dy ){ this.substitudeFigure( subFig );
ูุฑุฌู ู
ูุงุญุธุฉ ุฃูู ุฅุฐุง ุฃุฑุฌุนุช checkCell () ุดูุฆูุง ุ ูุณุชุชููู ุงูุญููุฉ.
3) ูุชุญูู ู
ู ุฃุฑูุงู
ูุฐู ุงูุฎูุงูุง.
ูุธููุฉ checkCell (xุ y) ู
ุณุคููุฉ ุนู ูุฐุง:
ุฃููุงู ุ ุงูุชุจ ุงูุดูู ุฅูู ู
ุชุบูุฑ
ุงูุชูู :
Model.Field ูู ู
ูุฏุงู ูุนุจูุง.
checkCell( x, y ){ var fig = Model.Field[x] && Model.Field[x][y] !== undefined ? Model.Field[x][y] : 'b';
ูู
ูู ุฃู ูููู
ุงูุชูู "x" ู "o" ู "b" (ุงูุญุฏ) ู 0 (ุงูุฎููุฉ ุงููุงุฑุบุฉ).
4) ุฅุฐุง ุชุฒุงู
ู ุงูุดูู ูู ุงูุฎููุฉ ุงูุฎุงู
ุณุฉ ู
ุน ุงูุฎููุฉ ุงูู
ุฑูุฒูุฉ ุ ูุฅู ุงููุฌูู
"ุงุณุชุฑุงุญ" ุนูู ุงูุญุฏูุฏ ููุชุญุฏูุฏ ุงุญุชู
ุงู ุงููุฌูู
ุ ุณูููู ุนููู "ุงูุชุญูู ู
ู ุงูุญุฏูุฏ" (
this.checkEdge = true ).
if( this.iter == 4 && fig == this.subFig )
ูุธููุฉ
checkCell ุฌุงูุฒุฉ. ูู
ุน ุฐูู ุ ููุงุตู ุงูุนู
ู ูู ูุฆุฉ
checkLine .
5) ุจุนุฏ ุงูุงูุชูุงุก ู
ู ุงูุฏูุฑุฉ ุงูุฃููู ุ ุชุญุชุงุฌ ุฅูู "ุงูุฏูุฑุงู". ูููู
ุจุชุฑุฌู
ุฉ ุงูู
ูุฑุฑ ุฅูู ุงูู
ุฑูุฒ ูุงููุฌูู
ุงูู
ุฑูุฒู ุ ู
ุน ุงูููุฑุณ 0 ุ ูุฅุฒุงูุชู ู
ู ู
ุฌู
ูุนุฉ ุงููุฌู
ุงุช ูุชุนูููู ูุงููุฌูู
ุงูุญุงูู.
turnAround(){ this.iter = 1; this.checkEdge = false; this.curAttack = this.Attacks[0]; this.Attacks.splice(0,1) }
6) ุจุนุฏ ุฐูู ุ ุงูุชูู ุฅูู ุงูุฌุงูุจ ุงูุขุฎุฑ ู
ู ุงูุฎููุฉ ุงูุญุงููุฉ ุ ูุฒูุงุฏุฉ ุงูู
ูุฑุฑ.
ุจุงูุชุฃููุฏ ููุณ ุงูุชุญูู ู
ู ุงูุฃุฑูุงู
. (ุงูุฑู
ุฒ ู
ูุชูุจ ุจุงููุนู - ูุธููุฉ
getAttacks )
7) ูู ุดูุก ุ ุฌู
ุนูุง ูู ุงููุฌู
ุงุช ุงูุชู ูุงูุช ุนูู ุงูุฎุท ูู ุตููู ูุงุญุฏ.
ูุฐุง ูู ุดูุก ู
ุน ูุฆุฉ
checkLine ... ูุชู
ูู ุดูุก.
ุญุณููุง ุ ูู ุดูุก ุจุณูุท - ูู
ุจุฅูุดุงุก ูุงุฆู
checkLine ููู ู
ู ุงูุฎุทูุท (
ูุทุฑูุงู ุ ุฃููููุง ูุนู
ูุฏููุง)
ูุงุณุชุฏุนู ูุธููุฉ
getAttacks . ุฃู ููู ุณุทุฑ - ูุงุฆู
checkLine ุงูุฎุงุต ุจู ุ ูุจุงูุชุงูู ู
ุฌู
ูุนุฉ ุงููุฌู
ุงุช ุงูุฎุงุตุฉ ุจู.
ุฏุน ูุธููุฉ
getAllAttacks () ู
ุณุคููุฉ ุนู ูู ูุฐุง - ุจุงููุนู ุจุดูู ู
ููุตู ุนู ุงููุฆุงุช ุงูู
ูุถุญุฉ ุฃุนูุงู ุ
getAllAttacks( cellX, cellY ){
ุนูุฏ ุงูู
ุฎุฑุฌ ุ ูุฏููุง ุฌุณู
ุจู ุฌู
ูุน ุงููุฌู
ุงุช ููุฎููุฉ ุงูู
ุฎุชุจุฑุฉ
ูู
ุน ุฐูู ุ ุฑุจู
ุง ูุงุญุธุช ููุนูุง ู
ู ูุธููุฉ ุงูุชุตููุฉ. ูุชุชู
ุซู ู
ูู
ุชูุง ูู ูุฑุฒ ุงููุฌู
ุงุช "ุบูุฑ ุงูู
ุฌุฏูุฉ":
- ุจุฏูู ุทุงูุฉ (ูุง ุชุนุฑู ุฃุจุฏูุง ู
ุง ุฅุฐุง ูุงููุง ูุฏุฎููู ูู ุงูุตููู)
- ุงููุฌู
ุงุช ุงูุชู ุชูุชูุฑ ุฅูู ู
ุณุงุญุฉ (ู
ูุงุฌู
ุฉ <5)
- ู
ุน ุนุฏู
ูุฌูุฏ ุงุญุชู
ุงู.
ูู
ุน ุฐูู ุ ุฅุฐุง ูุงูุช ููุฉ ุงููุฌูู
ุฃูุจุฑ ู
ู 5 ุ ูุณูู ูุชุฎุทู ุงูู
ุฑุดุญ ุฐูู. ูุฌุจ ุฃู ูุฑู ุงูุจูุช ู
ุซู ูุฐู ุงููุฌู
ุงุช ุ ุณูุคุฏู ูุญุตูุง ุฅูู ุนุถุงุฏุงุช ูู ููุงูุฉ ุงููุนุจุฉ.
filterAttacks( attackLine ){ var res = [] if( attackLine.attackplace >= 5 ) attackLine.Attacks.forEach( ( a )=>{ if( a.capability && a.potential || a.capability >= 5 ) res.push( a ) }) attackLine.Attacks = res; return res }
ููุงุท ุงูุชููู
ูุนู
... ู
ุฑุฉ ุฃุฎุฑู ุ ุขุณู! ูุฐูู ุณูู ูุณู
ู ุงูู
ููู ูู ุงููุนุจุฉ ุ ุนูุฏู
ุง ุชูุฑุฑ ุฎุทูุฉ ุฎุงุทุฆุฉ ูุชูุฌุฉ ุงููุนุจุฉ.
ุนูู ุณุจูู ุงูู
ุซุงู ุ ูุนุฏ ุงููุฌูู
[3: 2] ููุทุฉ ุชููู. ุฅุฐุง ูู
ูู
ูุนู ุงูุฎุตู
ุจูุถุน ูุทุนุฉ ุจุฌุงูุจู ุ ูุฅู ุงูุฎุทูุฉ ุงูุชุงููุฉ ุ ูุฏููุง ุจุงููุนู ูุฌูู
[4: 2] ุนูู ุฃุฑุถ ุงูู
ูุนุจ - ุญุณููุง ุ ูุชู
ุชุญุฏูุฏ ูุชูุฌุฉ ุงููุนุจุฉ ุ ุฃูุง ูุงู ู
ุง ูุฏ ููููู ุงูู
ุฑุก (ูู ุงูุบุงูุจูุฉ ุงูุนุธู
ู ู
ู ุงูุญุงูุงุช).
ุฃู ูุฌูู
[4: 1]. ุชุซุงุคุจ ูุงุญุฏ - ููู
ูู ุฅูู
ุงู ุงููุนุจุฉ ุจุณูููุฉ.
ุงูุดูู 5 ุงูุดูููู ุดูุก ูุงุถุญ ูู
ูููู
ุ ูุงูุฎูุงุฑุฒู
ูุฉ ุงูู
ูุถุญุฉ ุฃุนูุงู ูุงุฏุฑุฉ ุจุงููุนู ุนูู ู
ุฑุงุนุงุฉ ููุงุท ุงูุชููู ูุญุธุฑูุง ูู ุงูููุช ุงูู
ูุงุณุจ. ูุชุทูุน ุงูุจูุช ุฅูู ุงูุฃู
ุงู
. ุณูุฑู ุฃูู ูู ุงูู
ูุนุทู ุงูุชุงูู ุณูููู ุงูุฎุตู
ูุงุฏุฑูุง ุนูู ุฅูุดุงุก ูุฌูู
[5: 1] ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ูุฒูู 200 - ู
ู
ุง ูุนูู ุฃู ูุฑุฏู ุงูู
ุงูุฑุฉ ุณูู ูุฐูุจ ููุง.
ูู
ุน ุฐูู ุ ุชุฎูู ู
ููููุง ุนูุฏู
ุง ุชู
ูู ุฃุญุฏ ุงููุงุนุจูู ู
ู ุงูุญุตูู ุนูู ููุทุชู ุชููู ูู ุงูู
ูุนุจ. ููุฐุง ุ ู
ู ุงููุงุถุญ ุ ูุง ูุชุฑู ูุฑุตุฉ ููุฎุตู
ุ ูุฃูู ูู ุฎุทูุฉ ูุงุญุฏุฉ ูู
ูููุง ู
ูุน ููุทุฉ ุชููู ูุงุญุฏุฉ ููุท. ููู ูุนูู
ุงูุฐูุงุก ุงูุงุตุทูุงุนู ูู
ูุน ู
ุซู ูุฐู ุงููุฌู
ุงุชุ
ุงูุดูู 6. 2 ููุงุท ุงูุชููููู ุดูุก ุจุณูุท ุ ุนูุฏ ุชุญููู ุฎููุฉ ุ ุนูุฏ ุงุณุชุจุฏุงู ูุทุนุฉ ูููุง ุ ุณูุญุณุจ ุนุฏุฏ ููุงุท ุงูุชููู ุงูุชู ุณูุญุตู ุนูููุง ูู ุงูุฎุทูุฉ ุงูุชุงููุฉ (ููุธุฑ ุงูุจูุช ูู ุงูุฎุทูุฉ ุฅูู ุงูุฃู
ุงู
ุ ูุง ุชูุณู). ู
ู ุฎูุงู ุญุณุงุจ ููุทุชู ุชููู ุ ูุฒูุฏ ู
ู ูุฒู ุงูุฎููุฉ ุจู
ูุฏุงุฑ 100.
ูุงูุขู ุ ูู ูู
ูุน ุงูุจูุช ู
ุซู ูุฐู ุงูู
ูุงูู ูู ุงููุนุจุฉ ูุญุณุจ ุ ุจู ุณูููู ูุงุฏุฑูุง ุฃูุถูุง ุนูู ุฅูุดุงุฆูุง ุ ู
ู
ุง ูุฌุนููุง ุงูุขู ุฎุตู
ูุง ุฃูุจุฑ.
ููู ูููู
ุฃู ุงููุฌูู
ูู ููุทุฉ ุชููู
ููุจุฏุฃ ุจุงููุงุถุญ: ุฃู ูุฌูู
ุจููุฉ 4 ูู ููุทุฉ ุชููู. ุชุชูุญ ููุง ุฎุทูุฉ ูุงุญุฏุฉ ูุงุฆุชุฉ ูุฑุตุฉ ูุฅูู
ุงู ุงููุนุจุฉ ุ ุฃู ุถุน 5 ูุทุน ุนูู ุงูุชูุงูู.
ุนูุงูุฉ ุนูู ุฐูู ุ ุฅุฐุง ูุงู ุงุญุชู
ุงู ุงููุฌูู
2 ุ ูุณูู ูููู ุฏูุฑุฉ ูุงุญุฏุฉ ุฃุฎุฑู ูู
ูุน ู
ุซู ูุฐุง ุงููุฌูู
ุ ู
ู
ุง ูุนูู ุฃู ููุงู ููุทุฉ ุชููู ุจููุฉ 3. ูููู ููุงู ููุทุฉ ุชููู ูุงุญุฏุฉ ููุท - ูุฐุง ูุฌูู
[3: 2].
ูุฃูุซุฑ ุตุนูุจุฉ -
"ุงููุฌู
ุงุช ุงูู
ู
ุฒูุฉ" .
ุณููุธุฑ ููุท ูู ุงููุฌู
ุงุช ุงูุชู ุชุญุชูู ุนูู ุฎููุฉ ูุงุฑุบุฉ ูุงุญุฏุฉ ูู ุงูู
ูุชุตู - ูุง ุฃูุซุฑ. ูุฐุง ูุฃูู ู
ู ุฃุฌู ุฅูู
ุงู ุงููุฌูู
ุจุฎููุชูู ูุงุฑุบุชูู ูู ุงูู
ูุชุตู ุ ุชุญุชุงุฌ ุฅูู ุฅููุงู ุญุฑูุชูู ุนูู ุงูุฃูู - ู
ู ุงููุงุถุญ ุฃู ูุฐู ููุณุช ููุทุฉ ุชููู.
ูู
ุง ูุชุฐูุฑ ุ ูุนุชุจุฑ ุงููุฌู
ุงุช ุงูู
ู
ุฒูุฉ ุนุฏุฉ ูุฌู
ุงุช ุชูููุฏูุฉ: ูุฌูู
ู
ุฑูุฒู ูุงุญุฏ ููุฌู
ุงุช ุฌุงูุจูุฉ. ููุชู
ู ุงููุฌูู
ุงูู
ุฑูุฒู ุฅูู ุงูุฎููุฉ ุงูู
ู
ุณูุญุฉ ุถูุฆููุง ุ ููุญุชูู ุงูู
ูุณู
ุงูุฌุงูุจู ุนูู ุฃูุซุฑ ู
ู 1 - ุชู
ูุตู ุฐูู ุฃุนูุงู.
ุฎูุงุฑุฒู
ูุฉ ุฅูุฌุงุฏ ููุทุฉ ุชููู (ุฃุณูู ุ ุงูุฑุฃ ุฃุฏูุงู):
- ููุฏู
ุงููุชูุฌุฉ ุงูู
ุชุบูุฑุฉ
- ูุฃุฎุฐ ุงููุฌูู
ุงูู
ุฑูุฒู ุ ูุนุชุจุฑ ุงูููุฉ
- ูุฃุฎุฐ ุฃุญุฏ ุงูุฌูุงูุจ ุฅุฐุง ูุงู ุงูู
ูุณูู
ุนููู ูุง ูุฒูุฏ ุนู 2x.
- ุงููุชูุฌุฉ - ู
ุฌู
ูุน ููุฉ ุงููุฌู
ุงุช ุงูู
ุฑูุฒูุฉ ูุงูุฌุงูุจูุฉ
- ุฅุฐุง ูุงูุช ุฅู
ูุงูุงุช ุงููุฌู
ุงุช ุงูู
ุฑูุฒูุฉ ูุงูุฌุงูุจูุฉ 2 ุ ูู
ู ุฃุฌู ู
ูุน ู
ุซู ูุฐุง ุงููุฌูู
ุ ุณุชุญุชุงุฌ ุฅูู ุฅููุงู ุฏูุฑ ูุงุญุฏ ุฅุถุงูู. ูุฐูู ุ ูุชู
ุฒูุงุฏุฉ ุงููุชูุฌุฉ ุจู
ูุฏุงุฑ 1
- ุฅุฐุง ูุงูุช ุงููุชูุฌุฉ > = 4 ุ ููุฐู ููุทุฉ ุชููู
ูู ุงููุงูุน ุ ูู
ูู ุจุจุณุงุทุฉ ุชุนุฏุงุฏ ููุงุท ุงูุชููู ุ ููุง ููุฌุฏ ุงููุซูุฑ ู
ููุง ุ ููููู ูู
ุฃููู
ุฐูู ุนูู ุงูููุฑ.
isBreakPoint( attackLine ){ if( ! attackLine || ! attackLine.length ) return false; var centAtk; attackLine.forEach( ( a )=>{ if( a.divider == 1 ) centAtk = a; }) if( centAtk.capability >= 4 ) return true if( centAtk.potential == 2 && centAtk.capability >= 3 ) return true; var res = false; attackLine.forEach( ( a )=>{ var score = centAtk.capability; if( a.divider == 2 ){
ูุนู
ุ ุณูุฌู
ุน ูู ุดูุก ูู ุงูููุงูุฉ
ูุฐูู ุ ูุชู
ูุตู ุงูุฌุญูู
ุงูุฑุฆูุณู ูุฑุงุก ุฃุนูุงู. ุญุงู ุงูููุช ููููุจ ุดูุก ูุนู
ู ู
ูู. ุงูุฏุงูุฉ
countWeight (xุ y) - ุชุฃุฎุฐ ุฅุญุฏุงุซูุงุช ุงูุฎููุฉ ูู
ุฏุฎู ุ ูุชุนูุฏ ูุฒููุง. ู
ุง ุชุญุช ุบุทุงุก ู
ุญุฑู ุงูุณูุงุฑุฉุ
ุฃููุงู ุ ูุญุตู ุนูู ู
ุฌู
ูุนุฉ ู
ู ุฌู
ูุน ุงููุฌู
ุงุช ุงูุชู ุชูุชู
ู ุฅูููุง ุงูุฎููุฉ. (
getAllAttacks (xุ y) ). ุจุงูู
ุฑูุฑ ุนุจุฑ ุฌู
ูุน ุงูุฎุทูุท ุ ูุญุณุจ ุนุฏุฏ ููุงุท ุงูุชููู. ุฅุฐุง ูุงูุช ููุงู ููุทุชุง ุชููู ุ ูุชุฐูุฑ ุฃู ู
ุซู ูุฐุง ุงูู
ููู ูู
ูู ุฃู ููุฑุฑ ูุชูุฌุฉ ุงููุนุจุฉ ุ ููุฒูุฏ ู
ู ูุฒู ุงูุฎููุฉ ุจู
ูุฏุงุฑ 100.
ูู
ุน ุฐูู ุ ูุฌุจ ุฃู ุชูุชู
ู ุฌู
ูุน ููุงุท ุงูุชููู ุฅูู ูุงุนุจ ูุงุญุฏ ุ ูุฐูู ุงุถุทุฑุฑุช ุฅูู ุชูููุฐ ูุญุต ูู ุฎุทูุชูู: ุงูุชูุงุทุนุงุช ุงูุฃููู ุ ุซู
ุงูุฃุตูุงุฑ.
ูุธุฑูุง
ูุฃููู ูู ู
ุฌู
ูุนุฉ ุฃูุฒุงู ุงููุฌูู
(
ATTACK_WEIGHTS [] ) ูู
ุฃูู
ุจุชุฒููุฏ ุงููุฌู
ุงุช ุจููุฉ 6 ุฃู ุฃูุซุฑ ุ ูุงู ุนูู ุงุณุชุจุฏุงููุง ุจูุฌู
ุงุช ุจููุฉ 5. ูุง ูุฑู - ููู ุชุคุฏู ุฌู
ูุนูุง ุฅูู ููุงูุฉ ุงููุนุจุฉ.
ุญุณููุง ุ ูุญู ููุฎุต ุฃูุฒุงู ุงููุฌูู
- ูุฐุง ูู ุดูุก.
ููุทุฉ ุตุบูุฑุฉ ุฃุฎุฑู: ุจุญูุซ ูุง ูููู ุงูุจูุช ุบุจููุง ูู ููุงูุฉ ุงููุนุจุฉ ุ ุนูุฏู
ุง ูููู ูุฏ ุจูู ุจุงููุนู ูุฌูู
ูุง ุจููุฉ 4 ููููุฑ ูู ุงูุญุฑูุฉ ุงูุญุงููุฉ ุ ู
ู ุงูุถุฑูุฑู ุฒูุงุฏุฉ ูุฒู ุงูุฎููุฉ ุจุดูู ูุจูุฑ ูุฅูู
ุงู ู
ุซู ูุฐุง ุงููุฌูู
. ุจุฏูู ูุฐุง ุ ูู
ูู ููุฐูุงุก ุงูุงุตุทูุงุนู ุจุจุณุงุทุฉ ุฃู ูุจุฏุฃ ูู ุงูุฏูุงุน ุนู ููุณู ู
ู ุงููุฌู
ุงุช "ุงูุฎุทูุฑุฉ" ุงูุชู ูููู
ุจูุง ุงูุฎุตู
ุ ุนูู ุงูุฑุบู
ู
ู ุฃู ุงููุนุจุฉ ุณุชุจุฏู ูุงุฆุฒุฉ. ุงูุฎุทูุฉ ุงูุฃุฎูุฑุฉ ู
ูู
ุฉ.
countWeight( x, y ){ var attacks = this.getAttacks( x, y ) if( ! attacks ) return; var sum = 0; sum += count.call( this, attacks.x, 'ร' ); sum += count.call( this, attacks.o, 'โ' ); return sum function count( atks, curFig ){ var weight = 0; var breakPoints = 0; [ "0", "45", "90", "135" ].forEach( ( p )=>{ if( this.isBreakPoint( atks[p] ) ){ debug( "Break point" ) if( ++breakPoints == 2 ){ weight += 100; debug( "Good cell" ) return; } } atks[p].forEach( ( a )=>{ if( a.capability > 5 ) a.capability = 5; if( a.capability == 5 && curFig == Model.whoPlays.char ) weight += 100; weight += a.getWeight(); }); }) return weight } }
ุงูุขู ุ ุนูุฏ ุงุณุชุฏุนุงุก ูุฐู ุงููุธููุฉ ูุฎููุฉ ู
ุนููุฉ ุ ุณูุญุตู ุนูู ูุฒููุง. ูููู
ุจูุฐู ุงูุนู
ููุฉ ูุฌู
ูุน ุงูุฎูุงูุง ููุฎุชุงุฑ ุงูุฃูุถู (ุจุฃุนูู ูุฒู). ููุงู ูุชุฐูุจ)
ูู
ููู ุงูุนุซูุฑ ุนูู ุจุงูู ุงูุชุนููู
ุงุช ุงูุจุฑู
ุฌูุฉ ุนูู
github . ููุงู ุจุงููุนู ุงููุซูุฑ ู
ู ุงูู
ูุงุฏ ุ ูุนุฑุถูุง ุ ูู
ุง ูู
ุฃุญุงูู ุ ูุชุฑู ุงููุซูุฑ ู
ู
ุง ูู ู
ุฑุบูุจ ููู.
ูููู ุฅุฐุง ููุช ุชุณุชุทูุน ุงููุฑุงุกุฉ ุญุชู ูุฐู ุงูููุทุฉ ุ ุนุฒูุฒู ุงููุงุฑุฆ ุ ูุฃูุง ู
ู
ุชู ูู.ุฑุฃูู ูู ุงููุชูุฌุฉ
ุงูุฒู! ูุนู
ุ ูู
ููู ูุฒูู
ุชู ุ ููู ุงูููุงู
ุจุฐูู ูู
ุซู ู
ุดููุฉ ุจุงููุณุจุฉ ูู ุดุฎุตูุงู. ุฑุจู
ุง ุฃูุง ูุณุช ุญุฐุฑุง ุจู
ุง ููู ุงูููุงูุฉ. ุฌุฑุจ ููุชู ุฃูุถูุง.ุฃุนูู
ุฃู ุฐูู ุฃุณูู ุ ูููู ูุง ุฃุนุฑู ููู. ุฃูุฏ ุงูุงุณุชู
ุงุน ุฅูู ุงูุฃุดุฎุงุต ุงูุฐูู ูุนุฑููู ุฃู ููุธุฑูู ุฅูู ุชุทุจููุงุช ุฃุฎุฑู ูู
ุซู ูุฐุง ุงูุฑูุจูุช.ุฃูุง ุฃุนุฑู ู
ุง ูู
ูู ุฃู ูููู ุฃูุถู. ูุนู
... ูู
ููู ุงุณุชุฎุฏุงู
ุฎูุงุฑุฒู
ูุงุช ู
ุนุฑููุฉ ุ ู
ุซู minimax ุ ูููู ููุฐุง ุชุญุชุงุฌ ุฅูู ุงูุญุตูู ุนูู ุจุนุถ ุงูู
ุนุฑูุฉ ูู ู
ุฌุงู ูุธุฑูุฉ ุงููุนุจุฉ ุ ูุงูุชู ููุฃุณู ูุง ูู
ูููู ุงูุชุจุงูู ุจูุง.ุฃุฎุทุท ูู ุงูู
ุณุชูุจู ูุฅุถุงูุฉ ุชุญููู ููุงุท ุงูุชููู ุนุฏุฉ ุฎุทูุงุช ุฅูู ุงูุฃู
ุงู
ุ ู
ู
ุง ุณูุฌุนู ุงูุจูุช ุฎุตู
ูุง ุฃูุซุฑ ุฌุฏูุฉ. ูู
ุน ุฐูู ุ ููุณ ูุฏู ุงูุขู ููุฑุฉ ูุงุถุญุฉ ุนู ุชูููุฐ ุฐูู ุ ูุฏู ููุท ุงูุฌูุณุฉ ุงููุงุฏู
ุฉ ูุดูุงุฏุฉ ุบูุฑ ู
ูุชู
ูุฉ - ุงูุฃู
ุฑ ุงูุฐู ูุญุฒููู.ุดูุฑุง ูู ุฅุฐุง ูุฑุฃุช ุญุชู ุงูููุงูุฉ.