Рис. 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