Esempio n. 1
0
 private ShrimpValues[] GenerateAllShrimp(int count)
 {
     ShrimpValues[] allValues = new ShrimpValues[count];
     for (int i = 0; i < count; i++)
     {
         allValues[i] = GenerateOneShrimp(i, count);
     }
     return(allValues);
 }
Esempio n. 2
0
    private ShrimpValues GenerateOneShrimp(int index, int count)
    {
        ShrimpValues newShrimpValues = new ShrimpValues();

        float desiredMetric = temporalDistribution.Evaluate(Random.value);

        newShrimpValues.desiredMetric = desiredMetric;
        newShrimpValues.metricRange   = metricCurve.Evaluate(index / count);

        return(newShrimpValues);
    }
Esempio n. 3
0
    void FixedUpdate()
    {
        if (!gameRunning)
        {
            timeDisplay.text = "";             // Hide time in menu
            return;
        }

        timer           -= Time.fixedDeltaTime;
        timeDisplay.text = Mathf.Floor(timer + 0.5f).ToString();
        if (timer <= 0f)
        {
            timeDisplay.text = "";             // Hide time in menu
            if (!endSequenceStarted)
            {
                StartCoroutine(KillTacos());
                StartCoroutine(MoveInAndEat());
                endSequenceStarted = true;
            }
            return;
        }

        for (int playerIndex = 0; playerIndex < gameStates.Length; playerIndex++)
        {
            GameState gameState = gameStates[playerIndex];

            Camera       c             = gameState.myCamera;
            ShrimpValues shrimp        = shrimpQueue[gameState.shrimpIndex];
            float        metric        = gameState.myRocker.EvaluationMetric;
            float        desiredMetric = shrimp.desiredMetric;
            float        metricRange   = shrimp.metricRange;

            gameState.metric = metric;
            if (metric > desiredMetric + metricRange / 2f)
            {
                c.backgroundColor = ColorExtensions.Slerp(goodColor, badColor, Mathf.Clamp01((metric - desiredMetric - metricRange / 2f) / (desiredMetric + visualizationRange)));
            }
            else
            {
                c.backgroundColor = ColorExtensions.Slerp(neutralColor, goodColor, Mathf.Clamp01(metric / (desiredMetric - metricRange / 2f)));
            }

            if (InRange(gameState.myRocker.RightMetric, desiredMetric, metricRange) && InRange(gameState.myRocker.LeftMetric, desiredMetric, metricRange) ||
                simulateSuccessCount > 0)
            {
                if (simulateSuccessCount > 0)
                {
                    simulateSuccessCount--;
                }
                // Debug.Log("Asleep!");

                if (firstBlood < 0)                   // HACK TO MAKE FIRST TIME WINNER WIN
                {
                    firstBlood = playerIndex;
                }

                gameState.scoreTacos.Add(gameState.myRocker.gameObject);
                StartNewRoundForGameState(gameState);
            }
        }
    }
Esempio n. 4
0
    private ShrimpValues GenerateOneShrimp(int index, int count)
    {
        ShrimpValues newShrimpValues = new ShrimpValues();

        float desiredMetric = temporalDistribution.Evaluate(Random.value);
        newShrimpValues.desiredMetric = desiredMetric;
        newShrimpValues.metricRange = metricCurve.Evaluate(index/count);

        return newShrimpValues;
    }
Esempio n. 5
0
 private ShrimpValues[] GenerateAllShrimp(int count)
 {
     ShrimpValues[] allValues = new ShrimpValues[count];
     for (int i = 0; i < count; i++) {
         allValues[i] = GenerateOneShrimp(i, count);
     }
     return allValues;
 }