//Löscht alle Invaliden Moves aus gegebener Liste private List <string> deleteInvalid_move(List <Piece> possiblemove, Piece position, Board board, int player) //Löscht invalide Züge und gibt valide zurück { List <string> validmove = new List <string>(); foreach (Piece option in possiblemove) { //Move ist invalid wenn //Spielzug ausßerhalb Spielfeld if (option.Item1 > 7 || option.Item1 < 0) { continue; } if (option.Item2 > 7 || option.Item2 < 0) { continue; } // normale Steine nur vorwärts if (board[position] == 'b') { if (position.Item2 - 1 == option.Item2) { continue; } } if (board[position] == 'w') { if (position.Item2 + 1 == option.Item2) { continue; } } //Feld bereits belegt if (board[option] != '.') { continue; } validmove.Add(drawing.TupleToString(position) + "," + drawing.TupleToString(option)); } return(validmove); }