コード例 #1
0
    public void YearOfRainTest()
    {
        // Test the Storm Generation method
        HumidityLayer testEquation   = new HumidityLayer("HumidityTests", 6, 1);
        string        filePathPrefix = @"C:\Users\William\Documents\World Generator Maps\CavemanWorld\DynamicCavemanWorld\Assets\Resources\CSV\";

        testEquation.readCSVFiles(filePathPrefix);
        DailyLayer rainfall      = testEquation.GenerateWorldsYearOfRain();
        int        zerocount     = 0;
        int        positivecount = 0;

        System.Random randy = new System.Random();
        int           x     = randy.Next(0, 50);
        int           z     = randy.Next(0, 50);
        int           daye  = randy.Next(0, 120);

        // Make sure all numbers are legal
        for (int a = 0; a < 50; a++)
        {
            for (int b = 0; b < 50; b++)
            {
                for (int i = 0; i < 120; i++)
                {
                    if (rainfall.worldArray[i][a, b] == 0.0f)
                    {
                        zerocount++;
                    }
                    else if (rainfall.worldArray[i][a, b] > 0.0f)
                    {
                        positivecount++;
                    }
                }
            }
        }

        // Debug.Log("0: " + zerocount + " / +: " + positivecount);
        Assert.AreEqual(120 * 50 * 50, zerocount + positivecount);
        Assert.AreNotSame(120 * 50 * 50, zerocount);
        Assert.GreaterOrEqual(testEquation.CalculateHumidityFromBase(daye, x, z), 0.0f);
        Assert.LessOrEqual(testEquation.CalculateHumidityFromBase(daye, x, z), 10.0f);

        // Print the first day of rain.

        for (int day = 10; day < 30; day++)
        {
            Debug.Log("Day " + day);
            Debug.Log(printArray(rainfall.worldArray[day]));
        }
    }
コード例 #2
0
ファイル: World.cs プロジェクト: hueblerw/CavemanWorld
 // Calcuate a year's worth of river data
 private void CalculateRiverYear()
 {
     // Initialize a random number generator
     System.Random randy = new System.Random();
     // Reset the 2 main layers
     ResetStaticRiverLayers();
     // Iterate
     for (int day = 0; day < 120; day++)
     {
         for (int x = 0; x < WorldX; x++)
         {
             for (int z = 0; z < WorldZ; z++)
             {
                 if (oceanPer.worldArray[x, z] != 1f)
                 {
                     // Account for snow fall ***LATER***
                     // Calculate the river flow
                     riverStats.worldArray[x, z].CalculateSurfaceWater(day, rainfall.worldArray[day][x, z], snow.worldArray[day][x, z], temps[x, z].getDaysTemp(day), humidity.CalculateHumidityFromBase(day, x, z), randy);
                 }
             }
         }
         // if day == 1 Reset the lastRiverUpstream layer
         if (day == 1)
         {
             ResetLastDayLayer();
         }
     }
 }