コード例 #1
0
 public void GenerateWorldSeed()
 {
     levelSeed   = SeedGenerator.GenerateSeed();
     perlinNoise = new PerlinNoise(levelSeed);
     Random.InitState(levelSeed);
     Debug.Log("levelSeed = " + levelSeed);
 }
コード例 #2
0
    // Use this for initialization
    void Awake()
    {
        seedGenerator = mapManager.GetComponent<SeedGenerator> ();
            generate_map = GenerateMap.GetComponent<Generate_map> ();
            hexsizevariables = mapManager.GetComponent<HexsixeVariables> ();
            int columnAmount = seedGenerator.columnAmount;
            int rowAmount = seedGenerator.RowAmount;
            biome = seedGenerator.biome;

            if (biome == 4) {
                GetComponent<Renderer> ().material.color = Color.blue;

            }
            if (biome == 1) {
                GetComponent<Renderer> ().material.color = Color.green;

            }
            if (biome == 3) {
                    GetComponent<Renderer> ().material.color = Color.white;

                }
        if (biome == 2) {
            GetComponent<Renderer> ().material.color = Color.red;

        }
        if (biome == 0) {
            GetComponent<Renderer> ().material.color = Color.yellow;

        }
            //Debug.Log (biome);
    }
コード例 #3
0
 //Ocean terrain - 15
 public void MakeOceanTerrain()
 {
     tileSize = 3;
     seed     = new Seed(125, 125);
     seedGen  = new SeedGenerator(seed);
     RunTerrainMaker();
 }
コード例 #4
0
        public void GetAllEntities_WithExpectedFileContent_LoadsItems()
        {
            // Arrange
            var fileContent = @"Script @__DataRawSerpent__/data-final-fixes.lua:1: {
  item = {
    accumulator = {
      icon = ""__base__/graphics/icons/accumulator.png"",
      icon_mipmaps = 4,
      icon_size = 64,
      name = ""accumulator"",
      order = ""e[accumulator]-a[accumulator]"",
      place_result = ""accumulator"",
      stack_size = 50,
      subgroup = ""energy"",
      type = ""item""
    }
  }
}";
            var filePath    = Path.GetTempFileName();

            File.WriteAllText(filePath, fileContent);

            // Act
            var generator = new SeedGenerator(filePath);
            var fluids    = generator.GetAllEntities();

            // Assert
            Assert.Collection(fluids, entity =>
            {
                Assert.False(entity.Fluid);
                Assert.Equal("item", entity.Type);
                Assert.Equal("accumulator", entity.Name);
                Assert.Equal("graphics/icons/accumulator.png", entity.Icon);
            });
        }
コード例 #5
0
    public void Init(
        SeedFunnel _funnel,
        SeedGenerator _generator,
        AudioClip soundLoop,
        AudioClip speedSound)
    {
        funnel    = _funnel;
        generator = _generator;

        AddOrbitPaths();
        CreateHandle();
        CreateAudioSources(soundLoop);
        MakingNoise = true;


        seedRenderer = transform.Find("SEED").GetComponent <Renderer>();
        seedMat      = seedRenderer.material;

        glow = transform.Find("Glow");
        glow.GetComponent <Renderer>().enabled = false;

        orbitorSpeedObj               = new GameObject("OrbitorSpeedSound").transform;
        orbitorSpeedObj.parent        = transform;
        orbitorSpeedObj.localPosition = Vector3.zero;
        orbitorSpeedSound             = orbitorSpeedObj.gameObject.AddComponent <GvrAudioSource>();
        orbitorSpeedSound.clip        = speedSound;
        orbitorSpeedSound.loop        = true;
        orbitorSpeedSound.volume      = 0.0f;
        orbitorSpeedSound.Play();
        extraSounds.PlayOneShot(enterSound);
    }
コード例 #6
0
    //Marsh terrain - 9
    public void MakeMarshTerrain()
    {
        tileSize = 3;
        seed     = new Seed(100, 100);
        seedGen  = new SeedGenerator(seed);

        RunTerrainMaker();
    }
