J'ai un souci venant d'un tableau de Random. Dans mon jeu, le boss envoie une cage sur le terrain. A son impact, il génère un nombre aléatoire d'ennemie et je crée un tableau qui a pour taille ce nombre.
Code : Tout sélectionner
Random r = new Random();
nbEnnemie = r.Next(2, 7);
listEnnemie = new int[nbEnnemie];
Code : Tout sélectionner
for(int i = 0; i < listEnnemie.Length;i++)
{
listEnnemie[i] = new Random().Next(0, 2);
}
foreach (int ennemie in listEnnemie)
{
Debug.Log(ennemie);
}
Voici le code entier :
Code : Tout sélectionner
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices.ComTypes;
using UnityEngine;
using Random = System.Random;
public class MoveCage : MonoBehaviour {
// Use this for initialization
public GameObject cube;
public float speed;
private float temps = 1.5f;
private bool attack = false;
private RaycastHit hit;
private int nbEnnemie;
private int[] listEnnemie;
void Start()
{
}
// Update is called once per frame
void Update()
{
OrbitAround();
transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles.x, 0, 0);
if (attack)
{
temps -= Time.deltaTime;
if (temps < 0)
{
attack = false;
Destroy(this.gameObject);
Random r = new Random();
nbEnnemie = r.Next(2, 7);
listEnnemie = new int[nbEnnemie];
for(int i = 0; i < listEnnemie.Length;i++)
{
listEnnemie[i] = new Random().Next(0, 2);
}
foreach (int ennemie in listEnnemie)
{
Debug.Log(ennemie);
}
temps = 3;
}
}
}
private void OrbitAround()
{
transform.RotateAround(cube.transform.position, Vector3.left, speed * Time.deltaTime);
}
public void setAttack(bool attack)
{
this.attack = attack;
}
}