Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.04.2010, 22:06
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 1  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
По умолчанию Случайное положительное/отрицательное число

Как сделать так чтобы случайно выпадало то положительное, то отрицательное число, но не ноль?

Старый 18.04.2010, 22:18
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 2  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Код AS3:
Math.floor(Math.random() * 100) - Math.floor(Math.random() * 100);

Старый 18.04.2010, 22:40
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 3  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Нет, такой способ всеравно выдаёт ноль!

Старый 18.04.2010, 22:48
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 4  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
Код AS3:
Math.random() - 0.5
__________________
blog.diestro.ru


Последний раз редактировалось Diestro; 18.04.2010 в 22:59.
Старый 18.04.2010, 22:50
sltt вне форума Посмотреть профиль Отправить личное сообщение для sltt Найти все сообщения от sltt
  № 5  
Ответить с цитированием
sltt

Регистрация: Jan 2010
Сообщений: 26
Код AS3:
for (var i=0; i<10; i++){
	trace( Math.floor(Math.random() * 100) - Math.floor(Math.random() * 100) )
}
Код:
-18
-32
-26
74
16
-85
86
8
26
-6

Старый 18.04.2010, 22:56
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 6  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
вар 1

Код AS3:
private function nonZeroRandomNumber() {
	var nonZeroNumber:int = 0;
	while (nonZeroNumber==0) {
		nonZeroNumber = -100 + 200 * Math.random();
	}
	return(nonZeroNumber)
}
вар 2

Код AS3:
	var sign:int = ( int( Math.random()*2 )-0.5 ) * 2;	// -1 или 1
	var absValue:int = 1 + int( Math.random() * 100 );	// 1..100
	var nonZeroNumber:int = sign * absValue;


Последний раз редактировалось mikhailk; 18.04.2010 в 23:10.
Старый 19.04.2010, 00:36
  № 7  
Ответить с цитированием
Xero201
Guest

Сообщений: n/a
Код AS3:
while(!(result=int((Math.random()-Math.random())*100)));//:)

Старый 19.04.2010, 02:47
VVall вне форума Посмотреть профиль Отправить личное сообщение для VVall Найти все сообщения от VVall
  № 8  
Ответить с цитированием
VVall

Регистрация: Feb 2009
Сообщений: 1,195
Можно примерно так:

result=(Math.random()*99+1)*(Math.random()<.5?-1:1);

Старый 19.04.2010, 03:18
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Зачем 2 раза рандом вызывать?
Код AS3:
function r():int
{
	var n:int = Math.random() * 200 - 100;
	if (!n) return 42;
	return n;
}
__________________
Hell is the possibility of sanity

Старый 19.04.2010, 10:52
  № 10  
Ответить с цитированием
Xero201
Guest

Сообщений: n/a
зачем подыгрывать положительным числам и числу 42 вчастности?) (при 10 тыс. запусков 42 выпадает в среднем 150 раз, а остальные числа по 50 раз).
Лучше объединить:
Код AS3:
function r():int{
	var n:int = Math.random() * 200 - 100;
 
	if (n) return n;
	else   return (Math.random()*99+1)*(Math.random()<.5?-1:1);
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.