крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Java (Π§Π°ΡΡ‚ΡŒ 2)

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. krestiki noliki v procedurnom stile java2. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-krestiki noliki v procedurnom stile java2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° krestiki noliki v procedurnom stile java2. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС.

Π¦ΠΈΠΊΠ» «do β€” while» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ сходит Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ ячСйку:

Π‘Π°ΠΌΡ‹ΠΉ интСрСсный ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” это Ρ…ΠΎΠ΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Ρ‡Π°Ρ‚ΠΊΠΈ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°.

Π’ случаС «aiLevel = 1» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ…ΠΎΠ΄Ρƒ. Если Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½Ρ‹ΠΉ Ρ…ΠΎΠ΄ сущСствуСт, Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° эту ячСйку. Как это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ: Π² Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ всС ячСйки, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π½Π΅Π·Π°Π½ΡΡ‚ΡƒΡŽ ячСйку ставит ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈΠ³Ρ€ΠΎΠΊΠ° ( «field[i][j] = USER_SIGN» ). Π”Π°Π»Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° «checkWin()» провСряСтся являСтся Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ…ΠΎΠ΄ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½Ρ‹ΠΌ, Ссли Π΄Π°, Ρ‚ΠΎ эти ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ставит Π½Π° Π½ΠΈΡ… свою ΠΌΠ΅Ρ‚ΠΊΡƒ ( AI_SIGN ). ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ячСйка обнуляСтся (( «field[i][j] = NOT_SIGN» ).

Π’ случаС «aiLevel = 2» Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Волько Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ свой Ρ…ΠΎΠ΄ ΠΈ, Ссли ΠΎΠ½ являСтся Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½Ρ‹ΠΌ, Ρ…ΠΎΠ΄ΠΈΡ‚.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ провСряСт ячСйку Π½Π° Π·Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 2 ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для опрСдСлСния ΠΏΠΎΠ±Π΅Π΄Ρ‹ Π² ΠΈΠ³Ρ€Π΅. ΠœΠ΅Ρ‚ΠΎΠ΄ «checkLine()» провСряСт ΠΎΠ΄Π½Ρƒ линию (Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒ, диагональ). Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ прямой ΠΈΠ· Π°Π»Π³Π΅Π±Ρ€Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° Π±ΡƒΠΌΠ°Π³Π΅. Π’ΠΎΠ³Π΄Π° сразу всё станСт понятно.

Π’ качСствС домашнСго задания: Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлСния ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ: ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ»ΠΈ ΠΈΠ³Ρ€ΠΎΠΊ.

На связи Π±Ρ‹Π» АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½, оставляйтС свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, увидимся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Быстрый старт с Java: пишСм «крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈΒ»

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. thumb 392d98281f6035cbb4c9d5207b7923b1. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-thumb 392d98281f6035cbb4c9d5207b7923b1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° thumb 392d98281f6035cbb4c9d5207b7923b1. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. thumb 392d98281f6035cbb4c9d5207b7923b1. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-thumb 392d98281f6035cbb4c9d5207b7923b1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° thumb 392d98281f6035cbb4c9d5207b7923b1. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. retina df67e62ffb95b57a542d01e11fe4ecf5. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-retina df67e62ffb95b57a542d01e11fe4ecf5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° retina df67e62ffb95b57a542d01e11fe4ecf5. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, «Быстрый старт с Java: Π½Π°Ρ‡Π°Π»ΠΎΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ оТидаСтся, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Π½Π΅ΠΉ β€” Π·Π½Π°Π΅Ρ‚ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, условиях, Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ классов. БСгодня ΠΌΡ‹ ΡƒΠ³Π»ΡƒΠ±Π»ΠΈΠΌ знания ΠΎ Java, создавая ΠΈΠ³Ρ€Ρƒ Β«ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈΒ», которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС (консоли). Π’ процСссС Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Ρ€Π°Π±ΠΎΡ‚Π° с массивами, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ аспСкты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (нСстатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, нСстатичСскиС поля, конструктор).

ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠŸΡ€ΠΈ написании ΠΈΠ³Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ массив, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ для Π½Π°Ρ‡Π°Π»Π° рассмотрим, Ρ‡Ρ‚ΠΎ это. ΠœΠ°ΡΡΠΈΠ²Ρ‹ хранят Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Если пСрСмСнная ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ, с написанным Π½Π° Π±ΠΎΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠΌ, ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‚ΠΎ массив ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π±Π»ΠΎΠΊ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π΅ΠΊ. И Ρ‚ΠΈΠΏ, ΠΈ имя Ρƒ Π±Π»ΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎ, Π° доступ ΠΊ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠ΅ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ) происходит ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ (индСксу).

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