コード例 #7
0
        public void Seed()
        {
            SetDataDirectory(Settings.Default.ProjectDirectoryNameContainingDatabase);

            var generator = new SeedGenerator(CreateDatabaseContext());

            generator.Generate();
        }
コード例 #8
0
ファイル: SeedFunnel.cs プロジェクト: arabeenradar/unreal
    public void Init(SeedGenerator _generator)
    {
        //[bh 02-20-2017] warning cleanup
        //generator = _generator;

        Material[] mats = gameObject.GetComponent <Renderer>().materials;
        funnelMat = mats[1];
    }
コード例 #9
0
    //TODO: Will need grass and shrubs, no trees. This is flat
    //Steppe Terrain - 4
    public void MakeSteppeTerrain()
    {
        tileSize = 4f;
        seed     = new Seed(125, 125);
        seedGen  = new SeedGenerator(seed);

        seedGen.SetMapDouble();
        RunTerrainMaker();
    }
コード例 #10
0
    public void Init(SeedGenerator _generator, int id, AudioClip _handleSound, AudioClip _hoverSound, AnimationCurve curve)
    {
        generator = _generator;
        handleID  = id;

        turnStartRot = transform.localRotation;
        turnEndRot   = transform.localRotation * Quaternion.AngleAxis(-90, Vector3.up);

        EventTrigger trigger = gameObject.AddComponent <EventTrigger>( );

        EventTrigger.Entry clickEvent = new EventTrigger.Entry( );
        clickEvent.eventID = EventTriggerType.PointerClick;
        clickEvent.callback.AddListener((data) => { TurnHandle(); });
        trigger.triggers.Add(clickEvent);

        EventTrigger.Entry enterEvent = new EventTrigger.Entry( );
        enterEvent.eventID = EventTriggerType.PointerEnter;
        enterEvent.callback.AddListener((data) => { Hover(true); });
        trigger.triggers.Add(enterEvent);

        EventTrigger.Entry exitEvent = new EventTrigger.Entry( );
        exitEvent.eventID = EventTriggerType.PointerExit;
        exitEvent.callback.AddListener((data) => { Hover(false); });
        trigger.triggers.Add(exitEvent);

        SphereCollider coll = gameObject.AddComponent <SphereCollider>();

        coll.radius *= 2.0f;

        //we want the 2nd material, if it exists
        var rend = gameObject.GetComponent <Renderer>();

        handleMat = null;
        if (rend != null)
        {
            var mats = rend.materials;
            if (mats != null && mats.Length >= 2)
            {
                handleMat = mats[1];
            }
            else if (mats != null && mats.Length >= 1)
            {
                handleMat = mats[0];
            }
            else
            {
                handleMat = rend.material;
            }
        }

        hoverSound  = _hoverSound;
        handleSound = _handleSound;

        flashCurve = curve;

        CreateAudioSource();
    }
コード例 #11
0
        public void Value_should_be_different_after_n_plus_one_days()
        {
            var firstInstant  = Instant.MinValue.Plus(Duration.FromDays(SeedGenerator.DaysPerSeed - 1));
            var secondInstant = Instant.MinValue.Plus(Duration.FromDays(SeedGenerator.DaysPerSeed));

            var firstSeed  = new SeedGenerator(new FakeClock(firstInstant)).GetCurrent();
            var secondSeed = new SeedGenerator(new FakeClock(secondInstant)).GetCurrent();

            firstSeed.Should().NotBe(secondSeed);
        }
コード例 #12
0
 public LevelGenerator(int levelWidth, int levelHeight, int levelSeed)
 {
     this.levelWidth  = levelWidth;
     this.levelHeight = levelHeight;
     if ((this.levelSeed = levelSeed) == 0)
     {
         this.levelSeed = SeedGenerator.GenerateSeed();
     }
     levelData = new int[this.levelWidth, this.levelHeight];
 }
コード例 #13
0
    //Pillars terrain - 18
    public void MakePillarsTerrain()
    {
        tileSize = 3;
        seed     = new Seed(100, 100);
        seedGen  = new SeedGenerator(seed);
        System.Random random = new System.Random();
        seedGen.SeedProperties(false, false, false, false, false);
        //Lower the terrain
        Vector2 radius = new Vector2(seed.X / 2, seed.Y / 2);
        Vector2 center = new Vector2(seed.X / 2, seed.Y / 2);

        seedGen.SquareFill(radius, center, random.NextDouble() - random.Next(1, 3));

        //Small Hills
        seedGen.SetMapDouble();

        //Blur small hills
        if (RandomBool())
        {
            seedGen.BlurMap();
        }

        //Large Hills - locked to keep shape
        seedGen.SeedProperties(true, false, false, false, false);
        int count = random.Next(0, 15);

        for (int i = 0; i < count; i++)
        {
            int height = random.Next(2, 15);
            radius = new Vector2(random.Next(5, 15), random.Next(5, 15));
            center = new Vector2(random.Next(0, seed.X - 1), random.Next(0, seed.Y - 1));
            seedGen.MountainGradual(radius, center, height, true);
            seedGen.BlurAreaCircle(radius, center);
        }

        seed.SetSeedLock(false);

        //Large Craters - locked to keep shape
        seedGen.SeedProperties(false, true, false, false, false);
        count = random.Next(0, 15);
        for (int i = 0; i < count; i++)
        {
            int height = random.Next(2, 15);
            radius = new Vector2(random.Next(5, 15), random.Next(5, 15));
            center = new Vector2(random.Next(0, seed.X - 1), random.Next(0, seed.Y - 1));
            seedGen.MountainGradual(radius, center, height, true);
            seedGen.BlurAreaCircle(radius, center);
        }

        seed.SetSeedLock(false);

        seedGen.BlurMap();

        RunTerrainMaker();
    }
コード例 #14
0
        public MainLevelEasy()
        {
            GameState.Instance.SetVar <int>("suspicion", 0);
            GameState.Instance.SetVar <int>("max_suspicion", 100);

            GameState.Instance.SetVar <bool>("player_won", false);

            this.ChickenController = new ChickenController(EntityManager, 5);
            this.SeedGenerator     = new SeedGenerator(EntityManager);
            SeedGenerator.GenerateSeeds();
        }
コード例 #15
0
        public void Day_should_equal_number_of_days_since_last_rollover()
        {
            var startInstant = Instant.MinValue;

            for (var i = 0; i < SeedGenerator.DaysPerSeed; i++)
            {
                var fakeClock = new FakeClock(startInstant.Plus(Duration.FromDays(i)));
                var seed      = new SeedGenerator(fakeClock);

                seed.GetCurrent().DaysSinceRollover.Should().Be(i);
            }
        }
コード例 #16
0
    //Swamp terrain - 10
    public void MakeSwampTerrain()
    {
        System.Random random = new System.Random();
        tileSize = 5;

        seed    = new Seed(100, 100);
        seedGen = new SeedGenerator(seed);
        seedGen.SetMapDouble();

        //Set Map blur random values
        if (RandomBool())
        {
            seedGen.SeedProperties(RandomBool(), false, false, false, false);
            seedGen.BlurMap();
            seedGen.SeedProperties(false, false, false, false, false);
        }

        //TODO: add for symmetry
        //seedGen.SeedProperties(false, false, false, false);
        int numCircles = random.Next(1, 5);

        for (int x = 0; x < numCircles; x++)
        {
            Vector2 radius = new Vector2(random.Next(3, seed.X), random.Next(3, seed.Y));
            Vector2 center = new Vector2(random.Next(0, seed.X), random.Next(0, seed.Y));
            seedGen.CircleFill(radius, center, random.NextDouble() + random.Next(-1, 3));
            seedGen.BlurAreaCircle(radius, center);
        }

        //Set Double
        if (RandomBool())
        {
            seedGen.SeedProperties(RandomBool(), false, false, false, false);
            seedGen.SetMapDouble();
            seedGen.SeedProperties(false, false, false, false, false);
        }

        //Set Map blur
        if (RandomBool())
        {
            seedGen.SeedProperties(RandomBool(), false, false, false, false);
            seedGen.BlurMap();
            seedGen.SeedProperties(false, false, false, false, false);
        }

        //Add Water
        if (RandomBool())
        {
            water[0].gameObject.SetActive(true);
        }

        RunTerrainMaker();
    }
