Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Вниз

Как сгенерировать случайнй знак (*,/,+,-)   Найти похожие ветки 

 
Loonar ©   (2007-05-21 13:16) [0]

Как сгенерировать случайный знак (*,/,+,-), исходя из отмеченнх пользователем флажков (четыре CheckBox"а каждый для своего знака)
Допустим я отметил CheckBox1(Сложение) и CheckBox2(умножение), Дельфи должен сгенерировать случайный знак или сложение или умножение.
Заранее спасибо за помощь.


 
clickmaker ©   (2007-05-21 13:22) [1]

Random()


 
turbouser ©   (2007-05-21 13:22) [2]

"Влоб" можно так:
Randomize;
...
var Chars:string;
begin
 if CheckBox1.Checked then Chars:="*";
 if CheckBox2.Checked then Chars:=Chars+"/";
 if CheckBox3.Checked then Chars:=Chars+"+";
 if CheckBox4.Checked then Chars:=Chars+"-";
 ShowMessage(Chars[Random(Length(Chars)+1)]);
end;


 
Loonar ©   (2007-05-21 13:53) [3]

Спасибо большое, очень помогло, ещё раз спасибо.


 
{RASkov} ©   (2007-05-21 13:55) [4]

> [3] Loonar ©   (21.05.07 13:53)

> ShowMessage(Chars[Random(Length(Chars)+1)]);

ShowMessage(Chars[1+Random(Length(Chars))]);
Индекс символов в строке начинается с 1


 
Knight ©   (2007-05-21 14:46) [5]

Лучше использовать два таймера... первый по рендому выбирает знак.. а второй по рендому останавливает первый :)


 
{RASkov} ©   (2007-05-21 14:52) [6]

> [5] Knight ©   (21.05.07 14:46)
> Лучше использовать два таймера...

Нет, два мало, нужно три..... Правда я пока незнаю для чего третий, но... нужен. :)


 
clickmaker ©   (2007-05-21 15:00) [7]


> для чего третий,

если 2 других подерутся, то разнимать будет


 
iXT ©   (2007-05-21 15:01) [8]

Почему три? символа четыре, значит и таймера четыре. Каждый отвечает за свой :))


 
Knight ©   (2007-05-21 15:05) [9]


> {RASkov} ©   (21.05.07 14:52) [6]
> Нет, два мало, нужно три..... Правда я пока незнаю для чего
> третий, но... нужен. :)


Генерация случайного интервала для второго и его запуск, через случайный интервал, после запуска первого... :)


 
{RASkov} ©   (2007-05-21 15:14) [10]

:)

> Почему три? символа четыре, значит и таймера четыре. Каждый отвечает за свой :))

Тогда 5, пятый будет выбирать у кого в очередной раз символ забрать.... Непонятно, только зачем первые четыре халявщика, ведь иху работу делают чекбоксы....) Кто больше?


 
Knight ©   (2007-05-21 15:30) [11]

В цикле генерится случайный чаровский массив длинной 255 символов... как-только он заполнен, Запускается Таймер1 который случайным образом начинает запускать и останавливать таймеры 2 (+), 3 (-), 4(*), 5(/) , при срабатывании они генерят случайный индекс массива и запускают таймеры 6,7,8,9 , которые в свою очередь проверяют значение по этому индексу. Если оно совпадает со значением, которой в данный момент сгенерировано таймером 10, то этот знак и передаётся пользователю.. :)


 
Knight ©   (2007-05-21 15:45) [12]

Да.. ещё надо сгенерить на форме поле 200Х200 из TPanel 1х1 со значениями тега 0 и 1... и попросить пользователя двигать над ним мышкой.  Значение передаётся пользователю если только в это время указатель мыши находился над панелью с тегом 1...


 
{RASkov} ©   (2007-05-21 15:54) [13]

> и попросить пользователя двигать над ним мышкой.

Затем попросить нажать на клавиатуре 500 символов... хватит извращаться ;)


 
Knight ©   (2007-05-21 15:57) [14]


> Затем попросить нажать на клавиатуре 500 символов

Причём.. разных.. с клавиатуры :))))))))))


 
{RASkov} ©   (2007-05-21 15:59) [15]

> Как сгенерировать случайнй знак (*,/,+,-)


> > и попросить пользователя двигать над ним мышкой.
>
> Затем попросить нажать на клавиатуре 500 символов...

Короче процедура на пол дня... :о) Все хватит.


 
{RASkov} ©   (2007-05-21 16:00) [16]

> Причём.. разных.. с клавиатуры

Пользователь в тупике :)))


 
Knight ©   (2007-05-21 16:03) [17]

%)))


 
Knight ©   (2007-05-21 16:06) [18]

В общем как всегда.. :)

http://www.korova.ru/humor/pics/realizat.gif


 
turbouser ©   (2007-05-21 20:53) [19]

Нафлудили блин =))
А вот серьезно, без стеба и флуда - как проще (продуктивнее) решить
подобную (да, бред, но все же :) задачу?
p.s.
Вася Пупкин и ты пы :)


 
Virgo_Style ©   (2007-05-21 20:57) [20]

turbouser ©   (21.05.07 20:53) [19]
Выбрать случайный символ из строки "*/+-", imo


 
turbouser ©   (2007-05-21 21:00) [21]


> Virgo_Style ©   (21.05.07 20:57) [20]

Угу. А как же выбор юзера?


 
Virgo_Style ©   (2007-05-21 21:47) [22]

turbouser ©   (21.05.07 21:00) [21]
выбор юзера?


Голосую за перемещение ветки в Потрепаться с последующим приглашением в оную kaif"а и бурной дискуссии на 1000 постов о (не)детерминизме и свободе воли)))


 
turbouser ©   (2007-05-21 21:49) [23]


> Virgo_Style ©   (21.05.07 21:47) [22]

+1 :))


 
{RASkov} ©   (2007-05-21 23:45) [24]

> [19] turbouser ©   (21.05.07 20:53)

Ну а чем [2] не угодил? Тем более, что ты его и выдвинул....
Помоему самый простой вариант...


 
turbouser ©   (2007-05-22 00:03) [25]


> {RASkov} ©   (21.05.07 23:45) [24]

Нет, не самый простой. Можно и проще. Точнее сложнее :)
Я же оговорился, что Вася там и т.п. :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.044 c
15-1178962492
TCrash
2007-05-12 13:34
2007.06.10
выбор SQL


15-1179233665
Некто_
2007-05-15 16:54
2007.06.10
Помогите


3-1174556149
dolmat
2007-03-22 12:35
2007.06.10
Изменение свойств поля


5-1155109571
Vaitek__
2006-08-09 11:46
2007.06.10
Прозрачный TCustomPanel


15-1179253032
N3xt_
2007-05-15 22:17
2007.06.10
Программа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский