Министерство науки и образования РФ
Федеральное агентство по образованию
Государственное образовательное учреждение
Профессионального высшего образования
Иркутский государственный технический университет
Факультет кибернетики
Кафедра вычислительной техники
Отчет
О курсовой работе
Игра "Кости"
По дисциплине "Программирование на языке высокого уровня"
Выполнил:
Студент гр. ЭВМ-08-2
Григорьев Д.Е.
Проверила:
Егорова Н.Н.
Иркутск 2010
Оглавление
Сравнение языков - Паскаль и С++
Разработать программу, моделирующую игру "Кости". Играющий называет любое число от 2 до 12 и ставку, которую он делает в этот ход. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока. Программа работает с использованием генератора псевдослучайных чисел.
Таблица внешних спецификаций
№ | Имя | Тип | Назначение | Одз |
1 | a,b | Integer | Значения бросков кубиков | [1. .6] |
2 | X | Integer | Задуманное число | [2. .12] |
4 | Ns | Integer | Текущий счет | [0…1000] |
5 | st | Integer | ставка | [1. ns] |
6 | Sum | Integer | Сумма броска | [2. .12] |
7 | K | Integer | Всего игр | [0. .2147483647] |
8 | v | Integer | Количество выигрышей | [0. .2147483647] |
9 | P | integer | Количество проигрышей | [0. .2147483647] |
10 | Name | Ansistring | Имя игрока | Все символы |
Cхема иерархии модулей
№ | Имя | Назначение | Параметры |
1 | Form1 | Модуль программы для регистрации игрока | - |
2 | Form2 | Модуль программы для игры | - |
3 | MainMenu | Меню программы | Файл: Новая игра; Выход.Справка: О программе; Правила игры |
4 | Прием ставки | Принимает ставку игрока | St-ставка, x-задуманное число, ns-ограничение ставки |
5 | Бросок костей | Бросает игральные кости и выводит результат | A,b-значение броска, sum-сумма броска, k-количество бросков, v-количество выигрышей, p-количество проигрышей, ns-текущий счет. |
6 | Сброс результатов | Возвращает исходное значение переменных p,v,k,ns | I, v, l, ns |
7 | Новая игра | Начинает новую игру | I, v, l, ns. |
8 | Выход | Выход из игры | - |
9 | Form4 | О программе | - |
10 | Form5 | Правила игры | - |
11 | Form3 | Игра проиграна | - |
Таблица тестов
№ | Входные данные | Результат | Комментарии | ||
name | x | st | |||
1 | Name | 3 | 10 | Первый кубик = 3; Второй кубик = 1;Сумма кубиков = 4; Вы проиграли!! =)Количество поражений: 1 Количество побед: 0Соотношение побед и поражений: 0 к 1 | - |
2 | Name | 5 | 5 | Первый кубик = 4; Второй кубик = 1;Сумма кубиков = 5; Вы проиграли!! =)Вы выйграли! Ваш выигрышь увеличин в 4 раза =)Количество поражений: 1 Количество побед: 1Соотношение побед и поражений: 1 к 1 | - |
3 | Name | 7 | 15 | Первый кубик = 4; Второй кубик = 2;Сумма кубиков = 6; Вы выиграли! = (Количество поражений: 1 Количество побед: 2Соотношение побед и поражений: 2 к 1 | - |
4 | Name | 0 | 12 | Проверьте введенные данные | - |
5 | Name | 15 | 21 | Проверьте введенные данные | - |
6 | Name | 2 | Проверьте введенные данные | ||
7 | Name | 3 | Проверьте введенные данные | ||
8 | Name | 4 | 50 | Проверьте введенные данные | При текущем счете меньшем чем ставка |
9 | - | - | Введите имя игрока |
При запуске программы появляется окно регистрации игрока (рис.1).
Рис.1 Регистрация игрока
По нажатию кнопки "Начать игру" появляется основное окно программы (рис.2).
Рис.2 Основное окно программы
Для начала игры необходимо сделать ставку, не превышающую текущий счет и задумать число от 2 до 12. После заполнения полей "Ставка" и "Число" нажимаем кнопку "Принять". После чего активируется кнопка "Бросить кубики" (Рис.4)
Рис.4 "Бросить кубики"
После броска кубиков программа считает их сумму и выводит результат в поле расположенное справа от кнопки, в случае если сумма кубиков меньше задуманного числа вы выигрываете, и ваша ставка прибавляется к текущему счету (рис.5).
Если сумма кубиков равна задуманному числу, то ваша ставка умножается на 4 и так же прибавляется к текущему счету (Рис.6).
В случае если сумма кубиков больше задуманного числа Вы проигрываете и ваша ставка отнимается от текущего счета (рис.7). Если у вас закончились очки появится диалоговое окно, в котором вам будут предложены следующие действия (рис.8).:
"Повторить" - начинает игру заново.
"Выход" - выходит из игры.
Рис.5 Сумма кубиков меньше задуманного числа
Рис.6 Сумма кубиков равна ставке
Рис.7 Сумма кубиков больше задуманного числа.
Рис.6 Вы проиграли!
Для очистки результатов нажмите кнопку "Очистить результаты".
Чтобы ознакомится с правилами игры, нажмите: "Справка" - > "Правила игры".
Для начала новой игры зайдите в меню "файл"->"Новая Игра", для выхода "файл"-> "Выход".
Определение языка программирования.
Язык программирования - формальная знаковая система, предназначенная для записи программ, задающих алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Типы данных и их описание
Pascal | Диапазон значений | Размер | C++ |
Типы, имеющие одинаковый диапазон значений | |||
Shortint | -128. .127 | 1 байт | Char |
Byte | 0. .255 | 1 байт | Unsigned char |
Word | 0. .65535 | 2 байта | Unsigned short |
Integer | -32767. .32768 | 2 байта | Short int |
Longint | -2147483648…2147483647 | 4/2 байта | Long int |
Extended | 3.4E-4932. .1.1E+4932 | 10 байт | Long Double |
Типы, имеющие разный диапазон значений | |||
Integer | -32767. .32768 | 2 байта | - |
Real | 2.9E-39. .1.7E+38 | 6 байт | - |
Single | 1.5E-45…3.4E+38 | 4 байта | - |
Double | 5.0E-324...1.7E+308 | 8 байт | - |
Comp | -9.2E+18…9.2E+18 | 8 байт | - |
- | Зависит от реализации | 2/4 байта | Int |
- | Зависит от реализации | 2/4 байта | Unsigned int |
- | 0. .4294967295 | 4 байта | Unsigned longint |
- | +- (3.4E-38…3.4E+38) | 4 байта | Float |
- | +- (1.7E-308…1.7E+308) | 8 байт | Double |
- | +- (3.4E-4932…1.1E+4932) | 10 байт | Long double |
Описание основных операторов
Pascal | C++ | |
Структурный оператор | ||
Begin…End; | {…} | |
Условные операторы | ||
If <условие>then <действие> | if <условие> <действие> или<условие?: действие> | |
If <условие> then <действие>Else <действие> | if <условие> <действие>else <действие> или<условие?: действие: действие> | |
Case <переменная> of<значение>: действие;<значение>: действие;End; | Switch{Case <значение>:{…}Case <значение>^{…} | |
Циклические операторы | ||
For <переменная>: =<значение1> to <значение2> do … | for (<переменная>=<значение1>;<переменная> <><значение2>;<переменная>++ (--);){…} | |
While <условие> do … | While <условие>{…} | |
Repeat<действие>Until <условие> | Do{…}While <условие> | |
Операторы ввода-вывода | ||
Read (); | Cin>>; | |
Write (); | Cout<<; | |
Логические операторы | ||
Not<переменная> | ! =<переменная> | |
<переменная1> and <переменная2> | <переменная1> & <переменная2> | |
<переменная1> or <переменная2> | <переменная1> || <переменная2> |