Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please make sure to do all of the tasks described in the file attached in cronoligcal order. Please edit the code in file Tictactoe.java and
Please make sure to do all of the tasks described in the file attached in cronoligcal order.
Please edit the code in file Tictactoe.java and Connectfour.java completely so the test file runs succesfully. Please don't just give me random verbal answers. Thank you
This is a java task that requires code editing, and code writing. The different code files are pasted below with file name specified filename"Thank you!
Player.java
public class Player
private boolean human;
private String name;
private Playerboolean human, String name
this.human human;
this.name name;
public static Player createHumanString name
return new Playertrue name;
public static Player createComputer
return new PlayerfalseAI;
public boolean isHuman
return human;
public String getName
return name;
TwoPlayerBoardGame.java
import java.util.Scanner;
import java.util.Random;
public abstract class TwoPlayerBoardGame
protected static final Scanner console new ScannerSystemin;
protected static final Random random new Random;
protected final char board;
private final int MAXMOVES;
protected Player current;
private Player other;
protected TwoPlayerBoardGamechar board, int MAXMOVES, Player p Player p
this.board board;
this.MAXMOVES MAXMOVES;
this.current p;
this.other p;
public final void play
for int i ; i MAXMOVES; i
System.out.printlnthis;
do
if currentisHuman
askForMove;
receiveMove;
else
generateMove;
while validMove;
applyMove;
if someoneWon
System.out.printlnthis;
celebrateMove;
return;
else
prepareForNextMove;
System.out.printlnthis;
System.out.printlnIts a draw.";
protected abstract void askForMove;
protected abstract void receiveMove;
protected abstract void generateMove;
protected abstract boolean validMove;
protected abstract void applyMove;
protected abstract boolean someoneWon;
protected abstract void celebrateMove;
protected void prepareForNextMove
Player tmp current;
current other;
other tmp;
TestGames.java
public class TestGames
public static void mainString args
TwoPlayerBoardGame game;
game new TicTacToePlayercreateHumanStudent Player.createComputer;
game.play;
game new TicTacToePlayercreateHumanRoy Player.createHumanMoss;
game.play;
game new ConnectFourPlayercreateHumanStudent Player.createComputer;
game.play;
game new ConnectFourPlayercreateHumanJen Player.createHumanMoss;
game.play;
TicTacToe.java
public final class TicTacToe extends TwoPlayerBoardGame
private char XO X;
private int row;
private int col;
public TicTacToePlayer p Player p
supernull p p;
public String toString
return ;
protected void askForMove
protected void receiveMove
row console.nextInt;
col console.nextInt;
protected void generateMove
row Math.absrandomnextInt;
col Math.absrandomnextInt;
protected boolean validMove
return true;
protected void applyMove
protected boolean someoneWon
return false;
protected void celebrateMove
protected void prepareForNextMove
ConnectFour.java
public final class ConnectFour extends TwoPlayerBoardGame
private char RY R;
private int col;
private static final int ROWS ;
private static final int COLS ;
public ConnectFourPlayer p Player p
supernull p p;
public String toString
return ;
protected void askForMove
protected void receiveMove
protected void generateMove
protected boolean validMove
return true;
protected void applyMove
protected boolean someoneWon
return false;
protected void celebrateMove
protected void prepareForNextMove
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started