/// <summary> /// Elindít egy új játékot a megadott paraméterekket /// </summary> /// <param name="gameMode">játékmód</param> /// <param name="difficulty">nehézség</param> /// <param name="imageList">képek listája</param> /// <param name="boardAnimal">a tábla alakzata, ha null, akkor szimpla négyzet lesz</param> /// <returns>A táblával tér vissza</returns> /*public Board newGame(GameMode gameMode, Difficulty difficulty, IBoardShapes boardAnimal, List<Image> imageList) * { * this.gameMode = gameMode; * * board = new Board(imageList); * board.createBoard(difficulty, boardAnimal); //TODO az imageList-bõl válasszon képet * //board.createBoard_New(difficulty, boardAnimal); * ImagesToFind = Game.ImagesToFind.createNewImagesToFind(gameMode, difficulty, board); * * if (gameMode == GameMode.TIME) * { * elapsedTime = new TimeSpan(0, 0, 30); * } * else * { * elapsedTime = TimeSpan.Zero; * } * if(TimeElapsedHandler!=null) TimeElapsedHandler(elapsedTime); * time.Start(); * * return board; * }*/ /// <summary> /// Elindít egy új játékot a megadott paraméterekket /// </summary> /// <param name="gameMode">játékmód</param> /// <param name="difficulty">nehézség</param> /// <param name="imageList">képek listája</param> /// <param name="boardAnimal">a tábla alakzata, ha null, akkor szimpla négyzet lesz</param> /// <returns>A táblával tér vissza</returns> public Board NewGame(GameMode gameMode, Difficulty difficulty, IBoardShapes boardAnimal, List <Image> imageList) { this.gameMode = gameMode; this.difficulty = difficulty; board = new Board(imageList); board.CreateBoard(difficulty, boardAnimal); ImagesToFind = Game.ImagesToFind.CreateNewImagesToFind(gameMode, difficulty, board); if (gameMode == GameMode.TIME) { ElapsedTime = new TimeSpan(0, 0, 30); } else { ElapsedTime = TimeSpan.Zero; } if (TimeElapsedHandler != null) { TimeElapsedHandler(ElapsedTime); } startTime = GameManager.CurrentGameTime; Paused = false; time.Start(); return(board); }
/// <summary> /// Elkészíti a megtalálandó képek osztályát az elkészített táblából nehézség szerint /// </summary> /// <param name="gameMode"></param> /// <param name="difficulty"></param> /// <param name="board"></param> /// <returns></returns> public static ImagesToFind CreateNewImagesToFind(GameMode gameMode, Difficulty difficulty, Board board) { ImagesToFind imagesToFind = new ImagesToFind(); imagesToFind.ToFind = new List <Image>(); imagesToFind.Board = board; imagesToFind.GameMode = gameMode; //Nehézség szerint kitalálja, hogy hány képet is kelljen keresnie a játékosnak Random random = new Random(); int toFindCount = 0; if (difficulty == Difficulty.EASY) { toFindCount = 5 + random.Next(-2, 2); } else if (difficulty == Difficulty.NORMAL) { toFindCount = 10 + random.Next(-3, 3); } else if (difficulty == Difficulty.HARD) { toFindCount = 20 + random.Next(-5, 5); } //kiválaszt megadott számú random mezõt az elkészített táblából List <Field> toFindRandomFieldsFromBoard = board.AllFields.OrderBy(x => random.Next()).Take(toFindCount).ToList(); //a random mezõkbõl kiszedi a képet - ez azért kell, mert egy kép többször is szerepelhet foreach (Field field in toFindRandomFieldsFromBoard) { imagesToFind.ToFind.Add(field.ImageProperty); } return(imagesToFind); }