I am designing a chess game using OO principles;. Suggestions on its improvement; like add of an interface class or other method
//board.java public abstract class board { public abstract void move(int x, int y); } //Game.java import java.util.Scanner; public class Game { public static void main(String[] args) { rook R = new rook(); System.out.println(" Rook your position is 4x4, Whats your next move?"); Scanner s = new Scanner(System.in); System.out.println("Enter Row"); int row =s.nextInt(); System.out.println("Enter column"); int column = s.nextInt(); R.move(row, column); pawn P = new pawn(); System.out.println(" Pawn your position is 5x5, Whats your next move?"); Scanner n = new Scanner(System.in); System.out.println("Enter Row"); row =n.nextInt(); System.out.println("Enter column"); column = n.nextInt(); P.move(row, column); bishop B = new bishop(); System.out.println(" Bishop your position is 3x2, Whats your next move?"); Scanner a = new Scanner(System.in); System.out.println("Enter Row"); row =a.nextInt(); System.out.println("Enter column"); column = a.nextInt(); B.move(row, column); knight K = new knight(); System.out.println(" Knight your position is 3x2, Whats your next move?"); Scanner b = new Scanner(System.in); System.out.println("Enter Row"); row =b.nextInt(); System.out.println("Enter column"); column = b.nextInt(); K.move(row, column); queen Q = new queen(); System.out.println(" Queen your position is 3x2, Whats your next move?"); Scanner c = new Scanner(System.in); System.out.println("Enter Row"); row =c.nextInt(); System.out.println("Enter column"); column = c.nextInt(); Q.move(row, column); king G = new king(); System.out.println("King your position is 3x2, Whats your next move?"); Scanner d = new Scanner(System.in); System.out.println("Enter Row"); row =d.nextInt(); System.out.println("Enter column"); column = d.nextInt(); G.move(row, column); } } //pawn.java public class pawn extends board { public void move(in