Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 62

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

β–Ί Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСтСвыС ΠΈΠ³Ρ€Ρ‹.

ΠžΠ±Π·ΠΎΡ€ ΠΈΠ³Ρ€Ρ‹ Connect 4

Если Π²Ρ‹ Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ ΠΈΠ³Ρ€Π°Π»ΠΈ Π² Connect 4, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ рассмотрим Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простая ΠΈΠ³Ρ€Π°, похоТая Π½Π° крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ; ваша Ρ†Π΅Π»ΡŒ – Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ряд, столбСц ΠΈΠ»ΠΈ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ 4 Ρ„ΠΈΡˆΠΊΠΈ. Π˜Π³Ρ€Π° происходит Π½Π° ΠΏΠΎΠ»Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 7Ρ…6 ячССк. Ѐишки – это Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€Ρ‹, ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° шашки. На рис. 15.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° доска для ΠΈΠ³Ρ€Ρ‹ Π² Connect 4.

Рис. 15.1. Π˜Π³Ρ€ΠΎΠ²Π°Ρ доска Connect 4 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 7Ρ…6 ячССк

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ Connect 4 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ доска располагаСтся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ столбСц прСдставляСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅ΠΊΡ†ΠΈΡŽ (ΠΌΠ΅ΠΆΠ΄Ρƒ ячСйками ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π³ΠΎΡ€ΠΎΠ΄ΠΊΠΈ). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΡˆΠΊΠΈ ΠΎΠ΄Π½Ρƒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ сильно влияСт Π½Π° ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ ΠΈΠ³Ρ€Ρ‹. На рис. 15.2 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Connect 4 послС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ…ΠΎΠ΄ΠΎΠ².

Рис. 15.2. Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹ Π² ΠΈΠ³Ρ€Π΅ Connect 4 Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ Ρ„ΠΈΠ³ΡƒΡ€ΠΊΠ°ΠΌΠΈ

Рис. 15.3. Π˜Π³Ρ€Π° Connect 4 Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² удаСтся Β«ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΒ» Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ„ΠΈΠ³ΡƒΡ€ΠΊΠΈ

Π˜Π³Ρ€Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² выстраиваСт ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ„ΠΈΡˆΠΊΠΈ. Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² крСстиках-Π½ΠΎΠ»ΠΈΠΊΠ°Ρ…, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π½ΠΈΡ‡ΡŒΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ этого Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС ΠΈΠ·-Π·Π° большСго числа возмоТностСй ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ. На рис. 15.4 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Β«ΠΏΠΎΠ±Π΅Π΄Π°Β» Π² Connect 4.

Рис. 15.4. Π’ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (0,0) Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

Π‘ тСхничСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Π² ΠΈΠ³Ρ€Π΅ Connect 4 Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ всСгда, Π²Π½Π΅ зависимости ΠΎΡ‚ стратСгии ΠΈΠ³Ρ€ΠΎΠΊΠ°, Ссли Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Ρ…ΠΎΠ΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€Ρ‹

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ Connect 4 Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊΠΈΠΌ слоТным занятиСм, Ссли Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅Ρ‚Π΅ вСсь процСсс Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ этапы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

β–Ί Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс;

β–Ί сСтСвоС соСдинСниС.

β–Ί игровая Π»ΠΎΠ³ΠΈΠΊΠ°;

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСны всС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ этапы создания ΠΈΠ³Ρ€Ρ‹.

Π“Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс

Как ΠΈ Π² случаС Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ³Ρ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Connect 4 начинаСтся с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ – это Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΈ доска. ΠšΡ€ΠΎΠΌΠ΅ этого ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ статусС соСдинСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ…ΠΎΠ΄. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ строка статуса Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сообщСниС Β«Waiting for player\'s moveΒ» (ОТиданиС Ρ…ΠΎΠ΄Π° ΠΈΠ³Ρ€ΠΎΠΊΠ°) ΠΈΠ»ΠΈ Β«Your turnΒ» (Π’Π°Ρˆ Ρ…ΠΎΠ΄).

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный интСрфСйс Π² ΠΈΠ³Ρ€Π΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, какая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π²Ρ‹Π±Ρ€Π°Π½Π° Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΠ΄, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стрСлок Π²Π»Π΅Π²ΠΎ ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΡˆΠΊΡƒ. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΠΈΠ³Ρ€Π΅ Connect 4 – это графичСская стрСлка, Ρ†Π²Π΅Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зависит ΠΎΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ° (красная – для ΠΈΠ³Ρ€ΠΎΠΊΠ° сСрвСрного устройства, Π° синяя – для ΠΈΠ³Ρ€ΠΎΠΊΠ° клиСнтского устройства). ΠœΠ°Ρ€ΠΊΠ΅Ρ€ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ выводится нСпосрСдствСнно Π½Π°Π΄ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ, поэтому ΠΈΠ³Ρ€ΠΎΠΊ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π±Ρ€ΠΎΡˆΠ΅Π½Π° Ρ„ΠΈΡˆΠΊΠ°.

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

