Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Диапазон случайных чисел
Старый 25.01.2009, 20:37   #1
Sergeu
Пользователь
 
Аватар для Sergeu
 
Регистрация: 23.08.2008
Сообщений: 60
По умолчанию Делаю простую игру, есть вопросы

Народ помогите вопрос тупейший но уже расшиб весь лоб о клаву пытаясь угодать ну ладно вот в чем вопрос как в Delphe
зделать случайное число от 100 до 200 например
ну код должен поидее быть примерно таким
а:=random(100) up (200);
Пойжалусто подскажите как правильно?!!
- Я фармацевт.
- А, значит в аптеке работаете.
- Нет, диск С форматирую.
Sergeu вне форума Ответить с цитированием
Старый 25.01.2009, 20:57   #2
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

a:=random(101)+100;
rocklistener...
5naip вне форума Ответить с цитированием
Старый 25.01.2009, 20:57   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

a := Random (100) + 100;

Чуть не успел

Последний раз редактировалось Arigato; 25.01.2009 в 20:58. Причина: :)
Arigato вне форума Ответить с цитированием
Старый 25.01.2009, 21:03   #4
Sergeu
Пользователь
 
Аватар для Sergeu
 
Регистрация: 23.08.2008
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
a := Random (100) + 100;
Ну наверно можно и так но разве число а не будет равно например 50 или 32?? мне то надо чтоб оно было строго в рамках это от 100 до 200!!!чтоб только в этом интервале чисил!
- Я фармацевт.
- А, значит в аптеке работаете.
- Нет, диск С форматирую.
Sergeu вне форума Ответить с цитированием
Старый 25.01.2009, 21:06   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

100 и 200 входят в диапазон или нет, т.е. надо (100,200) или [100,200]?
Цитата:
Ну наверно можно и так но разве число а не будет равно например 50 или 32??
Вы с операцией сложения (+) знакомы?
Arigato вне форума Ответить с цитированием
Старый 25.01.2009, 21:11   #6
Sergeu
Пользователь
 
Аватар для Sergeu
 
Регистрация: 23.08.2008
Сообщений: 60
По умолчанию

Я делаю игрушку и мне надо чтоб верхний сомолёт летал только в нужном поле и для этого я и задал вопрос я пикрипил игрушку с исходниками посмотри и может быть вы мне поможите!?
Вложения
Тип файла: rar Новая папка.rar (335.0 Кб, 12 просмотров)
- Я фармацевт.
- А, значит в аптеке работаете.
- Нет, диск С форматирую.
Sergeu вне форума Ответить с цитированием
Старый 25.01.2009, 21:23   #7
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Sergeu, обрати внимание на подчеркивания красным цветом, когда пишешь текст.
Random возвращает диапазон чисел от нуля до указанного числа включительно. Если ты напишешь a: = Random (100), то может выпасть 0, 1, 2, 3, ... 99, 100. Как передвинуть диапазон в область от 100 до 200? ...прибавить еще 100. a: = Random (100) + 100, что произойдет если выпадет 0? ...к нему прибавится 100, и таким образом ниже 100 уже чисел не будет, а если выпадет 100, то к нему прибавится 100 и будет 200, значит а будет принимать случайные значения 100, 101, 102, ... 199, 200 , вот и все фокусы.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 25.01.2009, 21:31   #8
Sergeu
Пользователь
 
Аватар для Sergeu
 
Регистрация: 23.08.2008
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Beermonza Посмотреть сообщение
Sergeu, обрати внимание на подчеркивания красным цветом, когда пишешь текст.
Random возвращает диапазон чисел от нуля до указанного числа включительно. Если ты напишешь a: = Random (100), то может выпасть 0, 1, 2, 3, ... 99, 100. Как передвинуть диапазон в область от 100 до 200? ...прибавить еще 100. a: = Random (100) + 100, что произойдет если выпадет 0? ...к нему прибавится 100, и таким образом ниже 100 уже чисел не будет, а если выпадет 100, то к нему прибавится 100 и будет 200, значит а будет принимать случайные значения 100, 101, 102, ... 199, 200 , вот и все фокусы.
Извени те меня но у меня не чего не почеркиваеться так как у мя Delphi10
и вот этот "фокус" у мя на сробатывает но я это исправили зделал простенькую процедуру

if fs.Top=680 then begin
lev_f:= random(604);
if lev_f<340 then else begin
fs.Left:=lev_f;
fs.Top:=0;
end;
end
else fs.Top:=fs.Top+1;
- Я фармацевт.
- А, значит в аптеке работаете.
- Нет, диск С форматирую.
Sergeu вне форума Ответить с цитированием
Старый 25.01.2009, 21:31   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Random возвращает диапазон чисел от нуля до указанного числа включительно.
Random (N) = От 0 до N - 1.
Arigato вне форума Ответить с цитированием
Старый 25.01.2009, 21:33   #10
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

random(100) выдает случайноче число из диапазона [0..99].
---
чуток припозднился...
rocklistener...
5naip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть интересная идея. Помогите создать игру для мобильника Romez Общие вопросы по Java, Java SE, Kotlin 3 14.05.2008 12:14
Делаю Кроссворды Иллидан Фриланс 3 03.02.2008 21:50