コード例 #17
0
        private static SecureRandom CreateSecureRandom()
        {
            /*
             * We use our threaded seed generator to generate a good random seed. If the user
             * has a better random seed, he should use the constructor with a SecureRandom.
             *
             * Hopefully, 20 bytes in fast mode are good enough.
             */
            byte[] seed = SeedGenerator.Create().GenerateSeed(20, true);

            return(new SecureRandom(seed));
        }
コード例 #18
0
    //Flat Terrain - 0
    public void MakeFlatTerrain()
    {
        tileSize = 5;

        seed    = new Seed(100, 100);
        seedGen = new SeedGenerator(seed);
        seedGen.SetMapDouble();

        seedGen.BlurMap();

        RunTerrainMaker();
    }
コード例 #19
0
    //Tundra Terrain - 2
    //TODO - add area for shore or add hills
    //TODO - improve and add yellow grass and rocks
    public void MakeTundraTerrain()
    {
        tileSize = 4f;
        seed     = new Seed(125, 125);
        seedGen  = new SeedGenerator(seed);

        seedGen.SetMapDouble();

        seedGen.SeedProperties(true, false, false, false, false);
        seedGen.SetMapRandom(2);

        RunTerrainMaker();
    }
コード例 #20
0
 // Use this for initialization
 void Start()
 {
     hexSizeVariables = mapManager.GetComponent<HexsixeVariables> ();
     seedgenerator = mapManager.GetComponent<SeedGenerator> ();
     columnAmount = seedgenerator.columnAmount;
     RowAmount = seedgenerator.RowAmount;
     Hexsize = hexSizeVariables.hexsize;
     //		Debug.Log (Hexsize);
     temp = new Vector3 (startingX, 0, startingY);
     temp = transform.position;
     temp.x = startingX;
     temp.z = startingY;
     Debug.Log ("Rowamount = " + RowAmount);
 }
コード例 #21
0
        public void Value_should_be_same_for_n_days()
        {
            var startInstant = Instant.MinValue;

            var seeds = new List <int>();

            for (var i = 0; i < SeedGenerator.DaysPerSeed; i++)
            {
                var fakeClock = new FakeClock(startInstant.Plus(Duration.FromDays(i)));
                var seed      = new SeedGenerator(fakeClock);
                seeds.Add(seed.GetCurrent().Value);
            }

            var first = seeds.First();

            seeds.All(x => x == first).Should().BeTrue();
        }
コード例 #22
0
        private void SeedInitialization(ulong seed)
        {
            /* initializes mt with a seed */
            ulong s = (seed != 0 ? seed : SeedGenerator.Instance().Get());

            _mt[0] = s & 0xffffffffUL;
            for (_mti = 1; _mti < N; _mti++)
            {
                _mt[_mti] = (1812433253UL * (_mt[_mti - 1] ^ (_mt[_mti - 1] >> 30)) + (ulong)_mti);
                /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
                /* In the previous versions, MSBs of the seed affect   */
                /* only MSBs of the array mt[].                        */
                /* 2002/01/09 modified by Makoto Matsumoto             */
                _mt[_mti] &= 0xffffffffUL;
                /* for >32 bit machines */
            }
        }
コード例 #23
0
        public void GetAllEntities_WithExpectedFileContent_LoadsFluids()
        {
            // Arrange
            var fileContent = @"Script @__DataRawSerpent__/data-final-fixes.lua:1: {
  fluid = {
    [""crude-oil""] = {
      base_color = {
        b = 0,
        g = 0,
        r = 0
      },
      default_temperature = 25,
      flow_color = {
        b = 0.5,
        g = 0.5,
        r = 0.5
      },
      heat_capacity = ""0.1KJ"",
      icon = ""__base__/graphics/icons/fluid/crude-oil.png"",
      icon_mipmaps = 4,
      icon_size = 64,
      max_temperature = 100,
      name = ""crude-oil"",
      order = ""a[fluid]-b[crude-oil]"",
      type = ""fluid""
    }
  }
}";
            var filePath    = Path.GetTempFileName();

            File.WriteAllText(filePath, fileContent);

            // Act
            var generator = new SeedGenerator(filePath);
            var fluids    = generator.GetAllEntities();

            // Assert
            Assert.Collection(fluids, entity =>
            {
                Assert.True(entity.Fluid);
                Assert.Equal("fluid", entity.Type);
                Assert.Equal("crude-oil", entity.Name);
                Assert.Equal("graphics/icons/fluid/crude-oil.png", entity.Icon);
            });
        }
コード例 #24
0
    //initalize the game manager
    public void Init()
    {
        _prefabs  = GetComponent <PrefabManager>();
        _strings  = GetComponent <StringManager>();
        _battle   = GameObject.Find("BattleManager").GetComponent <BattleManager>();
        _backdrop = GameObject.Find("BattleBackdrop").GetComponent <BattleBackdropManager>();

        seed = SeedGenerator.StringToInt(playerName);
        Debug.Log("Current Seed: " + seed.ToString());

        playerCharacters = new List <PlayerChampion>();
        playerCharacters.Add(PlayerGenerator.CreateNewCharacter(_prefabs.playerChampionPrefab, playerName));
        mainCharacter = playerCharacters[0].gameObject;
        playerCharacters.Add(PlayerGenerator.CreateNewCharacter(_prefabs.playerChampionPrefab));

        _battle.Init();
        _backdrop.Init();
    }
コード例 #25
0
    //Spire terrain - 16
    public void MakeSpireTerrain()
    {
        tileSize = 4f;
        seed     = new Seed(125, 125);
        seedGen  = new SeedGenerator(seed);
        seedGen.SetMapDouble();
        seedGen.SetMapRandom(2);

        seedGen.SeedProperties(true, false, false, false, false);
        Vector2Int direction = new Vector2Int(1, 0);
        Vector2Int location  = new Vector2Int(10, 10);

        seedGen.Line(5, 10, direction, location);

        Vector2 radius = new Vector2(49, 49);
        Vector2 center = new Vector2(50, 50);

        seedGen.CircleFill(radius, center, 2.5f);

        seedGen.SeedProperties(false, false, false, false, false);
        radius = new Vector2(10, 10);
        center = new Vector2(30, 30);
        seedGen.CircleFill(radius, center, 5);

        radius = new Vector2(9, 9);
        center = new Vector2(30, 30);
        seedGen.CircleFill(radius, center, 6);

        radius = new Vector2(8, 8);
        center = new Vector2(30, 30);
        seedGen.CircleFill(radius, center, 7);

        radius = new Vector2(7, 7);
        center = new Vector2(30, 30);
        seedGen.CircleFill(radius, center, 8);

        radius = new Vector2(6, 6);
        center = new Vector2(30, 30);
        seedGen.CircleFill(radius, center, 9);

        center = new Vector2(90, 25);
        seedGen.SquareFill(radius, center, 15);
        RunTerrainMaker();
    }
コード例 #26
0
    private GameObject[,] GetRandomTiles()
    {
        Color[,] colors = new Color[rows, columns];
        SeedGenerator.SetRandomNotRepeatingCollection(ref colors, settings.TileColors, settings.Seed);

        GameObject TilePrefab = settings.TilePrefab;

        GameObject[,] tiles = new GameObject[rows, columns];

        for (int r = 0; r < rows; r++)
        {
            for (int c = 0; c < columns; c++)
            {
                tiles[r, c] = Instantiate(settings.TilePrefab);
                tiles[r, c].GetComponent <Image>().color = colors[r, c];
            }
        }

        return(tiles);
    }
