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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.05.2015, 23:31
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание Помошь в заполнении поля для игры ЛОТО

Ребята всем привет
мне нужна чисто идея - собственно в чем проблема - она заключается в следующем - нужно заполнить карточку для игры Русское ЛОТО - рандомно выбранными цифрами

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



На форме стоят две таблицы StringGrid1 и StringGrid2
получаем номер из 1 до 90 случайном порядке и проверяем номер
Код:
if shar_no<10 then
...
...
..
if (shar_no >= 10) and (shar_no <= 19) then
..
..
..
в зависимости от номера помешаем его в нужное место в StringGrid1 при этом проверяем свободна ли ячейка если нет то сохраняя столбец спускаемся по рядам вниз до последнего ряда второй таблицы StringGrid2 пока не найдем свободную ячейку.

После того как мы разместили все выпавшие номера по циклу с одного до 45 (это с запасом)

Потом проверяем все ряды на количество заполненных полей - если их количество превышает 5ти то после пятого номера следующие спускаем по столбцу вниз и так до конца последней таблицы.


И так в чем заключается проблема - проблема в том что заполняем вы поля начиная с начала - а вот когда начинаем проверку рядов на количество заполненных ячеек мы теряем первые номера это как? щяс наглядно покажу - смотрите на картинку

Красным я указал последовательность выпадения случайным образом этих номеров - видите там где номер 5 и 6 выпали 72 и 89 но после проверки для них не осталось места в таблице и они как бы выбили а в левой стороне получилось бардак несмотря на то что цифры 40 и 24 выпали после 72 и 89 - получается что какие выпавшие номера ближе к левому краю останутся всегда а те которые в правее выпадут из таблицы как в моем случае.

Что посоветуете как с этим бороться??
__________________
Нет ничего не возможного. Вопрос только во времени...
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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