Оценить:
 Рейтинг: 0

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 3: Программирование на Visual C# искусственного интеллекта (продолжение 2)

Год написания книги
2022
<< 1 ... 5 6 7 8 9 10 11 12 13 ... 26 >>
На страницу:
9 из 26
Настройки чтения
Размер шрифта
Высота строк
Поля

В верхней части экрана Банк уменьшается на величину Ставки не в нашу пользу.

15. При помощи клавиши Enter набираем (или не набираем, оставляя начальный счёт) карты до удовлетворяющего нас результата, например, до 18 (рис. 1.22) и при помощи мыши даём команду Банкомёту набирать карты себе.

Рис. 1.20. Мы проиграли. Рис. 1.21. У Банкомёта – очко.

Рис. 1.22. Мы выиграли. Рис. 1.23. Превышение очков у Банкомёта.

Банкомёт, к нашей радости, набирает всего 17 очков, и мы видим приятное для нас сообщение «Вы выиграли».

В верхней части экрана Банк увеличивается на величину Ставки в нашу пользу.

Звучат аплодисменты в наш адрес в виде файла pj_claps. wav.

16. При помощи клавиши Enter набираем (или не набираем, оставляя начальный счёт) карты до удовлетворяющего нас результата, например, до 20 (рис. 1.23) и при помощи мыши даём команду Банкомёту набирать карты себе.

Банкомёт, к нашей радости, набирает 22 очка, и мы видим приятное для нас сообщение «Превышение очков (у Банкомёта)».

В верхней части экрана Банк увеличивается на величину Ставки в нашу пользу.

17. При помощи клавиши Enter набираем (или не набираем, оставляя начальный счёт) карты до удовлетворяющего нас результата, например, до 17 (рис. 1.24) и при помощи мыши даём команду Банкомёту набирать карты себе.

Рис. 1.24. Равное количество очков. Рис. 1.25. Туз с Дамой – это PocketJack.

Банкомёт, к нашей радости, набирает также 17 очков. Согласно правилам, при равенстве очков победителем считается тот, кто первым набрал это количество очков, т.е. игрок. И мы видим приятное для нас сообщение «Вы выиграли». Это правило можно перепрограммировать в приведённой далее программе, установив, например, неизменность Банка при ничьей. В верхней части экрана Банк увеличивается на величину Ставки в нашу пользу.

18. При помощи клавиши Enter получаем новую сдачу карт, и, к нашей радости, мы сразу же набираем 21 очко (или коротко, «очко»), причём не просто «очко». Просто «очко» – это Туз с десяткой. А Туз с Валетом, Дамой, Королём или десяткой даёт 21 очко и называется PocketJack, который бьёт даже 21 очко у соперника. И мы видим приятное для нас сообщение «Вы выиграли» (рис. 1.25).

В верхней части экрана Банк увеличивается на величину Ставки в нашу пользу.

Звучит радостная мелодия со словами PocketJack в виде файла pj_pj. wav (в этом имени pj и есть сокращение слова PocketJack).

19. Напомним, что

13 карт 1, 2, 3, …,13 первой масти – это трефы (club),

13 карт 14, 15, 16, …, 26 второй масти – это бубны (diamond),

13 карт 27, 28, 29, …, 39 третьей масти – это черви (heart),

13 карт 40, 41, 42, …, 52 последней четвертой масти – это пики (spade).

Первая карта любой масти – Туз (Ace – A).

Значения очков каждой карты следующие:

Туз (Ace – A) = 1 или 11;

как 1-я, 2-я или 3-я карта – Туз даёт 11 очков;

с Валетом, Дамой и Королём, Туз даёт 11 очков и в сумме 10+11=21 эти две карты называются PocketJack, который бьёт карты соперника (игрока или Банкомёта), даже набравшие 21;

как 4-я и последующая карта – Туз даёт 1 очко;

цифры на картах от 2 до 9 означают очки этой карты;

карта с числом 10, Валет (Jack – J), Дама (Queen – Q), Король (King – K) = по 10 очков.

20. Банкомёт сдаёт карты с единственной колоды карт.

