Object pascal, Какую тему выбрать? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Object pascal, Какую тему выбрать? |
cooler |
Сообщение
#41
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Вот кое-что решил взять:
Можно сделать, чтобы во время матча(до матча) можно было менять стратегию на игру. Например, атакующая и защищающаяся.Если по ходу матча команда забивает гол=> защищаемся и у команды соперника меньше шансов забить гол. У меня даже уже есть мысли по реализации этих методов. Имеем: объект TeamStrategy(метод play), у него 2 наследника: Attacktrategy(метод play) и DefendStrategy(метод play) см.рис. Отсюда полиморфизм: для разных стратегий - разный play. Выскажите пожалуйста своё мнение.Помогите хоть немного с реализацией(хоть для начала описание) Play будет виртуальным?? Эскизы прикрепленных изображений |
volvo |
Сообщение
#42
|
Гость |
Цитата Play будет виртуальным?? Да, в этом случае Play должен быть виртуальным, иначе наследование теряет смысл... А насчет реализации... Приходит в голову вот такой вариант использования:
Используя это, ты сможешь на лету менять стратегию игры команды, для этого достаточно будет вызвать SetStrategy в любой момент... |
cooler |
Сообщение
#43
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Спасибо, volvo, за понимание.
Вот какая вещь уже долго мучаюсь. Ведь простая штука. Или вовсе отупел. Как сделать, чтобы при выводе на экран каждый игрок писался на отдельной строке. Куда сунуть приплюсовку координат yy? В цикл пытался - не фурычит. procedure TFootballer.print_info; P.S так как test_print не вызывается из основной программы, то я сделал printer. |
volvo |
Сообщение
#44
|
Гость |
Добавляешь параметр в метод print_info...
procedure TFootballer.print_info(i: integer);... и все в порядке... А вообще - ты лучше сразу приведи код в порядок, иначе потом не разберешься в том, что делаешь... Не надо заранее описывать переменные, и пользоваться переменными, которые описаны выше по тексту программы. Вообще, в идеале, переменная должна иметь как можно меньшее "время жизни", для чего описываться она должна локально, как можно ближе к тому месту, где используется. Например: var(небольшое отклонение от темы, но я думаю оно будет полезно) У тебя же вычисления "местного значения" (я про текущую позицию по X) почему-то производятся с использованием переменной, описания которой я не вижу. Посему можно предположить, что и в каком-нибудь другом месте у тебя будет соблазн использовать эту же переменную, а вдруг ты забудешь ее обнулить или еще как-то инициализировать? Результат - потратишь очень много времени на отладку, потому что в зависимости от порядка вызова методов будешь получать разные результаты... |
cooler |
Сообщение
#45
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Я вернулся.
Да. Про локальные и глобальные переменные знаю. Учил, экзамен сдавал... Просто привычка плохая: после того как чего-нибудь переделаю переменные, которые объявлял стереть забуду иль ещё что. Решил с графикой не маяться и дальше в "тексте" делать. Меню только оставил. Сделал процедуру, которая меняет игроков местами. Стал делать процедуру расчета общего коэффициэнта команды, да вот какая штука: переменная коэф. игрока у меня в классе Футболист, а процедура Команды. Как мне переменную оттуда вытянуть, чтобы сложить и поделить? Похоже для махинаций с тактиками и составами нужно будет коэффициэнты делить на коэф. вртаря, защитника и т.д. Потому что, если я вратаря поставлю в нападение, то ничего не изменится. А при определении победителя сравнивать коэф. вратаря, защиты ... по отдельности. P.S. Код -ESC- скажите. Сообщение отредактировано: cooler - |
Tan |
Сообщение
#46
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
Код ESC - 27
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
cooler |
Сообщение
#47
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Нужно, наверное,сделать функцию, которая будет инициализировать коэф.Но как?
Перемещение игроков внутри одной команды сделал. Между командами как? Здесь событиями нужно делать? Например, у одной команды пользователь покупает игрока => отправляется событие, в команду пользователя прибавляется игрок => тоже событие. И после каждого изменения состава пересчитывать общий коэф. команды. Помогите реализовать хоть основу. |
volvo |
Сообщение
#48
|
Гость |
Цитата Помогите реализовать хоть основу. Ты бы показал, что у тебя сейчас-то реализовано, а то ты каждый раз меняешь концепцию, за тобой не угонишься. Неохота собирать какой-то отвлеченный пример, лучше было бы добавить функциональность в уже существующую программу... |
cooler |
Сообщение
#49
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Выкладываю на ваш суд...
Понимаю, программа мягко говоря не лишена изъянов... Да и переменные.. Но всё же Прикрепленные файлы PROG.TXT ( 1.12 килобайт ) Кол-во скачиваний: 221 MODUL.TXT ( 10.68 килобайт ) Кол-во скачиваний: 232 squad1.txt ( 2.18 килобайт ) Кол-во скачиваний: 234 |
cooler |
Сообщение
#50
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Просили, а что не смотрите?
Я конечно понимаю, что лень скачивать, но выкладывать всю программу в сообщение.... |
cooler |
Сообщение
#51
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Извините за off,
но просто к сведению: cooler на форуме http://vlady.uzelok.net/smf/index.php и я - 2 разных человека, а то сегодня случайно забрёл и обнаружил (кстати ник как-нибудь можно сменить, а то он мне уже самому не нравится) А насчет программы, скоро попробую выложить что-нибудь новенькое Сообщение отредактировано: cooler - |
cooler |
Сообщение
#52
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Может у кого-нибудь есть примеры как реализуются события?
Или просто какой-нибудь FAQ, а то вообще практически ничего не знаю |
cooler |
Сообщение
#53
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Меню конечно нужно переделывать,ну это потом.
Вот что, когда я считаю общий коэф. команды проблема: Нужно создать процедуру, которая рассчитывает общий коэф. команды. И при изменении состава этот коэф. сразу же бы пересчитывался. Т.е этот коэф. игрока для команды нужно инициализировать в этой процедуре. То же самое, если коэф. игроков разделить на вратарский,защ...... Сам-то я эту процедуру напишу, только как инициализировать коэффициенты? ***************** P.S. Эта тема по-тихонечку превращается в разговор с самим собой.... Со стороны кажется, наверное, странным |
cooler |
Сообщение
#54
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Вас что так разочаровала моя программа????!!!!?
Почему ничего не пишете? Может я глупые вопросы задаю? |
cooler |
Сообщение
#55
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
7ое сообщение подряд и ни одного ответа...
Аууууууууу!?? В чём дело?? |
striker |
Сообщение
#56
|
Пионер Группа: Пользователи Сообщений: 86 Пол: Мужской Репутация: 0 |
ty.
Вот тебе сообщение :-) Как хоть что-нибудь будет работать выложи. Сообщение отредактировано: striker - |
cooler |
Сообщение
#57
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Хотелось бы по делу...
Попытка - не пытка. Вот конструктор Игрока, процедура для расчёта коэф. команды,процедура изменений в составе. Что нужно написать вместо вопросов, чтобы значение переменной к передавалось в процедуру расчёта коэффициента? constructor TFootballer.init(AName: string; AnAge: integer; |
Текстовая версия | 8.05.2024 11:37 |