На самом Π΄Π΅Π»Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эта информация ΠΈΠ³Ρ€ΠΎΠΊΠ°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π°. Однако с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния тСстирования ΠΈΠ³Ρ€Ρ‹, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠΊΡ€Π°ΡΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² Ρ€Π°Π·Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ устройство являСтся сСрвСрным, Π° ΠΊΠ°ΠΊΠΎΠ΅ клиСнтским.

Π˜Ρ‚Π°ΠΊ, Π² ΠΈΠ³Ρ€Π΅ Connect 4 Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ основных графичСских элСмСнта:

β–Ί доска;

β–Ί строка состояния;

β–Ί Ρ„ΠΈΡˆΠΊΠΈ;

β–Ί стрСлка-ΠΌΠ°Ρ€ΠΊΠ΅Ρ€.

Π£ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ спрайтами, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса ΠΈΠ³Ρ€Ρ‹ Connect 4 для вас Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³Ρ€Ρ‹.

Π˜Π³Ρ€ΠΎΠ²Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°

Π‘Π°ΠΌΠΎΠ΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠ΅ прСпятствиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³Ρ€Ρ‹ Connect 4 – ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ побСдившСго ΠΈΠ³Ρ€ΠΎΠΊΠ°. Π‘Π½Π°Ρ‡Π°Π»Π° это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ достаточно простой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ: просто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° Π² ряду, столбцС ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Ρ‚Π°ΠΊ? Π­Ρ‚ΠΎ ΠΈ Π²ΠΏΡ€ΡΠΌΡŒ просто для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ – Π½Π΅ такая ΡƒΠΆ ΠΈ простая Π·Π°Π΄Π°Ρ‡Π°. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Java-ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС ΠΈΠ³Ρ€Ρ‹ Connect 4.

Одно ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ – ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всСвозмоТныС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, приводящих ΠΊ ΠΏΠΎΠ±Π΅Π΄Π΅. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для опрСдСлСния, насколько Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΊ ΠΏΠΎΠ±Π΅Π΄Π΅. Π₯отя Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π°. На самом Π΄Π΅Π»Π΅, Π² ΠΊΠΎΠ΄Π΅ ΠΈΠ³Ρ€Ρ‹ Connect 4 Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ «силовой ΠΏΡ€ΠΈΠ΅ΠΌΒ». Π£Π²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ элСгантныС способы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° с Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½Ρ‹ΠΌΠΈ комбинациями – это ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ вСсьма эффСктивный ΠΌΠ΅Ρ‚ΠΎΠ΄ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π‘Π΅Ρ‚ΡŒ

Как Π²Ρ‹, нСсомнСнно, поняли, Connect 4 – это пошаговая ΠΈΠ³Ρ€Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ сСтСвоС Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ соСдинСниС. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, ΠΈΠ³Ρ€Π° Connect 4 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ построСна Π½Π° Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ…, Ρ‡Ρ‚ΠΎ ΠΈ созданный Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΠΈΠ΄Π»Π΅Ρ‚ Lighthouse. Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ символы Π°Π·Π±ΡƒΠΊΠΈ ΠœΠΎΡ€Π·Π΅ (Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈΠ»ΠΈ Ρ‚ΠΈΡ€Π΅), Π° Π½ΠΎΠΌΠ΅Ρ€ столбца, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ производится Ρ…ΠΎΠ΄. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΈΠ³Ρ€Ρƒ Connect 4 ΠΎΡ‚ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π° Lighthouse, β€“ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ отслСТивания очСрСдности Ρ…ΠΎΠ΄ΠΎΠ². Π˜Π½Π°Ρ‡Π΅ говоря, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ «свободноС соСдинСниС», ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π² случаС Lighthouse.