21. Банкомёт будет сдавать себе карты, пока не достигнет 17 или больше.

22. Первую карту банкомёта можно запрограммировать так, что она будет сдаваться лицевой стороной вниз и невидимой.

23. Мы должны или оставить Ставку по умолчанию, или установить новую вашу Ставку до сдачи карт (в последнем случае используем команды «Ставка +” и «Ставка -” в Меню для элемента управления MenuStrip).

24. Наше значение Банка все время показывается на экране. Если значение Банка станет ниже нашей Ставки, нам предложат начать новую игру.

25. Когда мы набрали карты, мы можем приостановить игру, выбрав в Меню команду Останов. Банкомёт покажет свою карту (если до этого она была невидима).

26. Схема оплаты:

проигравший платит победителю по договорённости, например, 1:1.

27. Чтобы начать новую игру, необходимо при помощи мыши в Меню выбрать команду Выход, а затем ещё раз нажать клавишу Enter.

28. Если в игре по очереди участвуют несколько игроков, то победителем считается игрок, который, например, за одно и то же для всех игроков время набрал больший Банк. Здесь возможны различные варианты, в зависимости от наших желаний.

29. Игра в очко желает вам успехов во всех играх.

На основании этих правил игры можно разработать другие правила этой или другой подобной игры с внесением соответствующих изменений в приведённую далее программу (если будет необходимость в этих изменениях).

1.18. Создание проекта

Создаём проект по обычной схеме: в VS в панели New Project мы выбираем Templates, Visual C#, Windows Classic Desktop, Windows Forms App (.NET Framework), в окне Name записываем имя проекта PocketJack и щёлкаем OK. Это имя проекта далее будет использоваться в программе. Поэтому, если в окне Name мы запишем другое имя проекта, отличное от PocketJack, то в приведённой далее программе в строках кода по загрузке графических и звуковых файлов, а также имя пространства имён во всех наших файлах (кроме Form1.cs) необходимо будет заменить PocketJack на новое имя.

Создаётся проект, появляется форма Form1 (см. приведённые в правилах игры рисунки) в режиме проектирования. Проектируем (или оставляем по умолчанию) форму, как подробно описано выше с размерами формы, например, 361; 408. Чтобы изображения были лучше видны на форме, в панели Properties (для Form1) в свойстве BackColor вместо заданного по умолчанию фона Control выбираем белый фон Window.

Если в игре применяется много графических файлов, то их целесообразно разместить в одной папке с именем, например, images. Для добавления в проект первой папки, в панели Solution Explorer (рис. 1.26 – 1.28) выполняем правый щелчок по имени проекта, в контекстном меню выбираем Add, New Folder, в поле появившегося значка папки записываем это имя images и нажимаем клавишу Enter. Добавляем в эту папку images файл 0.gif (для скрытой карты Банкомёта с изображением средневековой башни, показанной выше на самом первом рисунке) по стандартной схеме, а именно: выполняем правый щелчок по имени этой папки, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне «Files of type» выбираем «All Files», в центральном окне находим и выделяем имя файла (загруженного, например, из Интернета или из указанной в списке литературы ссылки) и щёлкаем кнопку Add (или дважды щёлкаем по имени файла). В панели Solution Explorer мы увидим этот файл.

Рис. 1.26. Папка «images» (верхняя часть). Рис. 1.27. Папка «images» (средняя часть).

Рис. 1.28. Файлы проекта. Рис. 1.29. Выбираем Embedded Resource.

Теперь этот же файл 0.gif встраиваем в проект в виде ресурса по разработанной выше схеме, а именно: в панели Solution Explorer выделяем появившееся там имя файла, а в панели Properties (для данного файла) в свойстве Build Action вместо заданного по умолчанию выбираем значение Embedded Resource, рис. 1.29.

Аналогично добавляем в эту папку и встраиваем в виде ресурса остальные графические файлы:

файлы для 52 карт, показанных выше
<< 1 ... 5 6 7 8 9 10 11 12 13 ... 26 >>
На страницу:
9 из 26