РСшСниС ΠΎΠ΄Π½ΠΎ β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° основании класса. И Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ послС ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ этом случаС ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСстатичСским. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ это ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚.

Поля класса

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… лишь Ρ‚ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. А Ссли Π½ΡƒΠΆΠ½Π° пСрСмСнная, доступная Π²ΠΎ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… класса, Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ поля. Поля ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΠ΅Π½ΠΈ. Но Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Π½Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, Π° прямо Π² Ρ‚Π΅Π»Π΅ класса. Подобно ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ статичСскими ΠΈ нСстатичСскими. НСстатичСскиС поля, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ. Π¨Π°Π±Π»ΠΎΠ½ класса

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊ написанию ΠΊΠΎΠ΄Π° ΠΈΠ³Ρ€Ρ‹. Начнём с шаблона класса ΠΈ опрСдСлСния Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. ИмСнно это содСрТит ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ строки β€” ΠΈΠΌΠΏΠΎΡ€Ρ‚ классов. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π² Ρ‚Π΅Π»Π΅ класса ΠΈΠ΄ΡƒΡ‚ описания ΠΏΠΎΠ»Π΅ΠΉ, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄ main() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ нСстатичСскиС) ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° game() с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.

ИмСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² принято ΠΏΠΈΡΠ°Ρ‚ΡŒ с малСнькой Π±ΡƒΠΊΠ²Ρ‹. Однако Π² ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ TicTacToe() β€” Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρ‚ΡƒΡ‚ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅? НСт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ особСнный ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ называСтся конструктор. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ вызываСтся сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ создан. Π•Π³ΠΎ имя, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ конструктор для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ.

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

РСализация Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На всякий случай ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽ ΠΌΠΎΠΉ telegram β€” @biblelamp. Если вас заинтСрСсовала Ρ‚Π΅ΠΌΠ°, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Β«Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β» Майка ΠœΠ°ΠΊΠ“Ρ€Π°Ρ‚Π° ΠΈ Β«Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ JavaΒ» ΠšΡΡ‚ΠΈ Π‘ΡŒΠ΅Ρ€Ρ€Π° ΠΈ Π‘Π΅Ρ€Ρ‚ БСйтс.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈΠ· сСрии «Быстрый старт с JavaΒ»:

Если язык Java вас заинтСрСсовал β€” ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если Π΅Ρ‰Ρ‘ Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ β€” посмотритС истории успСха Π½Π°ΡˆΠΈΡ… Java-выпускников:

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. retina df67e62ffb95b57a542d01e11fe4ecf5. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-retina df67e62ffb95b57a542d01e11fe4ecf5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° retina df67e62ffb95b57a542d01e11fe4ecf5. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, «Быстрый старт с Java: Π½Π°Ρ‡Π°Π»ΠΎΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ оТидаСтся, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Π½Π΅ΠΉ β€” Π·Π½Π°Π΅Ρ‚ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, условиях, Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ классов. БСгодня ΠΌΡ‹ ΡƒΠ³Π»ΡƒΠ±Π»ΠΈΠΌ знания ΠΎ Java, создавая ΠΈΠ³Ρ€Ρƒ Β«ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈΒ», которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС (консоли). Π’ процСссС Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Ρ€Π°Π±ΠΎΡ‚Π° с массивами, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ аспСкты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (нСстатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, нСстатичСскиС поля, конструктор).

ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠŸΡ€ΠΈ написании ΠΈΠ³Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ массив, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ для Π½Π°Ρ‡Π°Π»Π° рассмотрим, Ρ‡Ρ‚ΠΎ это. ΠœΠ°ΡΡΠΈΠ²Ρ‹ хранят Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Если пСрСмСнная ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ, с написанным Π½Π° Π±ΠΎΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠΌ, ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‚ΠΎ массив ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π±Π»ΠΎΠΊ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π΅ΠΊ. И Ρ‚ΠΈΠΏ, ΠΈ имя Ρƒ Π±Π»ΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎ, Π° доступ ΠΊ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠ΅ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ) происходит ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ (индСксу).

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

РСшСниС ΠΎΠ΄Π½ΠΎ β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° основании класса. И Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ послС ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ этом случаС ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСстатичСским. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ это ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚.

Поля класса

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… лишь Ρ‚ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. А Ссли Π½ΡƒΠΆΠ½Π° пСрСмСнная, доступная Π²ΠΎ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… класса, Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ поля. Поля ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΠ΅Π½ΠΈ. Но Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Π½Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, Π° прямо Π² Ρ‚Π΅Π»Π΅ класса. Подобно ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ статичСскими ΠΈ нСстатичСскими. НСстатичСскиС поля, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ. Π¨Π°Π±Π»ΠΎΠ½ класса

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊ написанию ΠΊΠΎΠ΄Π° ΠΈΠ³Ρ€Ρ‹. Начнём с шаблона класса ΠΈ опрСдСлСния Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. ИмСнно это содСрТит ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ строки β€” ΠΈΠΌΠΏΠΎΡ€Ρ‚ классов. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π² Ρ‚Π΅Π»Π΅ класса ΠΈΠ΄ΡƒΡ‚ описания ΠΏΠΎΠ»Π΅ΠΉ, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄ main() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ нСстатичСскиС) ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° game() с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.

ИмСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² принято ΠΏΠΈΡΠ°Ρ‚ΡŒ с малСнькой Π±ΡƒΠΊΠ²Ρ‹. Однако Π² ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ TicTacToe() β€” Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρ‚ΡƒΡ‚ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅? НСт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ особСнный ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ называСтся конструктор. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ вызываСтся сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ создан. Π•Π³ΠΎ имя, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ конструктор для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ.

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

РСализация Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На всякий случай ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽ ΠΌΠΎΠΉ telegram β€” @biblelamp. Если вас заинтСрСсовала Ρ‚Π΅ΠΌΠ°, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Β«Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β» Майка ΠœΠ°ΠΊΠ“Ρ€Π°Ρ‚Π° ΠΈ Β«Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ JavaΒ» ΠšΡΡ‚ΠΈ Π‘ΡŒΠ΅Ρ€Ρ€Π° ΠΈ Π‘Π΅Ρ€Ρ‚ БСйтс.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈΠ· сСрии «Быстрый старт с JavaΒ»:

Если язык Java вас заинтСрСсовал β€” ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если Π΅Ρ‰Ρ‘ Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ β€” посмотритС истории успСха Π½Π°ΡˆΠΈΡ… Java-выпускников:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. thumb 3ab0dc76aa923ce9669c37018f99250c. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-thumb 3ab0dc76aa923ce9669c37018f99250c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° thumb 3ab0dc76aa923ce9669c37018f99250c. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π£Ρ‡ΡƒΡΡŒ языку Java, Π² курсС Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Нолики Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ Π² ООП, с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ я задался Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ±ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ ИИ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС, Ρƒ мСня это ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π²ΠΎ всяком случаС я Π½ΠΈΡ€Π°Π·Ρƒ Π½Π΅ Π²Ρ‹ΠΉΠ³Ρ€Π°Π» спустя

