Игра кости (2018)

Игра написана мной где то в 2018-м году в рамках обучения студента программированию. Я тогда отказывался, мол мне это не по силам в такие короткие сроки, без внятного техзадания, но студент был упорным и в кноце концов я сделал ему эту игру.

На самом деле здесь оказалось всё довольно просто, однако из за отсутствия ТЗ я сделал игру так, как сам ее представлял. Студент был безумно доволен, на том и разошлись)

Даже спустя два года я понимаю как она работает (что удивительно), хотя сейчас конечно же всё сделал бы по-другому. Особенно мне не нравится интерфейс 🙂

Суть игры проста – загадываем цифру, жмем кнопку бросить кости. Если угадали – выигрыш, нет – тогда в силу вступают правила:

Собственно так выглядело ТЗ (итоговое) изначально оно было немножко другим.
Классика!

Игра написана на языке C#. Вместо Windows Forms я решил использовать WPF. Все формы в игре описаны языком разметки XAML. Рекорды сохраняются в таблице локальной базы SQLite. Игровой лог хранится в файле GameLog.txt

Игровой процесс просто до безобразия и заключается в тыкании одной кнопки до победы или поражения:

Скучный игровой процесс

Модель кубика взял где то из бесплатных наборов, а файл .mtl сделал в Blender

Окно рекордов выглядит так:

В принципе, кому интересно – можно потыкать. Игра прекрасно работает на Windows 10

Ниже описание файлов проекта:

Ниже описание файлов проекта:

Resources\background.jpg – зеленый фон
Resources\cube.mtl – файл материала модели кубика
Resources\cube.obj – описание модели кубика
Resources\Dicedata – база Sqlite с таблицей рекордов
Resources\dicesimg.jpg – картинка для окна About
Resouces\DIGITALDREAM.ttf – цифровой шрифт

about.xaml – описание формы about
about.xaml.cs – класс логики формы about
app.xaml – описание приложения xaml
app.xaml.cs – класс логики приложения, остался поумолчанию.
ApplicationContext.cs – класс контекста приложения для доступа к базе
Game.cs – основной класс логики игры
GameLog.txt – файл журнала игры
helper.xaml – форма с помощью по игре
helper.xaml.cs – логика формы с помощью по игре
InputNameDialog.xaml – форма запроса имени
InputNameDialog.xaml.cs – логика формы запроса имени
LogWindow.xaml – форма отображения журнала игры
LogWindow.xaml.cs – логика формы журнала игры
MainWindow.xaml – главная форма игры
MainWindow.xaml.cs – логика главной формы игры
ScoreRecord.cs – класс записи в таблице рекордов
TopScoreWindow.xaml – форма таблицы рекордов
TopScoreWindow.xaml.cs – логика формы таблицы рекордов

Сами исходники я только что отправил в гитхаб, можно посмотреть здесь:

https://github.com/rst10h/DiceGame

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>