//Spawns player private void spawnPlayer() { if (currLevel < levelCount) { //Randomises level amplitude = UnityEngine.Random.Range(20, 40f); frequency = UnityEngine.Random.Range(1, 2f); CreateRoad(); //Gets spawn position int spawnPos = (int)UnityEngine.Random.Range(2, points.Count - 2); GameObject g; //Spawns player g = Instantiate(player, player.transform.position, Quaternion.identity); g.transform.name = "Car"; g.transform.position = new Vector3(points[spawnPos].x, 1f, points[spawnPos].z + 5f); g.transform.LookAt(new Vector3(0, points[spawnPos + 1].y, 0)); //Spawn marker g = builder.getPyramid(new Vector3(points[spawnPos].x, 15f, points[spawnPos].z - 10f), 20f, 20f, 10f, Color.red); g.transform.name = "Marker"; g.transform.Rotate(180, 0, 0); StartCoroutine(spin(g)); //Spawn Boundary g = builder.getCube(new Vector3(points[spawnPos].x, 1f, points[spawnPos].z), roadWidth * 3, 10, 1); g.transform.name = "Border"; g.transform.LookAt(new Vector3(0, points[spawnPos + 1].y, 0)); g.transform.Rotate(0, 90, 0); //Spawn Level trigger g = Instantiate(leveltrig, transform.position, Quaternion.identity); g.transform.name = "Trigger"; g.transform.position = new Vector3(points[spawnPos].x, 1f, points[spawnPos].z - 5f); g.transform.LookAt(new Vector3(0, points[spawnPos + 1].y, 0)); g.transform.Rotate(0, 90, 0); g.GetComponent <BoxCollider>().size = new Vector3(roadWidth * 3, 2, 1); } }
void generateMaze() { //Maze sizes int width = 30; int depth = 40; //Wall and border colors Color wallcol = Random.ColorHSV(); Color bordercol = Random.ColorHSV(); //Start and end points Vector3 startPos = new Vector3(Random.Range(0, width) + 0.5f, 0.1f, Random.Range(0, depth) + 0.5f); Vector3 endPos = new Vector3(Random.Range(0, width) + 0.5f, 0.1f, Random.Range(0, depth) + 0.5f); //Floor builder.createPlane(Vector3.zero, width, depth); //Boundary Walls builder.createCube(new Vector3(width + 0.5f, 2.5f, depth / 2), 1, 5, depth, bordercol); builder.createCube(new Vector3(-0.5f, 2.5f, depth / 2), 1, 5, depth, bordercol); builder.createCube(new Vector3(width / 2, 2.5f, depth + 0.5f), width, 5, 1, bordercol); builder.createCube(new Vector3(width / 2, 2.5f, -0.5f), width, 5, 1, bordercol); //Z aligned walls builder.createCube(new Vector3(2, 1.5f, 9), 0.02f, 3, 14, wallcol); builder.createCube(new Vector3(2, 1.5f, 31), 0.02f, 3, 18, wallcol); builder.createCube(new Vector3(4, 1.5f, 30), 0.02f, 3, 16, wallcol); builder.createCube(new Vector3(4, 1.5f, 7), 0.02f, 3, 14, wallcol); builder.createCube(new Vector3(6, 1.5f, 32), 0.02f, 3, 16, wallcol); builder.createCube(new Vector3(6, 1.5f, 7), 0.02f, 3, 14, wallcol); builder.createCube(new Vector3(6, 1.5f, 21), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(8, 1.5f, 5), 0.02f, 3, 6, wallcol); builder.createCube(new Vector3(8, 1.5f, 32), 0.02f, 3, 12, wallcol); builder.createCube(new Vector3(8, 1.5f, 15), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(10, 1.5f, 3), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(10, 1.5f, 31), 0.02f, 3, 14, wallcol); builder.createCube(new Vector3(12, 1.5f, 25), 0.02f, 3, 10, wallcol); builder.createCube(new Vector3(12, 1.5f, 35), 0.02f, 3, 6, wallcol); builder.createCube(new Vector3(14, 1.5f, 5), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(14, 1.5f, 23), 0.02f, 3, 10, wallcol); builder.createCube(new Vector3(14, 1.5f, 35), 0.02f, 3, 10, wallcol); builder.createCube(new Vector3(16, 1.5f, 27), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(16, 1.5f, 18), 0.02f, 3, 4, wallcol); builder.createCube(new Vector3(16, 1.5f, 23), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(16, 1.5f, 35), 0.02f, 3, 6, wallcol); builder.createCube(new Vector3(18, 1.5f, 16), 0.02f, 3, 4, wallcol); builder.createCube(new Vector3(18, 1.5f, 27), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(18, 1.5f, 23), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(18, 1.5f, 35), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(20, 1.5f, 3), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(20, 1.5f, 7), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(20, 1.5f, 16), 0.02f, 3, 8, wallcol); builder.createCube(new Vector3(20, 1.5f, 27), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(20, 1.5f, 23), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(22, 1.5f, 15), 0.02f, 3, 6, wallcol); builder.createCube(new Vector3(22, 1.5f, 27), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(22, 1.5f, 23), 0.02f, 3, 2, wallcol); builder.createCube(new Vector3(24, 1.5f, 26), 0.02f, 3, 8, wallcol); builder.createCube(new Vector3(24, 1.5f, 15), 0.02f, 3, 6, wallcol); builder.createCube(new Vector3(26, 1.5f, 26), 0.02f, 3, 8, wallcol); builder.createCube(new Vector3(26, 1.5f, 15), 0.02f, 3, 10, wallcol); builder.createCube(new Vector3(28, 1.5f, 12), 0.02f, 3, 20, wallcol); builder.createCube(new Vector3(28, 1.5f, 27), 0.02f, 3, 6, wallcol); builder.createCube(new Vector3(28, 1.5f, 35), 0.02f, 3, 2, wallcol); //X aligned walls builder.createCube(new Vector3(2, 1.5f, 20), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(7, 1.5f, 22), 6, 3, 0.02f, wallcol); builder.createCube(new Vector3(7, 1.5f, 38), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(7, 1.5f, 18), 10, 3, 0.02f, wallcol); builder.createCube(new Vector3(8, 1.5f, 20), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(8, 1.5f, 24), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(9, 1.5f, 16), 14, 3, 0.02f, wallcol); builder.createCube(new Vector3(10, 1.5f, 6), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(11, 1.5f, 4), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(13, 1.5f, 14), 10, 3, 0.02f, wallcol); builder.createCube(new Vector3(13, 1.5f, 30), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(15, 1.5f, 12), 14, 3, 0.02f, wallcol); builder.createCube(new Vector3(16, 1.5f, 6), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(16, 1.5f, 4), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(17, 1.5f, 10), 18, 3, 0.02f, wallcol); builder.createCube(new Vector3(17, 1.5f, 28), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(17, 1.5f, 22), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(17, 1.5f, 30), 6, 3, 0.02f, wallcol); builder.createCube(new Vector3(18, 1.5f, 8), 20, 3, 0.02f, wallcol); builder.createCube(new Vector3(19, 1.5f, 2), 18, 3, 0.02f, wallcol); builder.createCube(new Vector3(20, 1.5f, 20), 8, 3, 0.02f, wallcol); builder.createCube(new Vector3(21, 1.5f, 28), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(21, 1.5f, 22), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(22, 1.5f, 6), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(22, 1.5f, 4), 4, 3, 0.02f, wallcol); builder.createCube(new Vector3(22, 1.5f, 34), 8, 3, 0.02f, wallcol); builder.createCube(new Vector3(23, 1.5f, 15), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(23, 1.5f, 32), 10, 3, 0.02f, wallcol); builder.createCube(new Vector3(23, 1.5f, 38), 10, 3, 0.02f, wallcol); builder.createCube(new Vector3(23, 1.5f, 30), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(24, 1.5f, 36), 8, 3, 0.02f, wallcol); builder.createCube(new Vector3(27, 1.5f, 22), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(27, 1.5f, 30), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(27, 1.5f, 6), 2, 3, 0.02f, wallcol); builder.createCube(new Vector3(27, 1.5f, 4), 2, 3, 0.02f, wallcol); //Spawn the player Instantiate(player, new Vector3(startPos.x, startPos.y + 2, startPos.z), Quaternion.identity); //Spawn start and end point builder.createPyramid(startPos, 0.5f, 0.5f, 0.5f, Color.red); GameObject g = builder.getPyramid(endPos, 0.5f, 0.5f, 0.5f, Color.green); g.transform.name = "End"; StartCoroutine(spin(g)); }