Пятница, 22 Ноября 2024, 21:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Полный Random() (C#)
E][pertДата: Вторник, 05 Апреля 2011, 17:31 | Сообщение # 21
C#-XNA-Unity
Сейчас нет на сайте
den94ka, в ХНА мне не поможет так как у меня это будет программа делать до бесконечности, а мне нужно чтобы только результат менялся при другом запуске игры.

Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
Tower defence in processing... For Web/iOS/Android.
den94kaДата: Вторник, 05 Апреля 2011, 17:46 | Сообщение # 22
постоянный участник
Сейчас нет на сайте
У меня кстати сейчас такая же проблема в j2me.
E][pert, С чего ты взял, что будет делать бесконечно? есть функция получения времени в данный момент. По-моему класс Date.
den94kaДата: Вторник, 05 Апреля 2011, 17:53 | Сообщение # 23
постоянный участник
Сейчас нет на сайте
А нет, ошибся, такой функции нет. Вот её код
Code
public int GetEpochTime()
{
DateTime dtCurTime = DateTime.Now;
DateTime dtEpochStartTime = Convert.ToDateTime("1/1/1970 8:00:00 AM");
TimeSpan ts = dtCurTime.Subtract(dtEpochStartTime);
int epochtime;
epochtime = ((((((ts.Days * 24) + ts.Hours) * 60) + ts.Minutes) * 60) + ts.Seconds);
return epochtime;
}


Сообщение отредактировал den94ka - Вторник, 05 Апреля 2011, 18:01
E][pertДата: Вторник, 05 Апреля 2011, 18:04 | Сообщение # 24
C#-XNA-Unity
Сейчас нет на сайте
К сожалению моя идея генерировать ландшафт с помощью функции Random() провалилась sad

Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
Tower defence in processing... For Web/iOS/Android.
den94kaДата: Вторник, 05 Апреля 2011, 18:20 | Сообщение # 25
постоянный участник
Сейчас нет на сайте
Вот написал код, который возвращает случайное число от -9 до 81. Правда возвращаемое число меняется только через секунду (еспл поставить в цикл, то он выполняется менее секунды, и получается, что возвратится 1 число)
Code
static int GetEpochTime()
         {
             DateTime dtCurTime = DateTime.Now;
             DateTime dtEpochStartTime = Convert.ToDateTime("1/1/1970 8:00:00 AM");
             TimeSpan ts = dtCurTime.Subtract(dtEpochStartTime);
             int epochtime;
             epochtime = ((((((ts.Days * 24) + ts.Hours) * 60) + ts.Minutes) * 60) + ts.Seconds);
             return epochtime;
         }
         static int GetRandomInt()
         {
                 int tm = GetEpochTime();
                 string lastc = tm.ToString();
                 string time = "";
                 time += lastc[lastc.Length - 1];
                 byte last = byte.Parse(time);
                 time = lastc[lastc.Length - 2].ToString();
                 byte last2 = byte.Parse(time);
                 time = lastc[lastc.Length - 3].ToString();
                 byte last3 = byte.Parse(time);
                 int chislo = last * last2 - last3;
                 return chislo;
         }
E][pertДата: Вторник, 05 Апреля 2011, 18:46 | Сообщение # 26
C#-XNA-Unity
Сейчас нет на сайте
К сожалению мне это не поможет если сегодня не решу вопрос с генератором ландшафта придётся делать игру или в другой среде или менять игру.

Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
Tower defence in processing... For Web/iOS/Android.
StageДата: Вторник, 05 Апреля 2011, 19:04 | Сообщение # 27
постоянный участник
Сейчас нет на сайте
Quote
К сожалению мне это не поможет

Ну так покажи свой код, телепатов нет здесь. Предвижу кривое использование рандома.

Quote
если сегодня не решу вопрос с генератором ландшафта придётся делать игру или в другой среде или менять игру.

Лучше не делай игры, пока не наберешься опыта, ибо алгоритмическая база у тебя отсутствует как таковая. Вопросы уровня как в цикле добавить число к элементу какбы намекают.
E][pertДата: Вторник, 05 Апреля 2011, 19:14 | Сообщение # 28
C#-XNA-Unity
Сейчас нет на сайте
Stage, выложил код в теме

Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
Tower defence in processing... For Web/iOS/Android.
RedPanda_UAДата: Пятница, 13 Января 2012, 20:40 | Сообщение # 29
был не раз
Сейчас нет на сайте
Не знаю нужно ли еще это но...
Code

    public void FillLevel_Dirt()
          {
              Random rnd = new Random(DateTime.Now.Millisecond);

              for (int i = 0; i < 18; i++)
              {
                  for (int j = 0; j < 25; j++)
                  {
                      level[rnd.Next(0, 18), rnd.Next(0, 25)] = 0;
                  }

              }
            
          }



Рандомно заполняет 2Д массив числом 0.

Как сид для рандома использую текущую миллисекунду =)


Извиняйте за плохой русский сам с Украины =)


Сообщение отредактировал RedPanda_UA - Пятница, 13 Января 2012, 20:42
MatouДата: Пятница, 13 Января 2012, 21:25 | Сообщение # 30
Исходный коТ
Сейчас нет на сайте
Quote (TimKruz)
В природе вообще не бывает случайностей

Слышал бы тебя Гейзенберг >_<



AlekseyLebДата: Понедельник, 06 Февраля 2012, 18:54 | Сообщение # 31
был не раз
Сейчас нет на сайте
Было такое... Генератор одни и те же значения выкидывал, но я исправил.
Вот ссылка на мой проект: Point

Там генератор вынесен в отдельный класс.
Замечу, что Random rnd = new Random(); выдаёт псевдо-случайные числа.

braincubeДата: Вторник, 06 Марта 2012, 21:18 | Сообщение # 32
был не раз
Сейчас нет на сайте
както так.
var a = new Random(DateTime.Now.Milliseconds);
TheFlowOfFunДата: Вторник, 20 Марта 2012, 20:06 | Сообщение # 33
участник
Сейчас нет на сайте
У меня один небольшой вопросик к ТС - зачем тебе понадобился полный рандом?

N/A
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг