public Rigidbody compare(Connaissances connaissances, Transform tank, float closest, float insertedWhen)
        {
            Rigidbody closestPos = null;

            foreach (Connaissances.Connaissance con in connaissances.connaissances)
            {
                if (closestPos == null || Vector3.Distance(con.getAgent().position, tank.position) > Vector3.Distance(closestPos.position, tank.position))
                {
                    closestPos = con.getAgent();
                }
            }
            return(closestPos);
        }
예제 #2
0
    private IEnumerator RoundStarting(Connaissances connaissances)
    {
        ResetAll();
        DisableControl();

        m_CameraControl.SetStartPositionAndSize();

        m_RoundNumber++;
        m_MessageText.text = "Generation " + m_GenerationNumber + " Squad " + m_RoundNumber;

        agentManager.setIntelligence(squad.tireur, squad.eclaireur, connaissances);

        yield return(m_StartWait);
    }
예제 #3
0
    public override IEnumerator execute(Connaissances connaissances)
    {
        Rigidbody t = choixCible.compare(connaissances, tank.transform, closest, insertedWhen);

        if (t)
        {
            Debug.Log((tank == null ? "Scout" : "Tank") + " MoveToTarget : " + duree);
            yield return(tank.moveToTarget(t));
        }
        else
        {
            yield return(null);
        }
    }
예제 #4
0
    private void Start()
    {
        m_StartWait = new WaitForSeconds(m_StartDelay);
        m_EndWait   = new WaitForSeconds(m_EndDelay);

        agentManager = GetComponent <AgentManager>();
        agentManager.InitAgents(m_NumTargets);

        stopWatch     = Stopwatch.StartNew();
        genetique     = new Genetique(20, 100, 0.1f);
        connaissances = new Connaissances();

        SetScoreUI();

        SetCameraTargets();

        StartCoroutine(GameLoop());
    }
 public Rigidbody compare(Connaissances connaissances, Transform tank, float closest, float insertedWhen)
 {
     //TODO
     return(null);
 }
예제 #6
0
 public void setIntelligence(ActionGame[] ADN, Connaissances connaissances)
 {
     m_Movement.setADN(ADN);
     m_Movement.setConnaissances(connaissances);
 }
예제 #7
0
 public abstract IEnumerator execute(Connaissances connaissances);
예제 #8
0
 public override IEnumerator execute(Connaissances connaissances)
 {
     Debug.Log("Scout BougerRandom : " + duree);
     yield return(scout.BougerRandom(duree, direction));
 }
예제 #9
0
 public void setConnaissances(Connaissances co)
 {
     connaissances = co;
 }
예제 #10
0
 public abstract override IEnumerator execute(Connaissances connaissances);
예제 #11
0
 public void setIntelligence(ActionGame[] ADNTireur, ActionGame[] ADNScout, Connaissances connaissances)
 {
     m_Tanks.setIntelligence(ADNTireur, connaissances);
     m_Scouts.setIntelligence(ADNScout, connaissances);
 }