Esempio n. 1
0
    public void RegisterDeath(FlappyController flappy)
    {
        var aIController = flappy.GetComponent <FlappyAIController>();

        if (aIController == null)
        {
            return;
        }
        _contestants.Add(new SContestants()
        {
            _score  = CalculateFitness(flappy),
            _genome = aIController.Genome
        });

        _alives.Remove(flappy);

        if (_alives.Count == 0)
        {
            var tmpContestants = new List <SContestants>(_contestants);
            _contestants.Clear();
            _contestants = new List <SContestants>(tmpContestants.OrderBy((x) => x._score));
            //_contestants = new List<SContestants>(_contestants.OrderBy((x) => x._score));
            Debug.Log($"MaxScore: {_contestants.Last()._score}");
            if (_contestants.Last()._score > _maxDistance)
            {
                _maxDistance = _contestants.Last()._score;
            }
            Debug.Log(_contestants.Last()._genome.ToString());
            var champions = _contestants.Skip(Mathf.Max(0, _contestants.Count() - _championCount)).Select(c => c._genome).ToList();
            //var champions = _contestants.Take(_championCount).Select(c=>c._genome).ToList();
            Reset();
            Generate(champions);
        }
    }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        adManager = FindObjectOfType <AdManager>();

        GetScore();
        Debug.Log("playCount: " + playCount);
        Time.timeScale = 0;
        if (playCount > 3)
        {
            int randomChance = Random.Range(0, 2);
            Debug.Log(randomChance);
            if (randomChance == 1)
            {
                adManager.ShowStandardVideoAd();
                playCount = 0;
            }
        }
        Time.timeScale = 1;

        flappy           = GameObject.Find("Flappy");
        flappyController = flappy.GetComponent <FlappyController>();
        flappyRB         = flappy.GetComponent <Rigidbody2D>();
        startCanvas      = GameObject.Find("StartCanvas");
        gameOverCanvas   = GameObject.Find("GameOverCanvas");
        gameOverCanvas.SetActive(false);
        obstacleSpawner = GameObject.Find("ObstacleSpawner");
        os = obstacleSpawner.GetComponent <ObstacleSpawner>();
        sc = gameOverCanvas.GetComponent <ScoreCounter>();

        score = 0;
        UpdateScore();
    }
Esempio n. 3
0
 // Use this for initialization
 void Start()
 {
     mainCamera      = Camera.main;
     playerCharacter = GameObject.Find("Flappy");
     fc = playerCharacter.GetComponent <FlappyController>();
 }
Esempio n. 4
0
 private float CalculateFitness(FlappyController flappy)
 {
     return(flappy.Score);
 }
Esempio n. 5
0
 // Start is called before the first frame update
 void Awake()
 {
     _controller = GetComponent <FlappyController>();
 }
Esempio n. 6
0
 // Use this for initialization
 void Start()
 {
     rb = GetComponent <Rigidbody2D>();
     fc = GetComponent <FlappyController>();
 }
Esempio n. 7
0
 void Start()
 {
     death = GameObject.Find("DickButt").GetComponent <FlappyController> ();
 }