Форум программистов, компьютерный форум, киберфорум
Наши страницы

Free Pascal

Войти
Регистрация
Восстановить пароль
 
lartia
2 / 2 / 0
Регистрация: 09.06.2015
Сообщений: 159
#1

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

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

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

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

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

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

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

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

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

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

Параметры монитора - Pascal
"Ввести рарешение экрана и частоту вертикальной развертки в массив записей и вывести их ввиде таблицы " Помогите пож-ста решить...

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

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

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

4
ФедосеевПавел
Модератор
2602 / 1505 / 632
Регистрация: 01.02.2015
Сообщений: 5,239
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
Сообщений: 159
03.01.2018, 12:36  [ТС] #3
Спасибо большое. Я, почему-то совсем забыл про записи.
А про тип класс хотелось бы узнать подробнее. Это уже из области ООП?
0
ФедосеевПавел
Модератор
2602 / 1505 / 632
Регистрация: 01.02.2015
Сообщений: 5,239
03.01.2018, 13:25 #4
Да, class из ООП. Это другое мировоззрение (парадигма).

Т.к. Вы учитесь - выбирайте любой путь и проходите его. Думаю, что раз вы выполняете уже в процедурном стиле - продолжайте record'ом. По завершению данного проекта по книгам разберётесь с теорией ООП, имеющимися готовыми библиотеками и следующий проект попробуйте с class. Только не затягивайте.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24644 / 16314 / 5017
Регистрация: 22.10.2011
Сообщений: 28,892
Записей в блоге: 5
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
Привет! Вот еще темы с ответами:

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

Параметры, виды параметров. Язык JCL - Pascal
составить общую структуру задания. написать задание в соответствии со схемой(cм.вложение). Указать виды параметров и их назначение у...

Чем отличаются формальные и фактические параметры в Pascal - Pascal
Подскажите пожалуйста чем отличаются формальные и фактические параметры в Pascal. Как объявляются локальные и глобальные переменные ?...

откуда программа берёт параметры функции WinMain? - Pascal
Здрасьте. Ответьте мне пожалуйста на несложный вопросик. Никак не могу догнать откуда программа на паскале берёт параметры функции WinMain....


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

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

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