コード例 #27
0
    /**
     * Initalises the procedual generator
     * @param int size The Chunk size
     * @param SeedGenerator seed The seed generator
     * @return Vector3 Returns the starting origin
     */
    public Vector3 initalise(int size, SeedGenerator seed)
    {
        this.Seed = seed;
        Random.InitState(seed.ChunkSeed);

        float originX = Random.Range(320, 960);

        originX -= originX % size;

        //TODO: Water update has trouble when this is set to 0
        //Likely due to inter-chunk math failing on float boundaries
        float originY = 0.0f;

        float originZ = Random.Range(320, 960);

        originX -= originZ % size;

        startOrigin = new Vector3(originX, originY, originZ);

        this.chunkSize = size;

        return(startOrigin);
    }
コード例 #28
0
    // Use this for initialization
    void Start()
    {
        generator = new ProceduralGenerator();

        seed = new SeedGenerator("a totally random seed", 7);

        origin = generator.initalise(CHUNK_SIZE, seed);

        if (ENABLE_MENU)
        {
            canvas = (GameObject)Instantiate(Resources.Load("Menu/Canvas"), new Vector3(0, 0, 0), Quaternion.identity);

            camera = (GameObject)Instantiate(Resources.Load("Menu/Camera"), new Vector3(origin.x + 0, origin.y + 20, origin.z + 60), Quaternion.LookRotation(new Vector3(0.0f, -0.3f, -1.0f)));
        }
        else
        {
            InitPlayer();
        }

        //while (generator.generateMap (origin) == true) {
        //Loading
        //}
    }
コード例 #29
0
ファイル: NetworkModel.cs プロジェクト: 6a/robot-rumble
        private void OnRoomFilled()
        {
            PhotonNetwork.room.IsOpen = PhotonNetwork.room.IsVisible = false;

            Models.Get <IGamestateModel>().SetState(Gamestate.ReadyCheck);

            var players = new Dictionary <int, string>();

            foreach (var player in PhotonNetwork.playerList)
            {
                Debug.Log($"NickName: {player.NickName} | ID: {player.ID} | UserId: {player.UserId}");
                players.Add(player.ID, player.NickName);
            }

            var sortedPlayers = from pair in players orderby pair.Key ascending select pair;

            PlayerDetails[] playerDetailsArray = new PlayerDetails[sortedPlayers.Count()];
            for (int i = 0; i < sortedPlayers.Count(); i++)
            {
                var details = new PlayerDetails(sortedPlayers.ElementAt(i).Key, i, sortedPlayers.ElementAt(i).Value);
                playerDetailsArray[i] = details;
                if (details.Name == PhotonNetwork.playerName)
                {
                    LocalPlayerID = i;
                }
            }

            CurrentPlayers = playerDetailsArray;

            if (_readyCheckCoroutine != null)
            {
                _co.StopCoroutine(_readyCheckCoroutine);
            }
            _readyCheckCoroutine = _co.StartCoroutine(PlayerReadyCountdown(READY_CHECK_TIME));
            SessionSeed          = SeedGenerator.StringToSeed(PhotonNetwork.room.Name);
            EventDispatcher.Broadcast(RoomFilled, playerDetailsArray);
        }
コード例 #30
0
 protected override void Seed(Khnumdev.TwitBot.Data.DWH.DWHContext context)
 {
     SeedGenerator.Generate(context);
 }
コード例 #31
0
 public void testSeedGenerator()
 {
     //("Testing random-seed generator...");
     SeedGenerator.instance().get();
 }
コード例 #32
0
        protected override void Seed(SchoolContext context)
        {
            var generator = new SeedGenerator(context);

            generator.Generate();
        }