ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ Β«ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉΒ»

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ВзаимодСйствиС с ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌ — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ срСдств, прСдоставляСмых ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅ΠΌΡƒ для измСнСния ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ срСды. Π§Π°Ρ‰Π΅ всСго это ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΡ€ΠΈ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π³ΠΎΠ½ΠΎΠΊ Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ измСняСт Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния ΠΏΠΎ Ρ‚рассС, ΠΏΡ€ΠΈ этом большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ быстрота Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρƒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ трассы, появлСниС прСпятствий (Π½Π° Ρ‚рассС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρ‹… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ Β«ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉΒ» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

I. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ Π˜Π³Ρ€Ρ‹ ΠΈ ΠΈΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚

II. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния ΠžΠ±Ρ‰Π°Ρ Π±Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ НСобходимыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ОписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ОписаниС ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΠ³Ρ€Ρ‹ «ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉ».

На ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 10 Π½Π° 10 ΠΊΠ»Π΅Ρ‚ΠΎΠΊ Π˜Π³Ρ€ΠΎΠΊ расставляСт ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Π°Π±Π»ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, Π΄Π²Π° корабля Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Ρ€ΠΈ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, Ρ‚Ρ€ΠΈ корабля Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π΄Π²Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ корабля Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ ΠΊΠ»Π΅Ρ‚ΠΊΡƒ (для облСгчСния ΠΊΠΎΡ€Π°Π±Π»ΠΈ Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ автоматичСски). ΠŸΡ€ΠΈ этом ΠΊΠΎΡ€Π°Π±Π»ΡŒ прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сосСдних ΠΊΠ»Π΅Ρ‚ΠΎΠΊ, стоящих Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ. БосСдниС ΠΊΠΎΡ€Π°Π±Π»ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ. ΠŸΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠΌ Π˜Π³Ρ€ΠΎΠΊΠ° являСтся Комп (ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски расставляСт ΠΊΠΎΡ€Π°Π±Π»ΠΈ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠΎΠ»Π΅ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ.

ПослС расстановки начинаСтся Π±ΠΎΠΉ. Он ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹Π΅ выстрСлы Π˜Π³Ρ€ΠΎΠΊΠ° ΠΈ ΠšΠΎΠΌΠΏΠ°. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π² ΠΊΠΎΡ€Π°Π±Π»ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ° участник боя ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ провСдСния Π²Π½Π΅ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ выстрСла. Π˜Π³Ρ€Π° заканчиваСтся ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡƒΡ‡Π°ΡΡ‚Π½ΠΈΠΊΠΎΠ² всСх ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ «ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉ». НаиболСС Π²Π°ΠΆΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ этой ΠΈΠ³Ρ€Ρ‹: Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ расстановки ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ ΠΏΠΎ ΠΏΠΎΠ»ΡŽ, Π²Ρ‹Π±ΠΎΡ€Π° направлСния ΡƒΠ΄Π°Ρ€Π° Компа Π² ΠΏΠΎΠ»Π΅ Π˜Π³Ρ€ΠΎΠΊΠ° ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ нанСсСниС ΡƒΠ΄Π°Ρ€Π° ΠΈΠΌ.

I. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

Π˜Π³Ρ€Ρ‹ ΠΈ ΠΈΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚

Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π°Π΄Π΅Π»Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ. А ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€? БСйчас ΠΌΠ½ΠΎΠ³ΠΎ говорят ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ искусствСнном ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π΅. Π£ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° это, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π•Π³ΠΎ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ (прСдназначСнная для быстрого использования) позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ слова ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π·Π° ΠΌΠΈΠΊΡ€ΠΎΡΠ΅ΠΊΡƒΠ½Π΄Ρ‹.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большими возмоТностями ΠΏΠΎ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π΅Π³ΠΎ логичСский инструмСнтарий вСсьма ΠΎΠ±ΡˆΠΈΡ€Π΅Π½ ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ΡΡ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ эвристичСскиС ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ людьми ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ… Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, ΠΏΡ€ΠΈ построСнии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΈΠ³Ρ€Ρ‹ Π² ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΡ‹Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΡ… ΡˆΠ°Ρ…ΠΌΠ°Ρ‚ΠΈΡΡ‚ΠΎΠ² ΠΌΠΈΡ€Π°.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, люди ΠΈΠΌΠ΅ΡŽΡ‚ нСоспоримыС ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ прСимущСства ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ, Π½ΠΎ Π²Π΅Π΄ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ — это ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ высокоразвитого чСловСчСского ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, взаимодСйствуя с Π½ΠΈΠΌΠΈ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ сталкиваСтся ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ чСловСчСским ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ.

И Π²ΡΠ΅ ΠΆΠ΅ самоС слабоС мСсто ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° — Π΅Π³ΠΎ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚. БСйчас происходит Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ быстроС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ сфСр примСнСния машинного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°, Π½ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π³Π»ΡƒΠ±ΡŒ, Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΡ‚ΠΎΠΉ основС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм ΠΈ ΡΠ΅Ρ‚Π΅ΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ здания ΠΈΠ»ΠΈ прСдприятия. Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Π΅ сСти ΠΈ ΡΠΏΡƒΡ‚Π½ΠΈΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСти.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ находят оптичСскиС Π²ΠΎΠ»ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ связи. Π§Π΅Ρ€Π΅Π· ΠΊΠ°Π½Π°Π»Ρ‹ связи ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, происходит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ объСдинСниС рСсурсов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ становится Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы, ΠΈ ΠΊΠΎΠ³Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ с Π½ΠΈΠΌ Π΄Π΅Π»ΠΎ, Ρ‚ΠΎ ΠΎΠ½ ΡΡ‚алкиваСтся с Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π² ΠΏΡ€ΠΎΡΡ‚ранствС ΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ.

Π§Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π»ΠΈΠ±ΠΎ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π° Π² ΠΈΠ³Ρ€Π΅, Π»ΠΈΠ±ΠΎ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ посрСдника ΠΏΡ€ΠΈ ΠΈΠ³Ρ€Π°Ρ… с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ людьми. А ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°? Π’Π΅Π΄ΡŒ ΠΎΠ½ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ эмоциями, чувствами, Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ Π΄ΡƒΡˆΠΈ ΠΈ ΡΠ΅Ρ€Π΄Ρ†Π°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ громадная, Π½ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Ρ‡Π°ΡΡ‚ΡŒ своСго ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°, ΠΎΠΏΡ‹Ρ‚Π°, Π·Π½Π°Π½ΠΈΠΉ, Π½Π°Π²Ρ‹ΠΊΠΎΠ² с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΡΠΌΠΎΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ окраской. НСдаром говорят ΠΎ Π΄Ρ€ΡƒΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии. А Π²ΠΌΠ΅ΡΡ‚Π΅ с ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈ Ρ‡Π°ΡΡ‚ΡŒ своСго Ρ‚Π΅ΠΏΠ»Π°, своС ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π»ΡŽΠ±ΠΈΡ‚ΡŒ ΠΈ Π½Π΅Π½Π°Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, своС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌΡƒ ΠΌΠΈΡ€Ρƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ появились вмСстС с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ. По ΠΌΠ΅Ρ€Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ машин ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΈ ΠΈΠ³Ρ€Ρ‹. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ заняли Π²Π°ΠΆΠ½ΠΎΠ΅ мСсто Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии Π­Π’Πœ. Π’ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ сфСрС ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обучСния, психологичСской Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΊΠΈ пСрсонала.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π­Π’Πœ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅Π³ΠΎ Π±Π΅Π· примСнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ оборудования («ΠΌΡ‹ΡˆΠ΅ΠΊ», «Π΄ΠΆΠΎΠΉΡΡ‚ΠΈΠΊΠΎΠ²» ΠΈ Π΄Ρ€.) ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ — Π² Π½Π΅ΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ условия, Ρ†Π΅Π»ΡŒ ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π° Π΅Π΅ Π΄ΠΎΡΡ‚иТСния. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ — процСсс, управляСмый ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π’Π΅Ρ‡Π΅Π½ΠΈΠ΅ процСсса оцСниваСтся ΠΏΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ.

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°: ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ срСду, взаимодСйствиС с ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌ ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ситуации.

Π˜Π³Ρ€ΠΎΠ²Π°Ρ срСда — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², связСй Π² ΠΈΠ³Ρ€Π΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊ, Π² ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π°Ρ… игровая срСда прСдставляСт ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ доски, Π΄Π²ΡƒΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Ρ„ΠΈΠ³ΡƒΡ€, ΠΏΡ€Π°Π²ΠΈΠ» пСрСмСщСния Ρ„ΠΈΠ³ΡƒΡ€ ΠΏΠΎ Π΄ΠΎΡΠΊΠ΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΡ… Π²Π·ΡΡ‚ия ΠΈΠ»ΠΈ прСвращСния.

ВзаимодСйствиС с ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌ — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ срСдств, прСдоставляСмых ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅ΠΌΡƒ для измСнСния ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ срСды. Π§Π°Ρ‰Π΅ всСго это ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΡ€ΠΈ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π³ΠΎΠ½ΠΎΠΊ Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ измСняСт Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния ΠΏΠΎ Ρ‚рассС, ΠΏΡ€ΠΈ этом большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ быстрота Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρƒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ трассы, появлСниС прСпятствий (Π½Π° Ρ‚рассС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρ‹ Ρ€Π°Π·Π½ΠΎΠΉ ΠΊΡ€ΡƒΡ‚ΠΈΠ·Π½Ρ‹, ΠΊΠ°ΠΌΠ½ΠΈ, стСкла, Π»ΡƒΠΆΠΈ, ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ занСсти, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π°Π²Π°Ρ€ΠΈΡŽ).

ΠžΡ†Π΅Π½ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ситуации — ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ ΡƒΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ†Π΅Π»ΡŒ повСдСния ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅Π³ΠΎ. Бюда Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ систСма ΠΎΡ‡ΠΊΠΎΠ² ΠΈ ΡˆΡ‚Ρ€Π°Ρ„ΠΎΠ² Π·Π° ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ дСйствия, описаниС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ситуации.

ПослС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΡŽΠΆΠ΅Ρ‚Π°, описания ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ срСды, Π²Ρ‹Π±ΠΎΡ€Π° способов взаимодСйствия с ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌ ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΠΎΡ†Π΅Π½ΠΊΠΈ повСдСния ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅Π³ΠΎ начинаСтся этап создания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜Π³Ρ€ΠΎΠ²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‡Π°Ρ‰Π΅ всСго состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй: пСрвая Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ, Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹, Ρ‚. Π΅. ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ³Ρ€Ρƒ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², вторая — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ процСсс ΠΈΠ³Ρ€Ρ‹ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ (эта Ρ‡Π°ΡΡ‚ΡŒ связана с ΡΡΡ‚СтичСскими ΠΈ ΡΡ€Π³ΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ аспСктами, поэтому Π΅ΠΉ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ся особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, вСдь ΠΈΠ³Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ½ΠΎΡΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅ΠΌΡƒ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅). Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСбольшоС количСство ΡΡŽΠΆΠ΅Ρ‚ΠΎΠ², Ρ‡Π°Ρ‰Π΅ всСго это ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈΠ³Ρ€ ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Ρ… ситуаций, Π½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стороны ΠΈΠ³Ρ€Ρ‹ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎ, Ρ‡Π΅ΠΌ логичСской. ΠžΡΠ½ΠΎΠ²Ρƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ составляСт Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠ°Ρ структура, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Ρ€ΠΈ иСрархичСских уровня (ΠΏΠ»Π°Π½Π°) — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ, тактичСский ΠΈ ΡΡ‚ратСгичСский.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ дСйствий Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ дСйствиями ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅Π³ΠΎ.

ВактичСский ΠΏΠ»Π°Π½ — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… дСйствий, Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΊ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ локальной Ρ†Π΅Π»ΠΈ.

БтратСгичСский ΠΏΠ»Π°Π½ — ΠΏΠ»Π°Π½ всСй ΠΈΠ³Ρ€Ρ‹, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ†Π΅Π»ΠΈ ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ° (ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π³ΠΎΠ½ΠΊΠ°Ρ… Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π°Π²Π°Ρ€ΠΈΠΈ, быстро ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ Ρ„ΠΈΠ½ΠΈΡˆΡƒ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΌΠΎΠ½Ρ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹). ДостиТСниС стратСгичСских Ρ†Π΅Π»Π΅ΠΉ — Π΄Π΅Π»ΠΎ Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΠΎΠ΅. Π›ΠΈΡˆΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ участиС Π² ΠΈΠ³Ρ€Π΅, постиТСниС всСх Π΅Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ, быстрота Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎΠ±ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

II. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния

ΠžΠ±Ρ‰Π°Ρ Π±Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

P1Left ΠΈ P2Left — количСство Π½Π΅ΡƒΠ±ΠΈΡ‚Ρ‹Ρ… ΠΏΠ°Π»ΡƒΠ± ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ ΠΏΠΎΠ»Π΅ΠΉ 1 ΠΈ 2 соотвСтствСнно.

Π‘Π»ΠΎΠΊ-схСмы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉ» состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся всС основныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. На ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ располоТСны ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ события. Π’Π°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ:

Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ (Ρ‚ΡƒΡ‚ ΠΆΠ΅ автоматичСски Ρ€Π°ΡΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π°Π±Π»ΠΈ) ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹;

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… ΠΈΠ³Ρ€Ρ‹;

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ справку ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

НСобходимыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠΈΠ³Ρ€Π° морской Π±ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Visual Basic, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ характСризуСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ — словом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ для ссылки Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит пСрСмСнная, ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ Π²ΠΈΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

S1 (9, 9) as Byte

S2 (9, 9) as Byte — поля 1 ΠΈ 2, содСрТат ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°ΡΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π½ΠΈΡ… кораблях, прострСлянных ΠΈ Π½Π΅ΠΏΡ€ΠΎΡΡ‚рСлянных мСстах. КаТдая ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ 4 значСния: 0 — пусто ΠΈ Π½Π΅ΠΏΡ€ΠΎΡΡ‚рСляно, 1 — нСподбитая Ρ‡Π°ΡΡ‚ΡŒ корабля, 2 — пусто, Π½ΠΎ ΠΏΡ€ΠΎΡΡ‚рСляно, 3 — подбитая Ρ‡Π°ΡΡ‚ΡŒ корабля.

V1 (9,9) as Byte

V2 (9,9) as Byte — Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ S1 (9,9) ΠΈ S2 (9,9), Ρ‚ΠΎΠ»ΡŒΠΊΠΎ содСрТат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ лишь ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ мСстах.

Num — Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ поля. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ 1, Π»ΠΈΠ±ΠΎ 2.

Slozhnost — ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Компа. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ 1 Π΄ΠΎ 9.

StrX, StrY — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ для «ΡƒΠ΄Π°Ρ€Π°». ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ 0 Π΄ΠΎ 9.

P1Left, P2Left — содСрТат количСство «Π½Π΅ΡƒΠ±ΠΈΡ‚Ρ‹Ρ…» сСгмСнтов ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ для ΠΏΠΎΠ»Π΅ΠΉ 1 ΠΈ 2 соотвСтствСнно.

ShotResult — содСрТит Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ послСднСго выстрСла: «Π Π°Π½Π΅Π½», «Π£Π±ΠΈΡ‚», «ΠœΠΈΠΌΠΎ», «ΠŸΠΎΠ²Ρ‚орная ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° (Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅) — Ρ…ΠΎΠ΄ засчитан» ΠΈ «ΠŸΠΎΠ²Ρ‚орная ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° (ΠΌΠΈΠΌΠΎ) — Ρ…ΠΎΠ΄ засчитан». Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ — String.

ShipL — содСрТит Π΄Π»ΠΈΠ½Ρƒ послСднСго «ΡƒΠ±ΠΈΡ‚ΠΎΠ³ΠΎ» корабля (ΠΎΡ‚ 1 Π΄ΠΎ 4).

Moves — количСство ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹Ρ… Ρ…ΠΎΠ΄ΠΎΠ² Компа.

Moixody — количСство ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹Ρ… Ρ…ΠΎΠ΄ΠΎΠ² Π˜Π³Ρ€ΠΎΠΊΠ°.

Err — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ошибки. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ True, Ссли ошибка Π±Ρ‹Π»Π°, Π»ΠΈΠ±ΠΎ False, Ссли Π΅Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΎ.

ErrName — описаниС ошибки, Ссли ΠΎΠ½Π° Π±Ρ‹Π»Π°. Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ — String.

МоТно ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, разбивая Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ логичСскиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’ Visual Basic ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько Π²ΠΈΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Sub (Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ значСния) ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Function (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ значСния) ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Property (ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ значСния), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ссылки.

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹:

DrawSea (Num) — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ всё ΠΏΠΎΠ»Π΅ Π½ΠΎΠΌΠ΅Ρ€ Num

ViewSea (Num) — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ мСста поля Π½ΠΎΠΌΠ΅Ρ€ Num

HideSea (Num) — скрываСт ΠΏΠΎΠ»Π΅ Π½ΠΎΠΌΠ΅Ρ€ Num

NoErr — ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ запись ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅: Π΄Π΅Π»Π°Π΅Ρ‚ Err = False, Π° ErrName = «»

SetShips (Num) — расставляСт ΠΊΠΎΡ€Π°Π±Π»ΠΈ Π½Π° ΠΏΠΎΠ»Π΅ Num случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

Strike (Num) — Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ячСйку Π½Π° ΠΏΠΎΠ»Π΅ Num для «ΠΎΠ³Π½Ρ» ΠΏΠΎ Π½Π΅ΠΉ. Алгоритм эффСктивСн Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡƒΡ€ΠΎΠ²Π½Ρ ΠΈΠ³Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (Slozhnost).

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ StrX ΠΈ StrY, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ X ΠΈ Y Π΄Π»Ρ «Π²Ρ‹ΡΡ‚Ρ€Π΅Π»Π°» (Fire (Num, StrX, StrY)), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Moves Π½Π° 1 Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

Fire (Num, X, Y) — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ «ΠΎΠ³ΠΎΠ½ΡŒ» ΠΏΠΎ ΡΡ‡Π΅ΠΉΠΊΠ΅ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ X, Y Π½Π° ΠΏΠΎΠ»Π΅ Num.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ShotResult ΠΈ ShipL

OpenVSea (Num) — ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΈΠ³Ρ€ΠΎΠΊΡƒ Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΡŽ поля Num

ClearSea (Num) — ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ стираСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± «ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ…» мСстах Π½Π° ΠΏΠΎΠ»Π΅ Num.

CalcShipsLeft — подсчитываСт, сколько «Π½Π΅ΡƒΠ±ΠΈΡ‚Ρ‹Ρ…» сСгмСнтов ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ Π΅ΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ»Π΅ 1 ΠΈ ΠΏΠΎΠ»Π΅ 2, ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: P1Left ΠΈ P2Left.

ОписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Microsoft Visual Basic, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… событий, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ располоТСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:

Β· Label (ΠœΠ΅Ρ‚ΠΊΠ°)

Β· Picture box (ГрафичСскоС ΠΎΠΊΠ½ΠΎ)

Β· Image (Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)

Β· Command button (Кнопка управлСния)

Β· Frame (Π Π°ΠΌΠΊΠ°)

Β· Timer (Π’Π°ΠΉΠΌΠ΅Ρ€)

ОписаниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

Label (ΠœΠ΅Ρ‚ΠΊΠ°) — слуТит для размСщСния Π² Ρ„ΠΎΡ€ΠΌΠ΅ статичСского тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Command button (Кнопка управлСния) — выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ»ΠΈ дСйствиС, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

Image (Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ изобраТСния, Π·Π½Π°Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚Π°Ρ„Π°ΠΉΠ»Ρ‹ Windows, Ρ„Π°ΠΉΠ»Ρ‹ JPEG ΠΈΠ»ΠΈ GIF; ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ° управлСния

Picture box (ГрафичСскоС ΠΎΠΊΠ½ΠΎ) — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ изобраТСния, Π·Π½Π°Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚Π°Ρ„Π°ΠΉΠ»Ρ‹ Windows, Ρ„Π°ΠΉΠ»Ρ‹ JPEG ΠΈΠ»ΠΈ GIF. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ тСкст ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов управлСния

Timer (Π’Π°ΠΉΠΌΠ΅Ρ€) — выполняСт события Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Frame (ΠšΠ°Π΄Ρ€) — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов управлСния, Ρ‚. Π΅. ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Morskoi_boi. Form

Dim Moixody As Byte

Private Sub CmdNewgame_Click ()

lblKompxody.Caption = «0»

lblMoixody.Caption = «0»

Label6.Caption = «20»

Label7.Caption = «20»

Moves = 0

Moixody = 0

SetShips (1)

SetShips (2)

DrawSea (1)

HideSea (2)

ClearSea (1)

ClearSea (2)

OpenVSea (1)

CalcShipsLeft

Picture2.Visible = False

End Sub

Private Sub cmdFor_autor_Click ()

Spravka.Show

End Sub

Private Sub cmdExit_Click ()

End

End Sub

Private Sub cmdPravila_Click ()

Pravila_igry.Show

End Sub

Private Sub CmdComp_Proff_Click ()

Main

End Sub

Private Sub Form_Load ()

Main

End Sub

Private Sub P2_Click (Index As Integer)

Moixody = Moixody + 1

lblMoixody.Caption = Str (Moixody)

X = Int (Index / 10)

Y = Index — (X * 10)

Fire 2, X, Y

res = ShotResult

Label1.Caption = ShotResult

Label2.Caption = ShipL

ViewSea (2)

lblKompxody.Caption = Str (Moves)

If res = «Π Π°Π½Π΅Π½» Or res = «Π£Π±ΠΈΡ‚» Then GoTo 2

1: Pl2. Enabled = False

Strike (1)

Wait 0.5

Fire 1, StrX, StrY

res = ShotResult

ViewSea (1)

lblKompxody.Caption = Str (Moves)

If res = «Π Π°Π½Π΅Π½» Or res = «Π£Π±ΠΈΡ‚» Then GoTo 1

Pl2.Enabled = True

2: CalcShipsLeft

Label6.Caption = Str (P1Left) + ««

Label7.Caption = Str (P2Left) + ««

If P1Left = 0 Then If P1Left = P2Left Then MsgBox «ΠΠΈΡ‡ΡŒΡ!» + vbCrLf + «Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Π΅Π·Π΅Ρ‚!!!», «Π˜ΡΡ…ΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹: ΠΠΈΡ‡ΡŒΡ»: Exit Sub

If P2Left = 0 Then MsgBox «Π˜Π³Ρ€ΠΎΠΊ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ» Π½Π° «+ Str (Moixody) + «-ΠΌ Ρ…ΠΎΠ΄Ρƒ!!!», «Π˜ΡΡ…ΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹: ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»Π΅Π½ΠΈΡ»: Exit Sub

If P1Left = 0 Then MsgBox «ΠšΠΎΠΌΠΏ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ» Π½Π° «+ Str (Moves) + «-ΠΌ Ρ…ΠΎΠ΄Ρƒ!!!», «Π˜ΡΡ…ΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹: ΠŸΠΎΡ€Π°ΠΆΠ΅Π½ΠΈΠ΅»: Exit Sub

End Sub

Sub Main ()

Morskoi_boi.Show

SetShips (1)

SetShips (2)

DrawSea (1)

HideSea (2)

For i = 0 To 99

Morskoi_boi.P1(i).BorderStyle = 1

Morskoi_boi.P2(i).BorderStyle = 1

Next i

Dim lv As String

Do

lv = InputBox («Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ (1−9):», «Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ!!!»)

Slozhnost = Val (lv)

Loop While Slozhnost < 1 Or Slozhnost > 9

CmdComp_Proff.Caption = «Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Компа: «+ Str (Slozhnost)

End Sub

Public Sub Wait (seconds) 'Π—Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° — ΠΏΠ°ΡƒΠ·Π° Π½Π° (n) сСкунд

Timer1.Enabled = True

Morskoi_boi.Timer1.Interval = 1000 * seconds

While Me. Timer1.Interval > 0

DoEvents

Wend

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer ()

Timer1.Interval = 0

End Sub

Procedurs_Modul. bas

Public S1(9, 9) As Byte, S2(9, 9) As Byte, V1(9, 9) As Byte, V2(9, 9) As Byte

Public P1Left As Integer, P2Left As Integer

Public Err As Boolean, Moves As Integer, ErrName As String, ShotResult As String

Public ShipL As Byte, Slozhnost As Byte, StrX As Byte, StrY As Byte

Sub DrawSea (Num As Byte) ' - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ всё ΠΏΠΎΠ»Π΅ Π½ΠΎΠΌΠ΅Ρ€ Num

'Если ΠΏΠΎΠ»Π΅ № 1, Ρ‚ΠΎ:

If Num = 1 Then

For i = 0 To 9

For j = 0 To 9

Morskoi_boi.P1(j * 10 + i).Picture = Morskoi_boi.Sprite (S1(j, i))

Next j

Next i

Exit Sub

End If

'Если ΠΏΠΎΠ»Π΅ № 2, Ρ‚ΠΎ:

If Num = 2 Then

For i = 0 To 9

For j = 0 To 9

Morskoi_boi.P2(j * 10 + i).Picture = Morskoi_boi.Sprite (S2(j, i))

Next j

Next i

Exit Sub

End If

End Sub

Sub ViewSea (Num As Byte) '- ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ мСста поля Π½ΠΎΠΌΠ΅Ρ€ Num

'Если ΠΏΠΎΠ»Π΅ № 1, Ρ‚ΠΎ:

If Num = 1 Then

For i = 0 To 9

For j = 0 To 9

Morskoi_boi.P1(j * 10 + i).Picture = Morskoi_boi.Sprite (V1(j, i))

Next j

Next i

Exit Sub

End If

'Если ΠΏΠΎΠ»Π΅ № 2, Ρ‚ΠΎ:

If Num = 2 Then

For i = 0 To 9

For j = 0 To 9

Morskoi_boi.P2(j * 10 + i).Picture = Morskoi_boi.Sprite (V2(j, i))

Next j

Next i

Exit Sub

End If

End Sub

Sub HideSea (Num As Byte) ' - скрываСт ΠΏΠΎΠ»Π΅ Π½ΠΎΠΌΠ΅Ρ€ Num

'Если ΠΏΠΎΠ»Π΅ № 1, Ρ‚ΠΎ:

If Num = 1 Then

For i = 0 To 9

For j = 0 To 9

Morskoi_boi.P1(j * 10 + i).Picture = Morskoi_boi.Sprite (0)

Next j

Next i

Exit Sub

End If

'Если ΠΏΠΎΠ»Π΅ № 2, Ρ‚ΠΎ:

If Num = 2 Then

For i = 0 To 9

For j = 0 To 9

Morskoi_boi.P2(j * 10 + i).Picture = Morskoi_boi.Sprite (0)

Next j

Next i

Exit Sub

End If

End Sub

Sub SetShips (Num As Byte) ' - расставляСт ΠΊΠΎΡ€Π°Π±Π»ΠΈ Π½Π° ΠΏΠΎΠ»Π΅ Num случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

Dim S0(9, 9) As Byte

Dim SX (3) As Byte, SY (3) As Byte

10 'Начало расстановки

For i = 0 To 9

For j = 0 To 9

S0(j, 1) = 0

Next j

Next i

'Π§Π΅Ρ‚Π²Π΅Ρ€Π½Ρ‹Π΅

L = 4 'Π΄Π»ΠΈΠ½Π°

GoSub 100

'Π’Ρ€ΠΎΠΉΠ½Ρ‹Π΅

For m = 1 To 2

L = 3 'Π΄Π»ΠΈΠ½Π°

GoSub 100

Next m

'Π”Π²ΠΎΠΉΠ½Ρ‹Π΅

For m = 1 To 3

L = 2 'Π΄Π»ΠΈΠ½Π°

GoSub 100

Next m

'ΠžΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅

For m = 1 To 4

L = 1 'Π΄Π»ΠΈΠ½Π°

GoSub 100

Next m

GoTo 99

Exit Sub

100 'Расстановка ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ

Err = False

tries = 100

tries = tries — 1

If tries < 0 Then Err = True: GoTo 10

Randomize

X = Int (Rnd * 10)

Y = Int (Rnd * 10)

If X = 10 Or Y = 10 Then GoTo 100

v = Int (Rnd * 2000)

v = Int (v / 1000)

For i = 1 To L

SX (i — 1) = X

SY (i — 1) = Y

If v = 0 Then X = X + 1 Else Y = Y + 1

Next i

For i = 1 To L

X = SX (i — 1)

Y = SY (i — 1)

If X > 9 Or Y > 9 Then GoTo 101

For j = -1 To 1

For k = -1 To 1

X1 = X + j

If X1 > 9 Or X1 < 0 Then GoTo 102

Y1 = Y + k

If Y1 > 9 Or Y1 < 0 Then GoTo 102

If S0(X1, Y1) <> 0 Then GoTo 101

102 Next k

Next j

Next i

For i = 1 To L

X = SX (i — 1)

Y = SY (i — 1)

S0(X, Y) = 1

Next i

Return

99 For i = 0 To 9

For j = 0 To 9

If Num = 1 Then S1(j, i) = S0(j, i) Else S2(j, i) = S0(j, i)

Next j

Next i

End Sub

Sub Fire (Num, XPos, YPos) '- ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ «ΠΎΠ³ΠΎΠ½ΡŒ» ΠΏΠΎ ΡΡ‡Π΅ΠΉΠΊΠ΅ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ X, Y Π½Π° ΠΏΠΎΠ»Π΅ Num. На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ShotResult ΠΈ ShipL

X = XPos

Y = YPos

'ВСст поля 1

If Num = 1 Then

If S1(X, Y) = 0 Then S1(X, Y) = 2: V1(X, Y) = 2: ShotResult = «ΠœΠΈΠΌΠΎ»: Exit Sub

If S1(X, Y) = 1 Then S1(X, Y) = 3: V1(X, Y) = 3: GoSub 100: Exit Sub

If S1(X, Y) = 2 Then ShotResult = «ΠŸΠΎΠ²Ρ‚орная ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° (ΠΌΠΈΠΌΠΎ) — Ρ…ΠΎΠ΄ засчитан»: Exit Sub

If S1(X, Y) = 3 Then ShotResult = «ΠŸΠΎΠ²Ρ‚орная ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° (Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅) — Ρ…ΠΎΠ΄ засчитан»: Exit Sub

End If

If S2(X, Y) = 0 Then S2(X, Y) = 2: V2(X, Y) = 2: ShotResult = «ΠœΠΈΠΌΠΎ»: Exit Sub

If S2(X, Y) = 1 Then S2(X, Y) = 3: V2(X, Y) = 3: GoSub 100: Exit Sub

If S2(X, Y) = 2 Then ShotResult = «ΠŸΠΎΠ²Ρ‚орная ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° (ΠΌΠΈΠΌΠΎ) — Ρ…ΠΎΠ΄ засчитан»: Exit Sub

If S2(X, Y) = 3 Then ShotResult = «ΠŸΠΎΠ²Ρ‚орная ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° (Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅) — Ρ…ΠΎΠ΄ засчитан»: Exit Sub

Exit Sub

100 'ВСст: Ρ€Π°Π½Π΅Π½ ΠΈΠ»ΠΈ ΡƒΠ±ΠΈΡ‚

c = 0

Dim CX (16) As Byte, CY (16) As Byte

'Π’Π½ΠΈΠ·

For i = X To X + 3

If i > 9 Then GoTo 101

If Num = 1 Then

If S1(i, Y) = 1 Then GoTo 110

If S1(i, Y) = 0 Or S1(i, Y) = 2 Then GoTo 101

If S1(i, Y) = 3 Then CX© = i: CY© = Y: c = c + 1

End If

If Num = 2 Then

If S2(i, Y) = 1 Then GoTo 110

If S2(i, Y) = 0 Or S2(i, Y) = 2 Then GoTo 101

If S2(i, Y) = 3 Then CX© = i: CY© = Y: c = c + 1

End If

Next i

101 'Π’Π²Π΅Ρ€Ρ…

For i = X To X — 3 Step -1

If i < 0 Then GoTo 102

If Num = 1 Then

If S1(i, Y) = 1 Then GoTo 110

If S1(i, Y) = 0 Or S1(i, Y) = 2 Then GoTo 102

If S1(i, Y) = 3 Then CX© = i: CY© = Y: c = c + 1

End If

If Num = 2 Then

If S2(i, Y) = 1 Then GoTo 110

If S2(i, Y) = 0 Or S2(i, Y) = 2 Then GoTo 102

If S2(i, Y) = 3 Then CX© = i: CY© = Y: c = c + 1

End If

Next i

102 'Π’Π»Π΅Π²ΠΎ

For i = Y To Y — 3 Step -1

If i < 0 Then GoTo 103

If Num = 1 Then

If S1(X, i) = 1 Then GoTo 110

If S1(X, i) = 0 Or S1(X, i) = 2 Then GoTo 103

If S1(X, i) = 3 Then CX© = X: CY© = i: c = c + 1

End If

If Num = 2 Then

If S2(X, i) = 1 Then GoTo 110

If S2(X, i) = 0 Or S2(X, i) = 2 Then GoTo 103

If S2(X, i) = 3 Then CX© = X: CY© = i: c = c + 1

End If

Next i

103 'Π’ΠΏΡ€Π°Π²ΠΎ

For i = Y To Y + 3

If i > 9 Then GoTo 104

If Num = 1 Then

If S1(X, i) = 1 Then GoTo 110

If S1(X, i) = 0 Or S1(X, i) = 2 Then GoTo 104

If S1(X, i) = 3 Then CX© = X: CY© = i: c = c + 1

End If

If Num = 2 Then

If S2(X, i) = 1 Then GoTo 110

If S2(X, i) = 0 Or S2(X, i) = 2 Then GoTo 104

If S2(X, i) = 3 Then CX© = X: CY© = i: c = c + 1

End If

Next i

104 ' Π£Π±ΠΈΡ‚

m = 0

Dim x0(10), y0(10)

ShotResult = «Π£Π±ΠΈΡ‚»

For i = 0 To c — 1

'подсчитываСм, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹Π» ΡƒΠ±ΠΈΡ‚

X1 = CX (i)

Y1 = CY (i)

For L = 0 To m

If x0(L) = X1 Then If y0(L) = Y1 Then GoTo 106

Next L

x0(m) = X1

y0(m) = Y1

m = m + 1

106 For j = -1 To 1

For k = -1 To 1

X1 = CX (i) + k

If X1 < 0 Or X1 > 9 Then GoTo 105

Y1 = CY (i) + j

If Y1 < 0 Or Y1 > 9 Then GoTo 105

If Num = 1 Then If S1(X1, Y1) = 0 Then S1(X1, Y1) = 2: V1(X1, Y1) = 2

If Num = 2 Then If S2(X1, Y1) = 0 Then S2(X1, Y1) = 2: V2(X1, Y1) = 2

105 Next k

Next j

Next i

For i = 0 To m

If x0(i) = XPos Then If y0(i) = YPos Then GoTo 107

Next i

m = m + 1

107 ShipL = Str (m)

Return

110 'Π Π°Π½Π΅Π½

ShotResult = «Π Π°Π½Π΅Π½»

Return

End Sub

Sub OpenVSea (Num As Byte)

If Num = 1 Then

For i = 0 To 9

For j = 0 To 9

V1(j, i) = S1(j, i)

Next j

Next i

Exit Sub

End If

For i = 0 To 9

For j = 0 To 9

V2(j, i) = S2(j, i)

Next j

Next i

Exit Sub

End Sub

Sub Strike (Num As Byte) '- Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ячСйку Π½Π° ΠΏΠΎΠ»Π΅ Num для «ΠΎΠ³Π½Ρ» ΠΏΠΎ Π½Π΅ΠΉ.

'На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ StrX ΠΈ StrY, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ

'Π² качСствС X ΠΈ Y Π΄Π»Ρ «Π²Ρ‹ΡΡ‚Ρ€Π΅Π»Π°» (Fire (Num, StrX, StrY)), Π°

'Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Moves Π½Π° 1 Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

500 If Num < 1 Or Num > 2 Then GoTo 99

'Π”Π΅Π»Π°Π΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ оттиск Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ поля, дальшС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π½ΠΈΠΌ

Dim S0(9, 9) As Byte

If Num = 1 Then

For i = 0 To 9:

For j = 0 To 9:

S0(i, j) = V1(i, j):

Next j:

Next i

End If

If Num = 2 Then

For i = 0 To 9:

For j = 0 To 9:

S0(i, j) = V2(i, j):

Next j:

Next i

End If

'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½Ρ‹Π΅

cnt = 0

For i = 0 To 9

For j = 0 To 9

If S0(j, i) < 2 Then cnt = cnt + 1

Next j

Next i

If cnt = 0 Then Err = True: ErrName = «ΠΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ прострСлСнного поля»: Exit Sub

For i = 0 To 9

For j = 0 To 9

If S0(j, i) = 3 Then X = j: Y = i: GoSub 120

Next j

Next i

'Если Π½Π΅Ρ‚:

GoSub 110

'Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (Ссли ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ > 3) :)

If Slozhnost > 3 Then

If Slozhnost = 4 Then skv = 150: If Moves < 30 Then GoTo 100

If Slozhnost = 5 Then skv = 300: If Moves < 15 Then GoTo 100

If Slozhnost = 6 Then skv = 500: If Moves < 10 Then GoTo 100

If Slozhnost = 7 Then skv = 600: If Moves < 5 Then GoTo 100

If Slozhnost = 8 Then skv = 700

If Slozhnost = 9 Then skv = 850

Let v = Int (Rnd * 1000)

Let v = Int (v / skv)

If v <> 1 Then GoTo 100

For i = 1 To 50

GoSub 110

If Num = 1 Then If S1(X, Y) = 1 Then GoTo 100

If Num = 2 Then If S2(X, Y) = 1 Then GoTo 100

Next i

End If

'ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ рядом с ΡƒΠΆΠ΅ прострСлСнными мСстами (Ссли ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ > 0)

If Slozhnost > 0 Then

For i = 0 To (Slozhnost * 2)

GoSub 110

If X > 0 Then If Y > 0 Then If S0(X — 1, Y — 1) = 1 Then GoTo 100

If X > 0 Then If Y > 0 Then If S0(X — 1, Y — 1) = 3 Then GoTo 100

If X < 9 Then If Y < 9 Then If S0(X + 1, Y + 1) = 1 Then GoTo 100

If X < 9 Then If Y < 9 Then If S0(X + 1, Y + 1) = 3 Then GoTo 100

If X > 0 Then If Y < 9 Then If S0(X — 1, Y + 1) = 1 Then GoTo 100

If X > 0 Then If Y < 9 Then If S0(X — 1, Y + 1) = 3 Then GoTo 100

If X < 9 Then If Y > 0 Then If S0(X + 1, Y — 1) = 1 Then GoTo 100

If X < 9 Then If Y > 0 Then If S0(X + 1, Y — 1) = 3 Then GoTo 100

Next i

End If

100 'БтрСляСм ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅

If S0(X, Y) > 1 Then GoTo 500

Moves = Moves + 1

StrX = X

StrY = Y

Exit Sub

110 'Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ для выстрСла

Randomize

X = Int (Rnd * 10)

Y = Int (Rnd * 10)

'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, стрСляли Π»ΠΈ ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ‚ΡƒΠ΄Π°

If S0(X, Y) = 2 Or S0(X, Y) = 4 Then GoTo 110

Return

120 'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ смСТныС с ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½Ρ‹ΠΌ сСктором мСста

m = 0

Dim mx (4) As Byte, my (4) As Byte

conf = 0

'Π’Π²Π΅Ρ€Ρ…

If X > 0 Then

X1 = X — 1

Y1 = Y

If S0(X1, Y1) = 3 Then conf = 1

If conf <> 2 Then If S0(X1, Y1) = 0 Or S0(X1, Y1) = 1 Then m = m + 1: mx (m) = X1: my (m) = Y1

End If

121 'Π’Π½ΠΈΠ·

If X < 9 Then

X1 = X + 1

Y1 = Y

If S0(X1, Y1) = 3 Then conf = 1

If conf <> 2 Then If S0(X1, Y1) = 0 Or S0(X1, Y1) = 1 Then m = m + 1: mx (m) = X1: my (m) = Y1

End If

122 'Π’Π»Π΅Π²ΠΎ

If Y > 0 Then

X1 = X

Y1 = Y — 1

If S0(X1, Y1) = 3 Then conf = 2

If conf <> 1 Then If S0(X1, Y1) = 0 Or S0(X1, Y1) = 1 Then m = m + 1: mx (m) = X1: my (m) = Y1

End If

123 'Π’ΠΏΡ€Π°Π²ΠΎ

If Y < 9 Then

X1 = X

Y1 = Y + 1

If S0(X1, Y1) = 3 Then conf = 2

If conf <> 1 Then If S0(X1, Y1) = 0 Or S0(X1, Y1) = 1 Then m = m + 1: mx (m) = X1: my (m) = Y1

End If

124 'ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ

If m < 1 Then GoTo 130

If conf <> 0 Then If m < 1 Then GoTo 130

v = Int (Rnd * 100)

n = 0

For k = 1 To m

n = n + 1

If n > m Then n = 1

Next k

If conf = 2 Then If mx (n) <> X Then GoTo 130

If conf = 1 Then If my (n) <> Y Then GoTo 130

X = mx (n)

Y = my (n)

GoTo 100

130 Return

99 'Ошибка

Err = True

ErrName = «ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΠžΠœΠ•Π  (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ 1 ΠΈΠ»ΠΈ 2)»

End Sub

Sub CalcShipsLeft () — ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚, сколько «Π½Π΅ΡƒΠ±ΠΈΡ‚Ρ‹Ρ…» сСгмСнтов ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ Π΅ΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ»Π΅ 1 ΠΈ ΠΏΠΎΠ»Π΅ 2, ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: P1Left ΠΈ P2Left.

P1Left = 0

P2Left = 0

For i = 0 To 9

For j = 0 To 9

If S1(j, i) = 1 Then P1Left = P1Left + 1

If S2(j, i) = 1 Then P2Left = P2Left + 1

Next j

Next i

End Sub

Sub ClearSea (Num As Byte) '- ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ стираСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± «ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ…» мСстах Π½Π° ΠΏΠΎΠ»Π΅ Num.

For i = 0 To 9

For j = 0 To 9

If Num = 1 Then V1(j, i) = 0

If Num = 2 Then V2(j, i) = 0

Next j

Next i

Exit Sub

End Sub

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

Π’ Π΄Π°Π½Π½ΠΎΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±Ρ‹Π»Π° рассмотрСна тСория ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° создания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΠ³Ρ€Ρ‹ «ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉ».

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π±Ρ‹Π»Π° исслСдована тСория создания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ срСду программирования Visual Basic 6.0. Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ «ΠœΠΎΡ€ΡΠΊΠΎΠΉ Π±ΠΎΠΉ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΈΠ³Ρ€Ρ‹.

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ Π±Ρ‹Π» Π΄Π°Π½ тСорСтичСский ΠΎΠ±Π·ΠΎΡ€ исслСдуСмой Π·Π°Π΄Π°Ρ‡ΠΈ; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π±Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°; описана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°; продСмонстрирован внСшний Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