Всё о RAND(RANDOM)

Re: Всё о RAND(RANDOM)

SneakBug8,
оно самое.

snail
useravatar
Offline
102 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

Подскажите пожалуйста как сделать, чтобы Rand гарантировано не выбирал 2 одинаковых значения подряд. Например кубик не может 2 раза подряд выкинуть "5". Заранее спасибо.

Ways
useravatar
Offline
8 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

Ways,

Код:


!тута мы старое значение приравниваем к prev типо пред значение
prev = curent
!Меточка для повторения рандома
:1
!Сам рандом
x = rand(1,6)
Приравниваем к curent'у типо теперешнее знач
curent = x   
!проверка на то что значения не совпадают. Если совпадают то прыг на меточку 1
if curent = prev: jump '1'
!Локация перезагружается
act 'roll': gt $curloc
!предыдущее значение
prev
!Текущее
curent

Стрёмно выглядит, но работает.

oleksandrigo
ТвореЦ
useravatar
Онлайн
98 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

Спасибо большое! Попробую.

Ways
useravatar
Offline
8 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

Здравствуйте, подскажите пожалуйста как сделать рандомный переход на разные локации, и если можно пример кода.

Andrik3206
Князь_Тьмы
useravatar
Offline
2 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

Andrik3206,
К примеру есть лок1 лок2 лок3
итак

 Спойлер Show Spoiler Hide Spoiler
 

Код:


!двойка потому что отсчет с нуля начинается и до 2. То бишь может выпасть три числа
!x - называй как хочешь
x = rand (2)
if x = 0: gt 'лок1'
if x = 1: gt 'лок2'
if x = 2: gt 'лок3'
!Тоесть если дропает какое-то число то идет переход на локацию.
!Хочешь больше локаций? Тогда пишеш в ранд вместо 2 число на единицу меньше чем количество локаций. Нет ну можно еще написать так rand(1,a) где а будет количеством  локации к примеру rand (1,7) и ифов соответственно тоже будет семь. Ну и начинаться отсчет уже будет с 1.

еще можно заносить локации в массив. Вот так

(C) Aleks Versus

Код:



$places[0]='Дом'
$places[1]='Улица'
$places[2]='Лес'
$places[3]='Пустыня'

goto $places[rand(0,3)]

oleksandrigo
ТвореЦ
useravatar
Онлайн
98 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

Спасибо большое.

Andrik3206
Князь_Тьмы
useravatar
Offline
2 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Всё о RAND(RANDOM)

oleksandrigo написал(а):


Код:


x = rand (2)
if x = 0: gt 'лок1'
if x = 1: gt 'лок2'
if x = 2: gt 'лок3'
!Хочешь больше локаций? Тогда пишеш в ранд вместо 2 число на единицу меньше чем количество локаций. Нет ну можно еще написать так rand(1,a) где а будет количеством  локации к примеру rand (1,7) и ифов соответственно тоже будет семь. Ну и начинаться отсчет уже будет с 1.

Если индексировать локации как в примере, то можно без семи ифов.

Код:


act 'Погнали': dynamic 'gt "лок<<rand(1,7)>>"'

Engineer
useravatar
Offline
13 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1023
Всего опросов:
14
Всего сообщений:
16790423
Всего сообщений сегодня:
1
Пользователи форума:
 
Всего пользователей:
2239
Последним зарегистрировался:
4ugskor