Exemple #1
0
 private void clearNotBlack()
 {
     for (int i = 0; i < _table.Size; i++)
     {
         for (int j = 0; j < _table.Size; j++)
         {
             if (_table.GetValue(i, j) != -1)
             {
                 _table.SetValue(i, j, 0);
             }
         }
     }
 }
Exemple #2
0
        public void Step() // ha tikre mozog a pálya előre akkor hasznos és akkor paraméter se kell
        {
            if (IsGameOver) // ha már vége a játéknak, nem játszhatunk
                return;
            Random rand = new Random();
            double random = rand.NextDouble();
            for(int i = 0; i < _table.Size; i++)
            {
                for(int j = 0; j < 5; j++)
                {
                    if(random <= 0.3)
                    {
                        if(_table.GetValue(i, j) >= 2)
                        {
                            crazyHorses.Add(j, 2);
                            if (i + 1 < _table.Size)
                            {
                                _table.SetValue(i + 1, j, _table.GetValue(i, j));
                                _table.SetValue(i, j, 0);

                                
                            }
                        }
                        for (int k = 0; k < 5; k++)
                        {
                            if (crazyHorses.ContainsKey(k))
                            {
                                crazyHorses[k] -= crazyHorses[k];
                                if (crazyHorses[k] == 0)
                                {
                                    crazyHorses.Remove(k);
                                }
                            }
                        }
                    }
                    else
                    {
                        if(_table.GetValue(0,j) >= 2)
                        {
                            _table.SetValue(0, j, countPosition);
                            countPosition--;
                            //Debug.Write(-2 - j);
                        }
                        if (_table.GetValue(i, j) >= 2 && i - 1 >= 0 && !crazyHorses.ContainsKey(i))
                        {
                            Debug.Write(i + " " + j + "\n");
                            _table.SetValue(i - 1, j, _table.GetValue(i, j));
                            _table.SetValue(i, j, 0);
                            
                        }
                    }
                    random = rand.NextDouble();
                }
            }

            _gameStepCount++; // lépésszám növelés

            OnGameAdvanced();

            //if (_table.IsFilled)
            //{
            //    OnGameOver(true);
            //}
        }