Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Просмотр темы
 Распечатать тему
Проблема с функцией [Решено]
izigamers
#1 Распечатать сообщение
Опубликовано 08.12.2013 22:09:01
Новичок


Сообщений: 2
Зарегистрирован: 08.12.13

Возникла проблемма с функцией Random вот код:
Загрузить источник  GeSHi: C#
  1. if (y == Height - 80)
  2. {
  3.  
  4. if (rdm.Next(-1, 2) == 1)
  5. {
  6. y -= 20;
  7. Rectangle recto = new Rectangle(x, y, 20, 20);
  8. Block blocker = new Block(recto, blockTex1, this);
  9. }
  10.  
  11. }
Добавлено за 0.007 секунд, используя GeSHi 1.0.8.2

Если ставлю rdm.Next(1,1) , то все работает, а если больше то не работает рандом,а мне то нужна случайность, а не очевидность... искал на форумах не нашел ответа:search:


p.s.
Random rdm = new Random надо задавать в самом начале класса.
Изменил(а) izigamers, 09.12.2013 22:39:29
 
general
#2 Распечатать сообщение
Опубликовано 08.12.2013 23:06:48
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

по мимо того, что в примере какой то бред,
не очевидно что ты пытаешься рандомить.
пока результат рандома влияет только на
вход в условие "if (rdm.Next(-1, 2) == 1)"
и так как там "== 1", то войдет только при rdm.Next(1,1)
[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
Hellmapper
#3 Распечатать сообщение
Опубликовано 08.12.2013 23:38:17
Аватар пользователя

Старший специалист


Сообщений: 440
Зарегистрирован: 03.07.11

Random.Next(int min, int max) возвращает случайное целое число из интервала [min; max). Так что rdm.Next(1,1) всегда будет возвращать 1.
 
izigamers
#4 Распечатать сообщение
Опубликовано 09.12.2013 00:32:03
Новичок


Сообщений: 2
Зарегистрирован: 08.12.13

general написал:
по мимо того, что в примере какой то бред,
не очевидно что ты пытаешься рандомить.
пока результат рандома влияет только на
вход в условие "if (rdm.Next(-1, 2) == 1)"
и так как там "== 1", то войдет только при rdm.Next(1,1)

Извините, но видимо я не уточнил, что мне именно надо, я хочу получить случайоне значение от1 до 2, то есть либо 1, либо 2 и если будет 1 я назначаю координаты, а если нет идем дальше, примера использования как таковой функции я не нашел, вот и пытаюсь сделать как вы это назвали "бред", так как сам не понимаю как эту функцию задать правильно.
 
general
#5 Распечатать сообщение
Опубликовано 09.12.2013 00:41:39
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

тогда не
if (rdm.Next(-1, 2) == 1)
а
if (rdm.Next(1, 3) == 1)
[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
DezoEsper
#6 Распечатать сообщение
Опубликовано 09.12.2013 07:03:23
Аватар пользователя

Специалист


Сообщений: 143
Зарегистрирован: 16.05.11

Загрузить источник  GeSHi: C#
  1.  
  2. public class SafeRandom : Random
  3. {
  4. uint _bitBuffer;
  5. uint _bitMask = 1;
  6.  
  7. uint _w;
  8. uint _x;
  9. uint _y;
  10. uint _z;
  11.  
  12. public SafeRandom()
  13. : this(Environment.TickCount)
  14. {
  15. }
  16.  
  17. /// <summary>
  18. /// Возвращает случайную логическую величину.
  19. /// </summary>
  20. /// <returns>Случайная логическая величина.</returns>
  21. public bool NextBool()
  22. {
  23. if (_bitMask == 1)
  24. {
  25. var t = (_x ^ (_x << 11));
  26. _x = _y;
  27. _y = _z;
  28. _z = _w;
  29. _bitBuffer = _w = (_w ^ (_w >> 19)) ^ (t ^ (t >> 8));
  30.  
  31. // Сбрасываем битовую маску
  32. _bitMask = 0x80000000;
  33. return (_bitBuffer & _bitMask) == 0;
  34. }
  35.  
  36. return (_bitBuffer & (_bitMask >>= 1)) == 0;
  37. }
  38. }
Добавлено за 0.008 секунд, используя GeSHi 1.0.8.2

Изменил(а) DezoEsper, 09.12.2013 07:10:43
MonoGame Site // LWJGL // OGRE
Я в Google+,Twitter
Сайт нашей команды.[Обновлен]
 
beaver
#7 Распечатать сообщение
Опубликовано 09.12.2013 08:31:55
Аватар пользователя

Администратор


Сообщений: 1772
Зарегистрирован: 22.02.09

izigamers написал:
так как сам не понимаю как эту функцию задать правильно.

http://msdn.micro....110).aspx
 
Перейти на форум:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,25 секунд 8,709,897 уникальных посетителей