private void randomAI(Gameboard gb) { Fairway from = randomFrom(gb); Fairway to = randomTo(gb, from); gb.addHistory(from, to); rules.makeMove(from, to, gb, true); }
private Gameboard MiniMaxAI(Gameboard gb, int depth) { List <Fairway> bMove = bestMove(gb, depth); string f = bMove[0].Name; string t = bMove[1].Name; var from = new Fairway(); var to = new Fairway(); foreach (var fw in gb.Board) { from = fw.Name == f ? fw : from; to = fw.Name == t ? fw : to; } rules.generateMoves(gb, from); gb.addHistory(from, to); rules.makeMove(from, to, gb, true); return(gb); }
private Gameboard MiniMaxAI(Gameboard gb, int depth) { List<Fairway> bMove = bestMove(gb, depth); string f = bMove[0].Name; string t = bMove[1].Name; var from = new Fairway(); var to = new Fairway(); foreach (var fw in gb.Board) { from = fw.Name == f ? fw : from; to = fw.Name == t ? fw : to; } rules.generateMoves(gb, from); gb.addHistory(from, to); rules.makeMove(from, to, gb, true); return gb; }
/// <summary> /// Funkce provadejici nacteni hry a zkontrolovani, zda se jedna o korektni ulozeni /// </summary> /// <param name="filePath">cesta k souboru</param> /// <param name="gb">Hraci deska, na niz maji byt zmeny provedeny</param> /// <returns>Hraci desku s odehratou hrou</returns> public Gameboard loadGame(string filePath, Gameboard gb) { string from = ""; string to = ""; Fairway fwFrom; Fairway fwTo; var rules = new Rules(); gb.Board = gb.newBoard(); using (XmlReader reader = XmlReader.Create(filePath)) { while (reader.Read()) { if (reader.IsStartElement()) { switch (reader.Name) { // nacteme si obtiznost bileho hrace a nastavime case "WHITE": if (reader.Read()) { int whitePlayer = Convert.ToInt32(reader.Value.Trim()); gb.WhitePlayer = whitePlayer; } break; // nacteme si obtiznost cerneho hrace a nastavime case "BLACK": if (reader.Read()) { int blackPlayer = Convert.ToInt32(reader.Value.Trim()); gb.BlackPlayer = blackPlayer; } break; // nacteme si zacinajiciho hrace a nastavime case "STARTS": if (reader.Read()) { bool startsWhite = Convert.ToBoolean(reader.Value.Trim()); gb.StartsWhite = startsWhite; } break; // case "SHOWHELP": if (reader.Read()) { bool showHelp = Convert.ToBoolean(reader.Value.Trim()); gb.ShowMoveHelp = showHelp; } break; case "FROM": if (reader.Read()) { from = reader.Value.Trim(); } break; case "TO": if (reader.Read()) { to = reader.Value.Trim(); } fwFrom = gb.getFigure(from); fwTo = gb.getFigure(to); rules.generateMoves(gb); rules.makeMove(fwFrom, fwTo, gb, false); gb.addHistory(fwFrom, fwTo); break; default: break; } } } } return(gb); }
/// <summary> /// Funkce provadejici nacteni hry a zkontrolovani, zda se jedna o korektni ulozeni /// </summary> /// <param name="filePath">cesta k souboru</param> /// <param name="gb">Hraci deska, na niz maji byt zmeny provedeny</param> /// <returns>Hraci desku s odehratou hrou</returns> public Gameboard loadGame(string filePath, Gameboard gb) { string from = ""; string to = ""; Fairway fwFrom; Fairway fwTo; Rules rules = new Rules(); gb.Board = gb.newBoard(); using (XmlReader reader = XmlReader.Create(filePath)) { while (reader.Read()) { if (reader.IsStartElement()) { switch (reader.Name) { // nacteme si obtiznost bileho hrace a nastavime case "WHITE": if (reader.Read()) { int whitePlayer = Convert.ToInt32(reader.Value.Trim()); gb.WhitePlayer = whitePlayer; } break; // nacteme si obtiznost cerneho hrace a nastavime case "BLACK": if (reader.Read()) { int blackPlayer = Convert.ToInt32(reader.Value.Trim()); gb.BlackPlayer = blackPlayer; } break; // nacteme si zacinajiciho hrace a nastavime case "STARTS": if (reader.Read()) { bool startsWhite = Convert.ToBoolean(reader.Value.Trim()); gb.StartsWhite = startsWhite; } break; // case "SHOWHELP": if (reader.Read()) { bool showHelp = Convert.ToBoolean(reader.Value.Trim()); gb.ShowMoveHelp = showHelp; } break; case "FROM": if (reader.Read()) from = (string)reader.Value.Trim(); break; case "TO": if (reader.Read()) to = (string)reader.Value.Trim(); fwFrom = gb.getFigure(from); fwTo = gb.getFigure(to); rules.generateMoves(gb); rules.makeMove(fwFrom, fwTo, gb, false); gb.addHistory(fwFrom, fwTo); break; default: break; } } } } return gb; }