100 ΠΏΠ°Ρ€Ρ‚ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΠΌΠ°Π½Π½Ρ‹Π΅ Ρ…ΠΎΠ΄Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρƒ вас это получится. Π—Π°Ρ‚Π΅ΠΌ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π² ООП стилС с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Алгоритма МиниМакс, Π° Ρ‚Π°ΠΊΠΆΠ΅ с Алгоритмом МиниМакс с ΠΠ»ΡŒΡ„Π°-Π‘Π΅Ρ‚Π° ΠΎΠ±Ρ€Π΅Π·ΠΊΠΎΠΉ. Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java ΠΊΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Π½Π° сайтС GeekBrains я Π½Π΅ нашСл Ρ‚Π΅ΠΌΡ‹ обсуТдСния Алгоритма МиниМакс ΠΈ МиниМакс с ΠΠ»ΡŒΡ„Π°-Π‘Π΅Ρ‚Π° ΠΎΠ±Ρ€Π΅Π·ΠΊΠΎΠΉ Π½Π° языкС Java, ΠΈ Ρ€Π΅ΡˆΠΈΠ», Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ интСрСсна данная рСализация ΠΈΠ³Ρ€Ρ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вариациях.
1) РСализация Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС.
Когда я ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Π» ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π² Π±Π»ΠΎΠΊΠ΅ настроСк Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΠ», оставил ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ.
«`
import java.util.*;

public class TicTacToe <
/**
* Π‘Π»ΠΎΠΊ настроСк ΠΈΠ³Ρ€Ρ‹
/
private static final char DOT_EMPTY = ‘
‘; // Π‘ΠΈΠΌΠ²ΠΎΠ» пустых ячССк
private static final char DOT_X = ‘X’; // Π‘ΠΈΠΌΠ²ΠΎΠ»
private static final char DOT_O = ‘O’; // Π‘ΠΈΠΌΠ²ΠΎΠ»
private static char[][] map; // ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΊΠ°Ρ€Ρ‚Ρ‹
private static char[][] mapComputer; //ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.
private static final int SIZE = 3; // Π Π°Π·ΠΌΠ΅Ρ€ поля
private static final int BLOCK = 2;
private static Scanner scanner = new Scanner(System.in);
private static Random random = new Random();

>

**2) РСализация ΠΈΠ³Ρ€Ρ‹ Π² ООП с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Алгоритма МиниМакс**

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Random;

class Point <
int x, y;

>
class PointsAndScores <
int score;
Point point;

availablePoints; // Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для хранСния доступных Ρ‚ΠΎΡ‡Π΅ΠΊ
Scanner scan = new Scanner(System.in);
int [][] board = new int[3][3];

>
public class TicTacToeOOPMiniMax <
public static void main (String[] args) <
Board b = new Board();
Random rand = new Random();

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Random;

class Point <
int x, y;

availablePoints;
Scanner scan = new Scanner(System.in);
int board[][] = new int[3][3];

>
public class TicTacToeGame <
public static void main(String[] args) <
Board b = new Board();
Random rand = new Random();

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Java (Π§Π°ΡΡ‚ΡŒ 1)

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. krestiki noliki v procedurnom stile java1. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-krestiki noliki v procedurnom stile java1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° krestiki noliki v procedurnom stile java1. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.

ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. На досугС Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Java. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ «ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ» Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ возмоТности языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ†ΠΈΠΊΠ»Ρ‹, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΈ Ρ‚.Π΄. Π’ качСствС IDE Ρ€Π΅ΡˆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «IntelliJ IDEA». Π”Π°Π»Π΅Π΅ послСдуСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС.

Объявим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π°ΡˆΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…. «field» β€” это нашС ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом Ρ‚ΠΈΠΏΠ° String (Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ «*»). «DIMENSION» β€” это Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ поля. «aiLevel» β€” это Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° (0 Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° Π½Π΅Ρ‚, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ случайно Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΠ΄). Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°.

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ main(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, вызываСтся «mainMenu()», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ³Ρ€Ρ‹

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ «mainMenu()», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ научимся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ значСния с консоли ΠΈ рассмотрим ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ «switch β€” case»

Π”Π°Π»Π΅Π΅ напишСм ΠΌΠ΅Ρ‚ΠΎΠ΄ modeTwoPlayers(), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ инкапсулирована Π»ΠΎΠ³ΠΈΠΊΠ° для ΠΈΠ³Ρ€Ρ‹ Π΄Π²ΡƒΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ². Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрим Ρ‚Π°ΠΊΠΈΠ΅ конструкции, ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» «while», условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Π§Ρ‚ΠΎ здСсь написано: «while (true)» β€” это бСсконСчный Ρ†ΠΈΠΊΠ». Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· бСсконСчного Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ условиям: ΠΏΠΎΠ±Π΅Π΄Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· участников, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ³Π΄Π° всС ячСйки Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ (Π½ΠΈΡ‡ΡŒΡ). «userShot()» β€” это Ρ…ΠΎΠ΄ ΠΈΠ³Ρ€ΠΎΠΊΠ°. «checkWin()» β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ±Π΅Π΄Ρ‹.

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ modeAgainstAI() ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ³Ρ€Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся практичСски ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ здСсь Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ aiShot(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ…ΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°:

Π”Π°Π»Π΅Π΅ напишСм ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поля ΠΈ Π²Ρ‹Π²ΠΎΠ΄ поля Π² консоль. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрим Ρ†ΠΈΠΊΠ» «for»:

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, посвящСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ крСстиков-Π½ΠΎΠ»ΠΈΠΊΠΎΠ² Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ возмоТности языка Java. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ самоС интСрСсноС: Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ…ΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ побСдитСля.

На связи Π±Ρ‹Π» АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½, оставляйтС свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, увидимся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ИИ для крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ

Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Java, крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ. Human vs PC.
Π₯ΠΎΠ΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° происходит Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎ. А Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ ИИ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ смог Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ, Π° Ρ‚ΠΎ всС ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚.

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. tick. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для поля крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠ³Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ
ΠšΡ€ΡƒΡ‡Ρƒ Π²Π΅Ρ€Ρ‡Ρƒ, Ρ‚Π°ΠΊ ΠΈ сяк ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π», Π½ΠΎ Ρ‡Π΅Ρ‚Π° ΠΏΠΎΠ»Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для крСстиков Π½ΠΎΠ»ΠΈΠΊΠΎΠ² Π½Π΅ ΠΌΠΎΠ³Ρƒ. Π₯очСтся.

Π§Ρ‚ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ³Ρ€Ρ‹ ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Нолики
Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток! МнС Π·Π°Π΄Π°Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠšΡ€ΡƒΡΡ‚ΠΈΠΊΠΈ-Нолики Π² унивСрситСтС. Пока Ρ‡Ρ‚ΠΎ я Π΅Ρ‰Π΅.

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ Π½ΠΎΠ»ΠΈΠΊΠΈ
Π—Π°Π΄Π°Π½ΠΈΠ΅ : НСобходимо Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ побСдитСля Π½Π° ΠΏΠΎΠ»Π΅! Π­Ρ‚ΠΎΡ‚.

ВлоТСния

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. zip. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-zip. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° zip. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.XO_Game.zip (24.3 Кб, 234 просмотров)

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

ΠΈΠ³Ρ€Π° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ
ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ : import java.io.BufferedReader; import java.io.IOException; import.

ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ (консоль)
ΠŸΠΈΡˆΡƒ ΠΈΠ³Ρ€Ρƒ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ 5Ρ…5 с консольной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Бтолкнулся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: 1).

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. tick. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ Π½ΠΎΠ»ΠΈΠΊΠΈ(учимся)
ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚, ΠΈΠ·ΡƒΡ‡Π°ΡŽ java со всСм Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π²Π·Π±Ρ€Π΅Π»Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ идСя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ).

крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. tick. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° крСстики Π½ΠΎΠ»ΠΈΠΊΠΈ java ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На связи АлСксСй Π“ΡƒΠ»Ρ‹Π½ΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ³Ρ€Ρ‹ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ стилС Π½Π° Java.НС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ
ВсС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ помСнял ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ послС 1 Ρ…ΠΎΠ΄Π° ΠΈΠ³Ρ€Π° заканчиваСтся. Π’ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *