Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
EudyContreras authored May 8, 2018
1 parent 3aa9428 commit 6390b28
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@


This is an an Othello/Riversi game made in Java using JavaFX GUI Framework.
The game allows you to implement and add your own AI agents which you will then be able to test and play againts. OthelloFX comes with 3 different Agent implementations excluding the usual ones such as MiniMax which you will have to implement on your own. The game can be ran in multiple modes:
The game allows you to implement and add your own AI agents which you will then be able to test and play againts. OthelloFX comes with 3 different Agent implementations purposefully excluding the usual ones such as MiniMax which you will have to implement on your own. The framework can run in multiple modes:

* Human Player vs Human Player
* Humna Player vs AI Agent
@@ -19,12 +19,12 @@ The game allows you to implement and add your own AI agents which you will then

## Getting Started

Refer to the main folder in order to find the documented files you need. There you will see the [User Settings](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/UserSettings.java) file, [Agent Manager](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/AgentManager.java) in which you will run your agent, as well as various example agents and implementations. Take a look at the [Agent Controller](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/controllers/AgentController.java) for useful methods, etc
Refer to the main folder in order to find the documented files you need. There you will see the [User Settings](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/UserSettings.java) file, the [Agent Manager](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/AgentManager.java) in which you will run your agent/s, as well as various example agents and implementations. Take a look at the [Agent Controller](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/controllers/AgentController.java) for useful static methods, etc


#### Move

Implement a move if necessary or use the existing implementation. A move must extend from [Abstract Move](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/capsules/AbstractMove.java) Implements the compareTo method and the IsValid. In those methods you define what makes a move better than the other as well as how you define a move as valid. Take a look at [Move Wrapper](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/capsules/MoveWrapper.java) for an example of how a move is implemented. Only the isValid and the compareTo method are needed by the framework but as you can see you can also create your own helper methods.
Implement a move if necessary or use the existing implementation. A move must extend from [Abstract Move](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/capsules/AbstractMove.java) and implement the compareTo and the IsValid methods. In those methods you define what makes a move better than the other as well as how you define a move as valid. Take a look at [Move Wrapper](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/capsules/MoveWrapper.java) for an example of how a move is implemented. Only the isValid and the compareTo method are needed by the framework but as you can see you can also create your own helper methods.


> Example Move class which extends from AbstractMove
@@ -51,7 +51,7 @@ public class ExampleMove extends AbstractMove{

#### AI Agent

Your agent must extend from the [Agent Move](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/controllers/AgentMove.java) which is a simple POJO containing important information used for determining how good your move algorithm performs, along with other information regarding the move search. The constructor of an *AgentMove* allows the turn/type to be specified as well as a name if you wish to give your agent a name.
Your agent must extend from the [Agent Move](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/controllers/AgentMove.java) which is a simple POJO containing important information used for determining how good your move algorithm performs, along with other information regarding the move search. The constructor of an *AgentMove* allows the turn/type to be specified as well as a name in case you wish to give your agent a name.


> Example Agent class which extends from AgentMove
@@ -71,9 +71,9 @@ public class ExampleAgent extends AgentMove{

#### Agent Manager

The [Agent Manager](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/AgentManager.java) is the class you will use to run your agents. In order to run your agent simply create an instance of your agent and pass it through the second parametter of the instance of Othello just how it is shown below. The game manager will allow you to pass one or two agents. The first agent must always be PlayerOne while the second must always be PlayerTwo. The player type is determine by the turn. Player one always starts.
The [Agent Manager](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/AgentManager.java) is the class you will use to run your agent/s. In order to run your agent/s simply create an instance of your agent and pass it through the second parametter of the of the Othello constructor just how it is shown below. The game manager will allow you to pass one or two agents. The first agent must always be PlayerOne while the second must always be PlayerTwo. The player type is determine by the turn. Player one always starts.

> Agent Manager class main launcher application
> Agent Manager and main launcher application
```java

public class AgentManager extends Application{
@@ -93,7 +93,7 @@ public class AgentManager extends Application{
#### Notes


Take a look at the [Agent Manager](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/AgentManager.java) to see a variety of helper methods as well as various implementations of different angents. There are other utility classes which might be of help
Take a look at the [Agent Controller](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/com/eudycontreras/othello/controllers/AgentController.java) to see a variety of helper methods as well as various implementations of different dumb and smart agents. There are other utility classes which might be of help. Explore the utilities package!


#### Customization
@@ -121,21 +121,19 @@ The [User Settings](https://github.com/EudyContreras/Othello-FX-Framework/blob/m

#### Prerequisites

Things you need in order to be able to run OthelloFX
Things you need in order to be able to run *OthelloFX*

* [Java 8 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) or highter



#### Installing

A step by step series of examples that tell you have to get a development env running
#### Installation and setup

1. Download and install the any [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) above 8
2. Clone this project using the console or your favorite IDE.
3. Run from the [Agent Manager](https://github.com/EudyContreras/Othello-FX-Framework/blob/master/Othello%20FX%20Edu/src/main/AgentManager.java) and test to assure everything is working as expected
4. If you run into trouble ask google for help
5. If google cant help me you may contact me at the email at the end of this page.
4. If you run into trouble ask google for help ;)
5. If google cant help you!!!! feel free to contact me at the email at the end of this page.



@@ -174,7 +172,7 @@ Please read [Contributing](https://github.com/EudyContreras/Othello-FX-Framework
### Contact


Any questions reach me at.
If any questions reach me at.
Econtreras12@live.com


0 comments on commit 6390b28

Please sign in to comment.