Лабораторные работы (2008) (Отчет)

Посмотреть архив целиком















Отчет


по лабораторной работе №3

по дисциплине «Теория игр»

















Выполнила

студентка группы А-13-04

Пушкина С.В.

Проверила Гречкина П.В.












2008 год.











Содержание



1. Постановка задачи……………………………………………………………………..3


2. Описание предметной области………………………………………………………..3


3. Имитационная модель……...………………………………………………………….3

Типы ресурсов……………………………………………………………………...3

Ресурсы……………………………………………………………………………..4

Образцы операций…………………………………………………………………4

Операции…………………………………………………………………………...6


4. Интерфейс...………………………………………………………………………….....7

























1. Постановка задачи.


В лабораторной работе на базе РДО построено игровое приложение, в котором объект, называемый битой, сбивает с помощью шарика ячейки. Когда все ячейки оказываются сбитыми или бита не успеет поймать шарик, игра заканчивается.




2. Описание предметной области.


На поле имеется 17 неподвижных ячеек. Есть бита, которая с помощью шарика, сбивает эти ячейки (то есть, в тот момент, когда шарик долетает до какой-то из ячеек и «касается» ее, эта ячейка становится невидимой). Бита движется горизонтально по нижнему краю поля. Она всегда находится в движении, следуя движению шарика.

Игра заканчивается в двух случаях: если шарик «сбил» все ячейки, и если бита не успела поймать и отбить шарик.




3. Имитационная модель.


Типы ресурсов.

В данной модели есть три типа ресурсов: бита, шарик и ячейка:


$Resource_type ресурс_Бита : permanent

$Parameters

length : real

speed : integer

X : real

status : (Готов, Неготов)

$End


$Resource_type ресурс_Шарик : permanent

$Parameters

speed : real

angle : real

X : real

Y : real

status : (Готов, Неготов)

$End


$Resource_type ресурс_Ячейка : permanent

$Parameters

X : real

Y : real

length : real

height : real

number : integer

visible : (Да, Нет) = Да

$End

Тип ресурса «бита» имеет такие параметры как длину, скорость, координату по горизонтали и состояние.

Тип ресурса «шарик» характеризуется скоростью, углом отскока,необходимым для движения шарика, координатами и состояниям на данный момент.

Тип ресурса «ячейка» описывается координатами, длиной, шириной, порядковым номером и состоянием видимости.



Ресурсы.

Ресурсами модели являются бита, шарик и неподвижные ячейки.

$Resources

бита : ресурс_Бита 70 5 100 Готов

шарик : ресурс_Шарик 7 0.61 450 290 Готов

ячейка_1 : ресурс_Ячейка 0 5 80 10 1 *

ячейка_2 : ресурс_Ячейка 104 5 80 10 2 *

ячейка_3 : ресурс_Ячейка 208 5 80 10 3 *

ячейка_4 : ресурс_Ячейка 312 5 80 10 4 *

ячейка_5 : ресурс_Ячейка 416 5 80 10 5 *

ячейка_6 : ресурс_Ячейка 520 5 80 10 6 *

ячейка_7 : ресурс_Ячейка 33 20 80 10 7 *

ячейка_8 : ресурс_Ячейка 146 20 80 10 8 *

ячейка_9 : ресурс_Ячейка 259 20 80 10 9 *

ячейка_10 : ресурс_Ячейка 372 20 80 10 10 *

ячейка_11 : ресурс_Ячейка 485 20 80 10 11 *

ячейка_12 : ресурс_Ячейка 0 35 80 10 12 *

ячейка_13 : ресурс_Ячейка 104 35 80 10 13 *

ячейка_14 : ресурс_Ячейка 208 35 80 10 14 *

ячейка_15 : ресурс_Ячейка 312 35 80 10 15 *

ячейка_16 : ресурс_Ячейка 416 35 80 10 16 *

ячейка_17 : ресурс_Ячейка 520 35 80 10 17 *

$End


Образцы операций.

Образец операции движения шарика:

$Pattern Образец_Движение_Шарика : operation

$Relevant_resources

_шарик : шарик Keep Keep

$Time = 0.1

$Body

_шарик

Choice from _шарик.status = Готов and

_шарик.Y > 0 and _шарик.Y < height

Convert_begin

status set Неготов

Convert_end

X set Смещение_шарика_X()

Y set Смещение_шарика_Y()

status set Готов

$End

Образец операции движения биты:

$Pattern Образец_Движение_Биты : operation

