Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 8: Программирование на Visual C# искусственного интеллекта. Издание 2. Продолжение 1
Шрифт:
Рис. 1.14. Заставка игры с новым счётом. Рис. 1.15. Очередные начальные наборы карт.
Рис. 1.16.
9. При помощи клавиши Enter берём следующую карту. К нам пришла тройка, появилось количество очков 17 наших карт (рис. 1.17).
10. Ситуация непростая, т.к. набранное нами число 17 равно числу 17, на котором Банкомёт останавливает набор карт, и близко к числу 21, за которым начинается перебор карт.
У нас те же два варианта действий. Видя наши очки и очки банкомёта, либо,
по первому варианту, при помощи клавиши Enter нам взять следующую карту, но велика вероятность перебора карт (больше 21),
либо, по второму варианту, при помощи мыши в Меню выбрать команду “Take a card to yourself” (попросить банкомёт брать карты себе), с надеждой на перебор у него.
Решаемся, и при помощи клавиши Enter берём следующую карту. Но опять, увы, к нам пришла не та карта, и мы видим грустное сообщение “Вы перебрали” с итоговыми нашими очками (рис. 1.18).
Звучит недовольство с помощью звукового файла pj_busted.wav.
В верхней части экрана Банк уменьшается на величину Ставки, например, с 505 до 500 и счёт игры становится таким: Банк: 500 Ставка: 5
Рис. 1.18. У нас опять превышение очков. Рис. 1.19. Заставка игры с новым счётом.
11. Продолжаем игру, например, на каком-то этапе игры нажимаем клавишу Enter.
Появляется фон игры в виде приведённого выше изображения bank.jpg и новый счёт игры не только в верхней части экрана (как свойство Text формы Form1), но и в центральной части экрана в виде крупного изображения, нарисованного методом DrawString (рис. 1.19):
Банк: 490 Ставка: 5
12. Для осуществления нового набора карт мы можем выбрать команду “Сдача карт” (при помощи мыши) или нажать клавишу Enter.
Нажимаем клавишу Enter. Появляется новый начальный набор карт у нас и Банкомёта.
Дальше поступаем аналогично, сначала сами набираем (или не набираем, оставляя начальный вариант) карты до удовлетворяющего нас результата, а затем даём команду Банкомёту набирать карты себе.
Теперь кратко опишем возможные типичные варианты игры.
13. При помощи клавиши Enter набираем (или не набираем, оставляя начальный счёт) карты до удовлетворяющего нас результата, например, до 16 (рис. 1.20) и при помощи мыши даём команду Банкомёту набирать карты себе.
Банкомёт, к нашему неудовольствию, набирает 20 очков, и мы видим неприятное для нас сообщение “Вы потеряли”.
В верхней части экрана Банк уменьшается на величину Ставки не в нашу пользу.
14. При помощи клавиши Enter получаем новую сдачу карт, однако Банкомёт, к нашему неудовольствию, сразу же набирает 21 очко (или коротко, “очко”), и мы видим неприятное для нас сообщение “Вы потеряли” (рис. 1.21).
В верхней части экрана Банк уменьшается на величину Ставки не в нашу пользу.
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 очков. Согласно правилам, при равенстве очков победителем считается тот, кто первым набрал это количество очков, т.е. игрок. И мы видим приятное для нас сообщение “Вы выиграли”. Это правило можно перепрограммировать в приведённой далее программе, установив, например, неизменность Банка при ничьей. В верхней части экрана Банк увеличивается на величину Ставки в нашу пользу.