Футбольный менеджер comes back, Теперь на Delphi |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Футбольный менеджер comes back, Теперь на Delphi |
cooler |
18.03.2008 20:11
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Продолжаю написание игры футбольный менеджер.
Теперь на Delphi. Т.к почти еще ничего не знаю надеюсь на вашу помощь. Для начала: как сделать выбор 1 пункта из нескольких? (при выборе в зависимости от пункта переменной присваивается значение) Это могут быть "радио"- кнопки или выбор из списка. Не могу разобраться как связать фому с unit'ом. Набросайте пожалуйста как сделать так: см.рис Вобщем пока проблемы интерфейса. Ещё: Как, например, задать background ? Если есть можно дать ссылку на материал, где это описано. Эскизы прикрепленных изображений |
cooler |
19.03.2008 21:49
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Поразбирался. Понял ,что задал глупые вопросы...
У меня несколько ListBox'ов. В одном- запасные,во втором - вратарь,в третьем защита... Сделал так: выделяю в одном игрока, во втором, нажимаю кнопку и они заменяются. Как сделать чтобы больше 2х не выделялось игроков? И как связать эти ListBox'ы с массивом моих игроков? Чтобы массивы менялись вместе со списками. Неужели каждый раз переприсваивать? |
cooler |
20.03.2008 14:12
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
А как выводить значения переменных или текст что-то типа writeln?
Неужели трудно ответить. Я же не пишу: "Сделайте- ка мне игру" Просто элементарные вопросы,а мне в помощь Может тему нужно перенести в написание игр??? |
мисс_граффити |
20.03.2008 21:08
Сообщение
#4
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Не трудно )
По порядку... С первой порцией, насколько я поняла, уже разобрался. Цитата У меня несколько ListBox'ов. Мне кажется, здесь лучше использовать ComboBox: Цитата Виджет ComboBox - это выпадающий список элеметов, из которого может быть выбран только один. что автоматически решает вопрос с Цитата Как сделать чтобы больше 2х не выделялось игроков? Цитата И как связать эти ListBox'ы с массивом моих игроков? Чтобы массивы менялись вместе со списками. Неужели каждый раз переприсваивать? Если честно, не совсем поняла происходящее... Кто в массиве? Кто в списках? Цитата А как выводить значения переменных или текст что-то типа writeln? Сначала надо кинуть компонент, КУДА будешь выводить текст. Например, Label А потом написать: Label1.Caption:='текст'; Либо, если это типа сообщения о неправильном действии, можно так: ShowMessage('текст'); -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
cooler |
20.03.2008 21:39
Сообщение
#5
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Насчет ComboBox:
Понимаешь в чем дело, У меня (на рис.) Слева запасные, а справа разделенный по группам основной состав. Я сделал так: выделяешь одного и второго, нажимаешь заменить и они меняются. Все бы хорошо, да только может выделиться больше двух, т.к разделены на группы по позициям. Про массив: Я в listbox элементы из массива игроков записываю. А как после изменения сохранить состав? Может есть другие варианты?? Эскизы прикрепленных изображений |
мисс_граффити |
21.03.2008 20:39
Сообщение
#6
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
теперь стало понятнее )))
можно сделать так: несколько радиобаттонов (типа "заменить вратаря", "заменить кто-там-еще-бывает") и в зависимости от них - доступность выбора в листбоксе. то есть (сорри, проверить наличие свойств не могу - делфи не установлена, пишу по памяти) типа такого: ListBox1.Enable:=RadioButton1.Checked; а вообще - лучше всего будет, если прикрепишь проект в архиве (без ехе-шника) - разговор будет предметным. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
cooler |
25.03.2008 20:45
Сообщение
#7
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Проект выложил, если это уже можно называть проектом.
Как сделать чтобы какая-нибудь процедура выполнялась сразу после открытия формы? (А то я сейчас все к кнопкам привязываю) Потом, как обновлять значения radiobutton.checked ? Цикл сделать? Пока какое поле с самого начало выбрано, то и доступно. Обязательно нужно заставочку. Как посоветуешь сделать? Появляется форма, на ней рисунок (хотя бы небольшой) и название. Через несколько секунд она закрывается и появляется следующая. Как лучше рисунок там организовать? P.S. Не в тему: Парадокс. Хотел сделать, чтобы одна форма грузилась, нажимаешь кнопку, она закрывается, открывается другая. В новом проекте сделал ч/з св-во visible - работает. Вставляю эту вещь в свой проект - грузятся обе формы. Прикрепленные файлы worked.rar ( 6.49 килобайт ) Кол-во скачиваний: 272 |
мисс_граффити |
6.04.2008 21:37
Сообщение
#8
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Как сделать чтобы какая-нибудь процедура выполнялась сразу после открытия формы? (А то я сейчас все к кнопкам привязываю) привесить на открытие формы )) сам на свой вопрос ответил единственное - я не очень поняла, речь о создании формы ("первом" открытии) или открытии после сворачивания? от этого зависит, какое событие выбрать. Цитата Потом, как обновлять значения radiobutton.checked ? Цикл сделать? Что значит "обновлять"? Если пользователь изменил, менять доступность листбоксов? Опять же - на обработчик события... Цитата Обязательно нужно заставочку. Как посоветуешь сделать? Появляется форма, на ней рисунок (хотя бы небольшой) и название. Через несколько секунд она закрывается и появляется следующая. Как лучше рисунок там организовать? именно несколько форм? можно бросить компонент под рисунок (paintbox или image) и через несколько секунд делать его невидимым, например. Цитата Парадокс. Хотел сделать, чтобы одна форма грузилась, нажимаешь кнопку, она закрывается, открывается другая. В новом проекте сделал ч/з св-во visible - работает. Вставляю эту вещь в свой проект - грузятся обе формы. через методы close/show не пробовал? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
striker |
15.04.2008 20:06
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 86 Пол: Мужской Репутация: 0 |
Я такую же прогу делал года 2 назад, но все было проще гораздо.
Сообщение отредактировано: striker - 15.04.2008 20:08 |
cooler |
15.04.2008 20:11
Сообщение
#10
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Всё, большое спасибо с тем что было по-тихоньку разобрался
massev: array[1..5] of string = ('забил гол', В этой процедуре я конечно нагородил... Идея такая: пока случайно выбираются события матча из массива massev и выводятся в Листбокс. Нужно сделать чтобы события в него выводились с некоторой задержкой, и чтобы матч можно было остановить, что-то сделать с составом и возобновить, не теряя предыдущих событий. Если пользователь сделал замену игрока, соответственно выводим сообщение об этом в Листбокс. P.S Как лучше выводить таблицу? Да, обновленная версия, если нужно: Сообщение отредактировано: cooler - 15.04.2008 20:16 Прикрепленные файлы 15.04.rar ( 18.23 килобайт ) Кол-во скачиваний: 259 |
cooler |
16.04.2008 11:10
Сообщение
#11
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Сорри за такой код в процедуре.
Сейчас сам сел спустя 2 недели, половину не понял. Подскажите идейку как реализовать выше перечисленное. Нужно таймер, наверное, поставить и останавливать его, потом запускать? |
Better Kind |
16.04.2008 14:50
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 52 Пол: Мужской Реальное имя: Александр Репутация: 1 |
Гораздо проще реализовать записями.
-------------------- With best regards, Better Kind
|
cooler |
16.04.2008 16:07
Сообщение
#13
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
А подробнее?
Приведи примерчик |
cooler |
4.05.2008 19:16
Сообщение
#14
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Помогите пожалуйста реализовать след. вещь.
У меня симулируется в текстовом режиме матч. (выводятся события матча из строкового массива в listbox) Нужно чтобы они выводились с определенной задержкой. (sleep наверное не туда ставлю) Пользователь должен нажать на кнопку команда, где между массивами игроков (запасных и основных) он произведет замены. НУЖНо чтобы после того как он вернется к матчу он продолжился, т.е опять с задержкой выводились события матча, и в этот же listbox вывелись те элементы массивов, которые поменял пользователь. Т.е, например Иванов->Петров Здесь наверное событийная обработка. Как её реализовать? Т.к у меня происходят изменения в команде сложно, то можно в примере просто 2 массива реализовать, а их потом под своё адаптирую. Прикладываю "легкую" и оч.демо версию. Чтобы симулировать матч - кнопка "след. игра" Код massev: array[1..5] of string = ('забил гол', 'травма','желтая карточка','замена','красная карточка'); procedure TSimForm.Button2Click(Sender: TObject); var i,sobytie:byte; begin Listbox2.Items.Clear; for i:=1 to 7 do begin sobytie:=random(5); if sobytie=0 then sobytie:=1; Listbox2.Items.Add(massev[sobytie]); sleep(100); end; end; Если я опять загнул и ничего не понять - пишите Эскизы прикрепленных изображений Прикрепленные файлы to_forum.rar ( 14.55 килобайт ) Кол-во скачиваний: 252 |
cooler |
5.05.2008 15:06
Сообщение
#15
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Пожалуйста, помогите. Как это сделать?
|
cooler |
6.05.2008 19:14
Сообщение
#16
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Почему?...Почему никто ничего не пишет.
Напишите хоть почему не пишите |
мисс_граффити |
6.05.2008 21:29
Сообщение
#17
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
ты хочешь передавать управление?
то есть идет матч - пользователь, не останавливая его, меняет игроков - и матч продолжается? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
cooler |
6.05.2008 21:45
Сообщение
#18
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Идет матч, пользователь нажимает на кнопку "пауза" /"стоп"(в матче), матч останавливается,
он заменяет игроков и возобновляет. Хотя можно не останавливая, только матч будет идти не долго и пока пользователь прокопается в заменах игра кончится Мне хоть как-нибудь пока P.S Спасибо за отклик |
мисс_граффити |
7.05.2008 0:22
Сообщение
#19
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
я бы тогда сделала так примерно:
var massev: array[1..5] of string; -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
cooler |
8.05.2008 16:14
Сообщение
#20
|
Бывалый Группа: Пользователи Сообщений: 178 Пол: Мужской Репутация: 0 |
Спасибо.
Я почти также уже сделал Сам догадался. У меня дальше будут вопросы - обращусь. Спасибо большое |
Текстовая версия | 1.11.2024 3:59 |