void SpawnNormalEnemy() { int xMin = -18; int xMax = 18; int yMin = -3; int yMax = 9; int spawnX; int spawnY; int tries = 0; do { spawnX = Random.Range(xMin / 3, xMax / 3) * 3; spawnY = (int)(RandomFromDistribution.RandomRangeExponential(yMin / 3, yMax / 3, 2, RandomFromDistribution.Direction_e.Right)) * 3; tries++; if (tries == 10) { Debug.Log("Can't find space to spawn normal enemy!"); return; } } while (IsEnemyThere(spawnX, spawnY, "EnemyShip1")); Vector3 spawnLocation = new Vector3(spawnX, 30, 0); Quaternion roation = Quaternion.Euler(0, 0, 0); GameObject normalEnemySpawn = (GameObject)Instantiate(normalEnemy, spawnLocation, roation); normalEnemySpawn.GetComponent <enemy01Manager>().setSpawnLocation(spawnX, spawnY); }
private void GenerateCone(int color) { for (int i = 0; i < 25; i++) { float minAngle = this.transform.rotation.eulerAngles.z - coneAngle; float maxAngle = this.transform.rotation.eulerAngles.z + coneAngle; //Debug.Log("Angulo: " + this.transform.rotation.eulerAngles + " Min: " + minAngle + " Max: " + maxAngle); float newAngle = RandomFromDistribution.RandomRangeNormalDistribution(minAngle, maxAngle, RandomFromDistribution.ConfidenceLevel_e._95); if (newAngle <= 360 && newAngle >= 275) { newAngle = 0; } else if (newAngle >= 180 && newAngle < 275) { newAngle = 180; } newAngle = newAngle * Mathf.Deg2Rad; float newDistance = RandomFromDistribution.RandomRangeExponential(0, distance, 1, RandomFromDistribution.Direction_e.Right); float catetoX = Mathf.Cos(newAngle) * newDistance; float catetoY = Mathf.Abs(Mathf.Sin(newAngle) * newDistance); //Debug.Log("NewAngle: " + newAngle + " NewDistance: " + newDistance + " CatetoX: " + catetoX + " CatetoY: " + catetoY); Vector3 newPoint = this.transform.position + new Vector3(catetoX, catetoY, 0); int shift = Random.Range(0, 2); Instantiate(stain[color * 2 + shift], newPoint, Quaternion.identity); } }
public int CreateGraph(int repetitions, int min, int max, int playerbucket, GameObject videoObj) { int[] buckets = new int[max + 1 - min]; for (int i = 0; i < buckets.Length; ++i) { buckets[i] = 0; } for (int i = 0; i < repetitions; ++i) { float bucket = RandomFromDistribution.RandomRangeExponential(min, max, exponent, direction); buckets[Mathf.RoundToInt(bucket) - min]++; } if (playerbucket > max) { playerbucket = max; } if (playerbucket < min) { playerbucket = min; } repetitions -= buckets[playerbucket]; return(buckets[playerbucket]); }
// Update is called once per frame void Update() { instantiationTimer -= Time.deltaTime; //controller.GetComponent<Controller>().getNumPlanesOfLvl(3) < 12 if (instantiationTimer <= 0 && controller.GetComponent <Controller>().getFlyingPlanes() < 10) { createPlane(); instantiationTimer = RandomFromDistribution.RandomRangeExponential(5, 8, 2, direction); } }
// Update is called once per frame void Update() { if (player.transform.position.z < 0 & numTraversalsLocal != sp.numTraversals) { numTraversalsLocal++; if (numTraversalsLocal >= (numBaselineTrials + numTrainingTrials)) { if (nextMorphTrial < 0) { nextMorphTrial = numTraversalsLocal + (int)RandomFromDistribution.RandomRangeExponential(0f, 8f, morphExp, RandomFromDistribution.Direction_e.Right); } if (numTraversalsLocal == nextMorphTrial) { nextMorphTrial = -1; sp.morph = morphTrials[morphCounter]; morphCounter++; } else { sp.morph = NextTrial(); trialHistory.Add(sp.morph); } } else if (numTraversalsLocal >= numBaselineTrials) { sp.morph = NextTrial(); trialHistory.Add(sp.morph); } else { sp.morph = baselineTrials[numTraversalsLocal]; } if (UnityEngine.Random.value < .5) { sp.BlockWalls = true; } else { sp.BlockWalls = false; } if (trialHistory.Count > 40) { trialHistory.RemoveAt(0); } } }
protected override float GetRandomNumber(float min, float max) { return(RandomFromDistribution.RandomRangeExponential(min, max, exponent, direction)); //Debug.Log(RandomFromDistribution.RandomRangeExponential(min, max, exponent, direction)); }
// Start is called before the first frame update void Start() { instantiationTimer = RandomFromDistribution.RandomRangeExponential(5, 8, 2, direction); }
public override float GetRandomNumber(float min, float max) { return(RandomFromDistribution.RandomRangeExponential(min, max, exponent, direction)); }