Подобно ΠΌΠΈΠ΄Π»Π΅Ρ‚Ρƒ Lighthouse, ΠΈΠ³Ρ€Π° Connect 4 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…: ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ сСрвСр. Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ опрСдСляСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС ΠΈΠ³Ρ€Ρ‹. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ для ΠΈΠ³Ρ€Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ соСдинСниС ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр установлСно, ΠΈΠ³Ρ€ΠΎΠΊΠΈ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ…ΠΎΠ΄Ρ‹, отправляя сообщСния. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈΠ³Ρ€Ρ‹ Connect 4. РСшСниС этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ – Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ отслСТиваниС очСрСдности Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° получСния ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ…ΠΎΠ΄Π΅ сопСрника.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ основныС элСмСнты Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСтСвого соСдинСния Π² ΠΈΠ³Ρ€Π΅ Connect 4:

1. Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½-сСрвСр ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ соСдинСниС ΠΈ ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°;

2. Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ соСдинСниС ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ сСрвСру;

3. ΠΏΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ соСдинСния ΠΈΠ³Ρ€Π° начинаСтся Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π”Π°Π»Π΅Π΅ ΠΏΡ€Π°Π²ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π²ΡˆΠ΅ΠΌΡƒ;

4. ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ…ΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ сСрвСру ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ столбцС;

5. Ρ…ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ сСрвСру;

6. ΠΈΠ³Ρ€Π° длится Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π½Π΅ ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΠΎΠ±Π΅Π΄Ρƒ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ возмоТности для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½ΠΎΠ²Ρ‹Ρ… Ρ…ΠΎΠ΄ΠΎΠ²;

7. ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ сСрвСр Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ соСдинСниС.

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅Ρ‚ΡŒΡŽ, ΠΈΠ³Ρ€Π° Connect 4 – это Π±ΠΎΠ»Π΅Π΅ интСрСсный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π° Lighthouse. ЕдинствСнноС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ – это ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΈ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, Π° Π½Π΅ символами Π°Π·Π±ΡƒΠΊΠΈ ΠœΠΎΡ€Π·Π΅. Как Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ дальшС, ΠΊΠΎΠ΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅Ρ‚ΡŒΡŽ ΠΈΠ³Ρ€Ρ‹ Connect 4 Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΊΠΎΠ΄ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π° Lighthouse.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€Ρ‹

Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€Ρ‹ Connect 4 Π±Ρ‹Π» Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ этапы, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π°. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ сСрвСр Π² ΠΈΠ³Ρ€Π΅ Connect 4

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈΠ³Ρ€Ρ‹ Connect 4 содСрТится Π² Π΄Π²ΡƒΡ… классах: C4 Client ΠΈ C4Server. ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ эти Π΄Π²Π° класса ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ сообщСниями. Оба класса Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс Runnable. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… выполняСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сСрвСр ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ запускаСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ класса C4Server.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса C4Server:

private C4Canvas           canvas;

private DatagramConnection dc;

private String               address;

private boolean        connected;

Π‘Π΅Ρ€Π²Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ состоянии ΠΈΠ³Ρ€Ρ‹ с ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ холстом, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΈΠ³Ρ€ΠΎΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ класс C4Server сохранял холст ΠΈΠ³Ρ€Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ canvas. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ dc отслСТиваСт Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ соСдинСниС, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ address сохраняСт адрСс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° – ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, пСрСмСнная connected отслСТиваСт, установлСно соСдинСниС ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρƒ класса C4Server трСбуСтся СдинствСнный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса C4Canvas:

public C4Server(C4Canvas c) {

canvas = c;

connected = false;

}

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ C4Server() ΠΎΡ‡Π΅Π½ΡŒ прост, ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ выполняСт, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ 2 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠœΠ΅Ρ‚ΠΎΠ΄ start(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наслСдуСтся ΠΎΡ‚ интСрфСйса Runnable, Ρ‚Π°ΠΊΠΆΠ΅ прост:

public void start() {

Thread t = new Thread(this);

t.start();

}

Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ нСпонятного – стандартный ΠΊΠΎΠ΄ запуска ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² классС C4 Server Π΅ΡΡ‚ΡŒ лишь ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»Π΅Π΅ скучный ΠΌΠ΅Ρ‚ΠΎΠ΄ – ΠΌΠ΅Ρ‚ΠΎΠ΄ stop(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚:

public void stop() { }

Код класса C4Server Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ интСрСсСн, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° run(), ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² листингС 15.1. Листинг 15.1. ΠœΠ΅Ρ‚ΠΎΠ΄ run() класса C4 Server это сСрдцС прилоТСния Connect 4

public void run() {

try {

// ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ

canvas.setStatus("Waiting for peer client..."); //Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ соСдинСниС, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ пытаСтся ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ

dc = null;