Читаем Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 8: Программирование на Visual C# искусственного интеллекта. Издание 2. Продолжение 1 полностью

Создаётся проект, появляется форма 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.gif, 10.gif, 11.gif, 12.gif, …, 52.gif,

файл bank.jpg фона экрана, также показанного выше,

файл рисунка загрузки loading.gif, который появляется в начале и исчезает после окончания загрузки в программу всех графических и звуковых файлов

Добавляем в проект звуковой файл pj_bg_noise.wav (для имитации нервного шума групп поддержки игрока и Банкомёта) по стандартной схеме, а именно: выполняем правый щелчок по имени этой папки, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне “Files of type” выбираем “All Files”, в центральном окне находим и выделяем имя файла (загруженного, например, из Интернета или из указанной в списке литературы ссылки) и щёлкаем кнопку Add (или дважды щёлкаем по имени файла). В панели Solution Explorer мы увидим этот файл.

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

pj_busted.wav – звук неудовольствия группы поддержки при переборе карт игроком;

pj_claps.wav – звук аплодисментов группы поддержки при выигрыше игрока на данной сдаче карт;

pj_pj.wav – радостный шум группы поддержки и голос за кадром, произносящий PocketJack при выигрыше игрока на данной сдаче карт.

Напомним, что добавлять в проект указанные выше файлы можно как по одному, так и все сразу, и выбирать значение Embedded Resource можно как для одного файла, так и для всех файлов сразу (после их выделения или только одной мышью, или мышью с нажатой клавишей Shift – для выделения всех соседних файлов после щелчка только первого и последнего файлов, или мышью с нажатой клавишей Ctrl – для выделения всех файлов в различных местах).

В данном проекте, DirectX не применяется.

1.19. Код программы

Открываем файл Form1.cs (например, по схеме: File, Open, File) и в самом верху импортируем пространства имён для управления соответствующими классами:

using System.Reflection; //Namespace for class Assembly.

using System.Media; //Namespace for class SoundPlayer.

using System.IO; //Namespace for class Stream.

В классе Form1 нашего проекта записываем следующие переменные и методы.

Листинг 1.1. Переменные и методы.

//Shoe of cards:

CardShoe shoe;

CardHand playerHand = new CardHand;

Card dealerHoleCard;

CardHand dealerHand = new CardHand;

//Bank of a game:

Pot pot;

//We declare an object for a help form:

Form2 helpForm;

Image loadingImage = null;

Image bankImage = null;

public enum GameMode

{

LoadingDisplay,

PlacingBets,

PlayerActive,

PlayerWon,

PlayerBust,

PocketJack,

DealerActive,

DealerWon,

DealerBust,

Push

}

GameMode modeValue;

GameMode mode

{

get

{

return modeValue;

}

set

{

switch (value)

{

case GameMode.LoadingDisplay:

BetMinusToolStripMenuItem1.Enabled = false;

BetPlusToolStripMenuItem.Enabled = false;

HitMeToolStripMenuItem.Enabled = false;

StayToolStripMenuItem.Text = "Point";

StayToolStripMenuItem.Enabled = false;

MenuToolStripMenuItem.Text = "21";

MenuToolStripMenuItem.Enabled = false;

break;

case GameMode.PlacingBets:

BetMinusToolStripMenuItem1.Enabled = true;

BetPlusToolStripMenuItem.Enabled = true;

HitMeToolStripMenuItem.Enabled = false;

StayToolStripMenuItem.Text = "Себе";

StayToolStripMenuItem.Enabled = true;

Перейти на страницу:

Похожие книги

ЕГЭ-2024. История. 16 тематических вариантов. ЕГЭ близко. 862-2020 гг
ЕГЭ-2024. История. 16 тематических вариантов. ЕГЭ близко. 862-2020 гг

Сборник соответствует 3 требованиям:Задания в сборнике тематические, т.е. соответствуют той или иной теме по хронологии. Выдержать это требование было очень сложно, но именно такие задания наиболее полезны для начинающих.Задания соответствуют формату ЕГЭ, насколько это возможно, учитывая п. 1. Например, в каждом варианте ЕГЭ должны быть задания про ВОВ. Но зачем выполнять их человеку, который только начал проходить Древнюю Русь? Поэтому мы заменили эти задания на те, которые соответствуют периоду, но тоже будут полезны для практики. Зато общая нагрузка при выполнении варианта будет сопоставима с тем, что будет на реальном экзамене, и ты сможешь реально оценивать свои силы.Задания примерно соответствуют ЕГЭ по уровню сложности. Конечно это понятие растяжимое, но мы постарались соблюсти баланс.В этом сборнике представлены 16 вариантов заданий по периодам с древности до наших дней.

Анатолий Анатольевич Сухарев , Виктория Александровна Юршина

Школьные учебники / Образование и наука
Все произведения школьной программы в кратком изложении. 9 класс
Все произведения школьной программы в кратком изложении. 9 класс

Помимо краткого содержания произведений (но вместе с тем достаточно подробного, чтобы ответить на любой вопрос), в книге содержатся конспекты критических статей, биографические сведения об авторах, анализ произведений и многое другое. Основной задачей авторов пособия было предоставить читателям то, что им может понадобиться при изучении литературы в школе. Поэтому в книгу вошли все произведения, составляющие школьную программу, а также те, которые изучаются факультативно («по выбору учащихся», «по выбору учителя»). Книга будет незаменимым помощником при повторении пройденного материала, а также при сдаче экзаменов.В конце пособия отдельным разделом помещены сведения по теории литературы, изучаемые в данном классе. В книгу также входят программные произведения зарубежных авторов, их биографические сведения и краткий очерк творчества.

Игорь Олегович Родин

Школьные учебники / Образование и наука