Случайное выражение из массива в переменную

Ask for help

Moderators: Murderator+, Murderator

Post Reply
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Случайное выражение из массива в переменную

Post by 1a2a3a4a5a6a »

Как вывести одно из значений в массиве в переменную?
Т.е. у меня есть массив на 100 значений, допустим цифры 1-100.
Как сделать, чтобы в переменную chislo при каждом вызывании этой переменной была разная цифра из массива?
Shard: Dragon World
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Случайное выражение из массива в переменную

Post by Nmy »

1a2a3a4a5a6a wrote:Как вывести одно из значений в массиве в переменную?
Т.е. у меня есть массив на 100 значений, допустим цифры 1-100.
Как сделать, чтобы в переменную chislo при каждом вызывании этой переменной была разная цифра из массива?


Code: Select all

uo.Random(maxnumber)


может поможет...
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

И как это прикрутить к тому что я написал? :?

А написал я вот что:

Code: Select all

sub test()
var i
DIM xa[5]
xa[0] = 'нуль'
xa[1] = 'один'
xa[2] = 'два'
xa[3] = 'три'
xa[4] = 'четыре'

end sub


И надо чтобы в переменную выводилось случайное значение из массива.
Shard: Dragon World
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Code: Select all

uo.Random(maxnumber)

В maxnumber можно подставить только число.
Shard: Dragon World
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

это выгледит примерно так:

Code: Select all

n = uo.random(100)
uo.findtype(Ftoto[n], -1 ,'hde')


идея такова, но с етим я неработал, вот хз что там получется...
зачем тебе рандом мама мия?!
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

1a2a3a4a5a6a wrote:И как это прикрутить к тому что я написал? :?

А написал я вот что:

Code: Select all

sub test()
var i
DIM xa[5]
xa[0] = 'нуль'
xa[1] = 'один'
xa[2] = 'два'
xa[3] = 'три'
xa[4] = 'четыре'

end sub


И надо чтобы в переменную выводилось случайное значение из массива.

var chislo = xa[uo.random(4)]
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Destruction, ну надо же. %) Спасибо!
Shard: Dragon World
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

Code: Select all

sub test()
var i
DIM xa[5]
xa[0] = 'один'
xa[1] = 'два'
xa[2] = 'три'
xa[3] = 'четыре'
xa[4] = 'пять'
for i = 0 to 4
var chislo = xa[uo.random(i)]
uo.say(str(chislo))
end sub


ваще пахать не хочет(((
помогите люди добрые
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Цикл

Code: Select all

for
...
next
не закрыт.
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

ЙОПТ Я МУДАК!! купер большое спасибо щас попробую!
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Crach! wrote:ЙОПТ Я МУДАК!! купер большое спасибо щас попробую!

Скорее всего понадобиться такой ход:

Code: Select all

uo.say(chislo)

Ведь в массиве все переменные строковые, зачем str, ошибка будет.
Last edited by Kynep on 2009-08-04 15:41:20, edited 1 time in total.
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

блин,то ли я дурак то ли инжект тупит

Code: Select all

sub test()
   var i
   DIM xa[5]
   xa[0] = 'sa'
   xa[1] = 'as'
   xa[2] = 's'
   xa[3] = 'd'
   xa[4] = 'sd'
i =   uo.random(4)
      uo.say(str(xa[i]))
end sub

вот,и все равно как назло оно не пашет
по идее ведь он полжен выводить одно из 5ти выражений а вместо этого но просто печатает "0"=((
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Crach! wrote:блин,то ли я дурак то ли инжект тупит

Ты не так меня понял:

Code: Select all

sub test()
var i, chislo
DIM xa[5]
xa[0] = 'один'
xa[1] = 'два'
xa[2] = 'три'
xa[3] = 'четыре'
xa[4] = 'пять'
for i = 0 to 4
chislo = xa[uo.random(i)]
uo.say(chislo)
next
end sub
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

Unhandled exception in parser
по если меня переменную i на 5 то все пашет :D
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

и ещё один тупой вопрос
слушайте как сделать так что бы один и тот же вариант не повторялся,например что бы он не кричал 2 раза три и т.п.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Crach! wrote:Unhandled exception in parser
по если меня переменную i на 5 то все пашет :D

Логично, т.к. выражение

Code: Select all

random(0)

Не может быть рабочим по-умолчанию, отсюда и ошибка, в этом случае он не выдаст результат переменной

Code: Select all

xa[0] = 'нуль'


Crach! wrote:слушайте как сделать так что бы один и тот же вариант не повторялся,например что бы он не кричал 2 раза три и т.п.

Сложно и не зачем.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Скрипт с нашего форума:

Code: Select all

# by Roneon :)
sub amsgs()
var i
dim a[15]
a[0]='эй, потсан'
a[1]='мелочь есть?'
a[2]='есть прикурить?'
a[3]='ты чо такой дерзкий?'
a[4]='э, ты с какого района?'
a[5]='ты кто па жизни-то?'
a[6]='найду - моё?'
a[7]='дай мобилу позвонить'
a[8]='ты на районе никто, понял?'
a[9]='давай мобилу и деньги'
a[10]='давай чё у тебя там в карманах'
a[11]='чтоб я тя больше здесь не видел'
a[12]='дай потсанам на пиво'
a[13]='да я те ща е@ало раскраю, ты понял?'
a[14]='мой друг сказал, что ты его [вырезано] послал. нет? хочешь сказать, мой друг - пи@дабол?!'
while true
i=uo.random(14)
uo.sayu(a[i])
wait(5000)
wend
end sub

как то так
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

слушайте как сделать так что бы один и тот же вариант не повторялся,например что бы он не кричал 2 раза три и т.п.

Сложно и не зачем.



есть зачем,мне надо написать скрипт на разбивание 2х команд!!
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Crach! wrote:есть зачем,мне надо написать скрипт на разбивание 2х команд!!

Ну эээ... Напиши :roll:

сравнение 2-х массивом. При юзе числа его записывать во второй массив и игнорить. :shock:

либо каждый раз задавать константу типо если х= 3 то х=3+1



бзв не проще ОБЫЧНО массив использовать? Просто задать в беспорядок типы.
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Post by Crach! »

ну тогда скажи как игнорить не массивы а числа О_О
и ваще пересети из одного массива в другой это совсем что то запредельнгое
Post Reply