$Relevant_resources

_бита : ресурс_Бита Keep Keep

$Time = 0.1

$Body

_бита

Choice from _бита.status = Готов

Convert_begin

status set Неготов

Convert_end

X set Смещение_биты(_бита.X, _бита.length, _бита.speed, шарик.X)

status set Готов

$End


Образец операции отскока шарика от ячейки:

$Pattern Образец_Отскок_Шарика_От_Ячейки : operation

$Parameters number : integer

$Relevant_resources

_ячейка : ресурс_Ячейка Keep NoChange

_шарик : шарик Keep NoChange

$Time = 0.1

$Body

_ячейка

Choice from _ячейка.visible = Да and _ячейка.number = number

Convert_begin

visible set Нет

_шарик

Choice from ( _шарик.Y <= _ячейка.Y + _ячейка.height and

_шарик.Y >= _ячейка.Y - 10 and

_шарик.X >= _ячейка.X - 10 and

_шарик.X <= _ячейка.X + _ячейка.length )

Convert_begin

angle set Угол_отскока_от_ячейки(_ячейка.X, _ячейка.Y, _ячейка.X + _ячейка.length, _ячейка.Y + _ячейка.height)

$End


Образец операции отскока шарика от стенки:

Pattern Образец_Отскок_Шарика_От_Стенки : rule

$Relevant_resources

_шарик : шарик Keep

$Body

_шарик

Choice from (_шарик.X <= 0 and cos(_шарик.angle) < 0) or

(_шарик.X >= width - 10 and cos(_шарик.angle) > 0) or

(_шарик.Y <= 0 and sin(_шарик.angle) > 0)

Convert_rule

angle set Угол_отскока_от_стенки()

X set Смещение_шарика_X()

Y set Смещение_шарика_Y()

$End





Образец операции отскока шарика от биты:

$Pattern Образец_Отскок_Шарика_От_Биты : operation

$Relevant_resources

_бита : ресурс_Бита NoChange NoChange

_шарик : шарик Keep NoChange

$Time = 0.1

$Body

_бита

Choice NoCheck

_шарик

Choice from (_шарик.Y < height and

_шарик.Y >= height - 20 and sin(_шарик.angle) < 0 and

_шарик.X >= _бита.X - _бита.length/2 and _шарик.X <= _бита.X + _бита.length/2)

Convert_begin

angle set Угол_отскока_от_биты()

$End



Операции.

Ниже перечислены операции в представленной в приложении модели:

Операция1 : Образец_Движение_Биты

Операция2 : Образец_Движение_Шарика

Операция3 : Образец_Отскок_Шарика_От_Биты

Операция4 : Образец_Отскок_Шарика_От_Стенки

Операция5 : Образец_Отскок_Шарика_От_Ячейки 1

Операция6 : Образец_Отскок_Шарика_От_Ячейки 2

Операция7 : Образец_Отскок_Шарика_От_Ячейки 3

Операция8 : Образец_Отскок_Шарика_От_Ячейки 4

Операция9 : Образец_Отскок_Шарика_От_Ячейки 5

Операция10 : Образец_Отскок_Шарика_От_Ячейки 6

Операция11 : Образец_Отскок_Шарика_От_Ячейки 7

Операция12 : Образец_Отскок_Шарика_От_Ячейки 8

Операция13 : Образец_Отскок_Шарика_От_Ячейки 9

Операция14 : Образец_Отскок_Шарика_От_Ячейки 10

Операция15 : Образец_Отскок_Шарика_От_Ячейки 11

Операция16 : Образец_Отскок_Шарика_От_Ячейки 12

Операция17 : Образец_Отскок_Шарика_От_Ячейки 13

Операция18 : Образец_Отскок_Шарика_От_Ячейки 14

Операция19 : Образец_Отскок_Шарика_От_Ячейки 15

Операция20 : Образец_Отскок_Шарика_От_Ячейки 16

Операция21 : Образец_Отскок_Шарика_От_Ячейки 17


Поскольку все операции обрабатываются поочередно, операцию «Образец_Отскок_Шарика_От_Ячейки» нужно описывать для всех имеющихся ячеек, иначе при столкновении шарика и ячейки шарик ее просто не будет «видеть».








4. Интерфейс.


Интерфейс состоит из одного кадра анимации. На картинке графически отображаются ячейки, бита и шарик.



7




Случайные файлы

Файл
102169.rtf
80763.rtf
60354.rtf
177003.rtf
157293.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.