/// <summary>Обработчик Столкновений</summary> static void Collision(GameAPI.GameMap map, GameAPI.Point p, Object NewObj, Object ExistObj) { if ((NewObj is GameAPI.Snake) && (ExistObj is GameAPI.Mouse)) { //Удалим яблочко map.Remove(p); (NewObj as Snake).Grow(map); // Вырастим if ((NewObj as Snake).Count >= 12) { throw new GameWinExeption(); //Віиграли } RandomAppleGeneration(); // Сгенерим новое яблочко } else { throw new GameOverExeption(); } }
/// <summary>Метод генерация и размещения mouse</summary> static void RandomAppleGeneration() { GameAPI.Point p; //Генерируем координаты пока не пусто do { p = new GameAPI.Point(MyRandom.R.Next(map.XSize), MyRandom.R.Next(map.YSize)); } while (map[p] != null); if (apple == null) apple = new GameAPI.Mouse(p); else apple.CurentPosition = p; apple.Vektor = (MoveVektor)MyRandom.R.Next(4); map.Add(apple.CurentPosition,apple); }
/// <summary>Метод генерация и размещения mouse</summary> static void RandomAppleGeneration() { GameAPI.Point p; //Генерируем координаты пока не пусто do { p = new GameAPI.Point(MyRandom.R.Next(map.XSize), MyRandom.R.Next(map.YSize)); } while (map[p] != null); if (apple == null) { apple = new GameAPI.Mouse(p); } else { apple.CurentPosition = p; } apple.Vektor = (MoveVektor)MyRandom.R.Next(4); map.Add(apple.CurentPosition, apple); }