Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //тут метод для хода компьютера с двумя опциями - рандомом и умным компьютером, который просчитывает оптимальность клетки
- private static void compTurn() {
- int row = -1;
- int col = -1;
- if (silly_mode) {
- do {
- row = ran.nextInt(size);
- col = ran.nextInt(size);
- } while (!valid(row, col));
- } else {
- smartMove(row, col);
- }
- while (!valid(row, col)) ;
- System.out.println("Компьютер сделал ход " + (row + 1) + (col + 1));
- map[row][col] = o;
- }
- //тут цикл проходится по клеткам и ищет свободные. потом проверяет, какая из свободных клеток более релевантна (релевантность проверяется в отдельном методе)
- public static void smartMove(int x, int y) {
- x = 0;
- y = 0;
- int temporal=0;
- int bestChoice = 0;
- for(int i = 0; i<size; i++) {
- for(int j = 0; j<size; j++) {
- if(map[i][j]==empty)
- temporal = checkAndChose(i, j);
- if(temporal>bestChoice) {
- bestChoice=temporal;
- x=i;
- y=j;
- }
- }
- }
- //if(bestChoice>0) {
- // map[x][y]==o;
- // }
- }
- //тут компьюетр вроде бы таким образом проходится по клеткам и выясняет, где уже он до этого поставил свой символ
- private static int checkAndChose(int x, int y) {
- int count = 0;
- for(int i = x-1; i<size; i++) {
- for(int j = y-1; j<size; j++) {
- if(map[i][j]==o && valid(x,y))
- count++;
- }
- }
- return count;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement