Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2008, 18:19
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию Рисование турнирной сетки

Здравствуйте, нужна помощь.
Нужно нарисовать турнирную сетку соревнований, что то типа
---------
|__иванов___
иванов | |
--------- |
|___петров______
петров |
--------- |
|_петров___|
Пупкин |
---------

В рисовании полный ноль,
Какие компоненты лучше использовать, или может кто-то сталкивался с такой задачей, может есть алгоритм рисования в зависимости от количества участников.
Спасибо.
Ответить с цитированием
  #2  
Старый 15.05.2008, 18:20
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию

сетка немного не получилась....
Ответить с цитированием
  #3  
Старый 16.05.2008, 09:07
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

А зачем ее рисовать, когда есть готовая сетка. TStringGrid называется. Только вписывай в нее своих ивановых, да петровых.
Ответить с цитированием
  #4  
Старый 16.05.2008, 09:28
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию

Так мне надо чтоб шахматка получилась, а не таблица
Ответить с цитированием
  #5  
Старый 16.05.2008, 09:33
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

А шахматка чем отличается от таблицы? Та же таблица, только в первой строке фамилии такие же как и в первом столбце. А запретить ввод в ячейки, которые находятся на пересечении строки и столбца с одинаковой фамилией - дело техники.
Ответить с цитированием
  #6  
Старый 16.05.2008, 20:07
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию

Шахматка - это не таблица. Это что-то типа гегеологического древа тока перевернутого.
___________
|__________
___________|
Ответить с цитированием
  #7  
Старый 19.05.2008, 15:46
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию

Так никто и не поможет? Я уже понял что надо испльзовать TStringGrid, но вот не могу алгоритм рисования придумать,
Ответить с цитированием
  #8  
Старый 19.05.2008, 16:08
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Никто не может, видимо, потому что у многих другое представление о турнирной таблице, чем твое (во всяком случае у меня уж точно другое - выше описывал как я ее представляю).
А что такое генеалогическое дерево в перевернутом виде для турнирной таблицы уж совсем непонятно.
Чтобы помогли, надо хотя бы дать картинку как эта таблица выглядит.
Можно же в посте изображение публиковать - владельцы не запрещают.
Ответить с цитированием
  #9  
Старый 19.05.2008, 16:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Имеется в виду, видимо, таблица плей-оф.
Тебе нужно нарисовать начальное положение или все варианты по мере заполнения? Если все, то сначала напиши представление данных (код в студию).
Ответить с цитированием
  #10  
Старый 19.05.2008, 16:37
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Цитата:
Сообщение от lmikle
Имеется в виду, видимо, таблица плей-оф.
Видимо, да. Т.к. "шахматка" - это совсем другая турнирная таблица, которая отображает результаты соревнований "каждый с каждым".
Надо понять. Будет ли в приложение таблица заполняться или только отображать результаты из стороннего источника.
Во втором случае все просто: рисование не более того. В первом уже много сложнее.
Ответить с цитированием
  #11  
Старый 19.05.2008, 16:45
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Там, скорее, проблема с тем, как храняться данные, а нарисовать (с заполнением или нет) особых проблем нет.
Ответить с цитированием
  #12  
Старый 19.05.2008, 22:01
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию

Да именно таблица плей-офф!!!
Вообщем я как сделал:
есть определенное количество участников - пусть n
далее по числу участников определил число кругов(в спортивной терминологии), т.е. если число участников, то 1круг(финал), если 4-участника, то 2круга(полуфиналы, финал), если 8участников-то 3 круга(1/4, 1/2, финал) и т.д. Причем число участников может быть не обязательно кратно степени 2(ну если кто-то снялся и т.д).
Вообщем определил число кругов - к.
сделал таблицу с полями индекс и участник. В поле индекс заносил номера по следующему правилу(с конца0:
считая что победитель имеет номер 1, первый полуфиналист -11, второй -12, первый четвертьфиналист 111, второй -112, третий - 121, четвертый -122, пятый -211 и т.д. Вообщем заполнил всю таблицу(пока участниками попорядку, а в будущем надо их раскидывать исходя из их рейтинга, что пока я еще не знаю как сделать). И теперь мне нужно отобразить эту таблицу(нарисовать сетку плей-офф и вставить участников). Так вот у меня не получается никак ето сделать для любого количества участников. Помогите!

Последний раз редактировалось ja-maik-a, 19.05.2008 в 22:13.
Ответить с цитированием
  #13  
Старый 19.05.2008, 22:45
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Посмотри пример таблицы и скажи чего там не так.
Эскиз таблицы
Участники обсуждения, я думаю, уже утомились в попытках понять твои объяснения на пальцах - чего ты хочешь конкретно.
И если чего-то сделал, то выложи исходники. Неважно как они выглядят, главное понять цель проекта.
Ответить с цитированием
  #14  
Старый 19.05.2008, 23:19
ja-maik-a ja-maik-a вне форума
Прохожий
 
Регистрация: 09.02.2008
Сообщения: 47
Репутация: 10
По умолчанию

вот нарисовал. исходники пока тока как заполняю таблицу с индексами и как вставляю строки в StringGrid, т.е. ничего не могу дальше сделать. Цель всего проекта создать в итоге схему соревнований в зависимости от количества участников, причем раскидывать сильнейших и участников с одинаковых команд, а потом и последующее заполенение схемы по ходу соревнований
Изображения
Тип файла: gif схема.GIF (14.3 Кбайт, 20 просмотров)

Последний раз редактировалось ja-maik-a, 19.05.2008 в 23:24.
Ответить с цитированием
  #15  
Старый 19.05.2008, 23:49
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Теперь немного понятны твои проблемы. Чтобы не загромождать форум (тем более, что в нем неудобна подробная работа), дай свой e-mail, или черкни мне san-46@yandex.ru
Видно, задачу надо разбить на некоторые этапы более или менее законченные. И, если надумаешь черкнуть, то объясни попутно что такое "раскидывать сильнейших и участников с одинаковых команд".
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter