Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
lartia
2 / 2 / 0
Регистрация: 09.06.2015
Сообщений: 169
1

Параметры персонажей

02.01.2018, 22:48. Просмотров 195. Ответов 4
Метки нет (Все метки)

Бодрого времени суток, господа.

Преамбула.
Есть такие игрушки - текстовые. Этот тип игр один из самых древних. Многие из вас тоже с этим типом сталкивались. Например в "Космических Рейнджерах 1 и2". До сих пор выпускаются эти игры (не КР-ы) в виде интерактивных книг. Вообще этот тип игр популярен в узком кругу ограниченных лиц... Или как-то по другому... Неважно.

Собственно Амбула.

Решил сделать подобную игрушку. И понял, что в паскаль я до сих пор мало что знаю. Вопросов просто куча. Но регламент, поэтому пока только вопрос номер один.

Есть 7 персонажей. У каждого 3 изменяемых параметра: выносливость, мастерство и удача. Собственно вопрос - как это лучше сделать? Из более приемлемого варианта мне приходит в голову массив. 3 варианта:
- на каждого персонажа по массиву с тремя значениями - самый примитивный и, как мне кажется, не оптимальный и глупый.
- 3 массива на каждый параметр с 7-ю значениями-персонажами - по моему еще хуже.
- двумерный массив - как более цивилизованный.

Может есть какие-то другие, более приемлемые варианты? Без массивов такое возможно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2018, 22:48
Ответы с готовыми решениями:

Параметры-значения и параметры-переменные подпрограмм
Помогите пожалуйста в решении: С помощью подпрограмм ввода и вывода вектора...

Нетипизированные Параметры
Помогите пожалуйста РАЗОБРАТЬСЯ с нетипизированными параметрами. В процедуре...

Параметры монитора
"Ввести рарешение экрана и частоту вертикальной развертки в массив записей и...

Функции. Формальные параметры
помогите решить: даны 2 целых числа а и b. Пользуясь функцией которая...

Практика Тексты и параметры
1)Описать процедуру AddLineNumbers(S, N, K, L), добавляющую в начало каждой...

4
ФедосеевПавел
Модератор
3675 / 2043 / 843
Регистрация: 01.02.2015
Сообщений: 6,799
02.01.2018, 23:21 2
Персонаж характеризуется свойствами. Можно описать типом "запись" (record) или "класс" (class).

https://www.freepascal.org/docs-html...x39-550003.3.2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type
  TPersone = record
    fProperty1: integer;
    fProperty2: char;
    fProperty3,
    fProperty4: integer;
  end;
 
  TPlayers=array [0..6] of TPersone;
.........
var
  X: TPlayers;
begin
.........
  writeln(X[3].Property4);
.........
end.
0
lartia
2 / 2 / 0
Регистрация: 09.06.2015
Сообщений: 169
03.01.2018, 12:36  [ТС] 3
Спасибо большое. Я, почему-то совсем забыл про записи.
А про тип класс хотелось бы узнать подробнее. Это уже из области ООП?
0
ФедосеевПавел
Модератор
3675 / 2043 / 843
Регистрация: 01.02.2015
Сообщений: 6,799
03.01.2018, 13:25 4
Да, class из ООП. Это другое мировоззрение (парадигма).

Т.к. Вы учитесь - выбирайте любой путь и проходите его. Думаю, что раз вы выполняете уже в процедурном стиле - продолжайте record'ом. По завершению данного проекта по книгам разберётесь с теорией ООП, имеющимися готовыми библиотеками и следующий проект попробуйте с class. Только не затягивайте.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26149 / 17526 / 6950
Регистрация: 22.10.2011
Сообщений: 30,862
Записей в блоге: 6
03.01.2018, 13:44 5
Просто добавлю, что в современном FPC присутствуют так называемые Advanced Records (расширенные структуры), которые в принципе мало чем отличаются от классов (разве что наследование не поддерживают), а все остальное - и конструкторы, и свойства, и разные уровни доступа к полям/методам, и приватные типы, и классовые (они же статические, если брать терминологию C++) переменные/методы - есть.

И всего-то нужно добавить строку
Pascal
1
{$modeswitch advancedrecords}
в начало исходника
1
03.01.2018, 13:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2018, 13:44

Найти некоторые параметры вектора.
Дан вектор А а) найти минимальный элемент и его координату среди четных ячеек...

параметры- сложные типы данных
дан цело цисленный массив, состоящия из 12 элементов. опредилить сумму...

Формальные и фактические параметры в подпрограммах
Можете объяснить механизм передачи параметров и назвать правило соответствия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru