Code Monkey home page Code Monkey logo

go-life-and-death-player's Introduction

Hi there ๐Ÿ‘‹

I'm a software/ML/other types of engineer. If you're curious about my background, take a look at classes I've taken during my Bachelors of Science and Masters of Science. Below is a contents page of my repositories, loosely grouped by area:

General Machine Learning

Reinforcement Learning & Artificial Intelligence

Natural Language Processing

Games

Robotics

Other

go-life-and-death-player's People

Contributors

hoodscott avatar jamie00170 avatar kirilhristov91 avatar niklasz avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

go-life-and-death-player's Issues

JUnit Testing - FileIO.java - writeFile()

Write JUnit Test-cases to verify if:
-A file is written to the right location.
-That file contains the correct input.
-Exceptions are thrown and caught appropriately.

JUnit Testing - FileIO.java - translateBoard()

Write an input to verify that each exception is thrown when it is meant to be. (E.g too small board). Also make sure it doesn't throw anything when a correct board is inputted (make this a board with a lot of pieces on it).

Add a equals() method to Board.java

Use Arrays.deepEquals() to do this. Also make sure to respectively update:
-the Test cases in GameEngine.java and LegalMoveChecker.java.
-The SuperKo method in LegalMoveChecker.java

Write an Exception for LegalMoveChecker.java

It might be of interest to know why a move is illegal from either UI. To enable this, write an exception that is thrown by checkMove(), passed on by the GameEngine and caught by the UI. It should then display the msg variable of the exception as it sees fit.

JUnit Testing - FileIO.java - readBoard()

Write JUnit testcases to:
-Test both methods of readBoard.java to see whether the correct paths are used.
-Verify whether the board data read in is what is returned.
-Verify that if a BoardFormatException is thrown, a default board is returned.

JUnit Testing - FileIO.java - writeBoard()

Write JUnit testcases to:
-Test both methods of writeBoard.java. Verify whether a board is written to the given directories or file names.
-Verify the Board is written correctly and whether it adheres to the appropriate format.
-Also check whether inputting a board with bad data (e.g. not 0, 1, 2) generates a BoardFormatException.

Test performance of LegalMoveChecker

This test-case should evaluates its performance in the worst case scenario.
A decent worst-case should be:
-A game on a large board with at least 50 previous moves.

Recall that this class will need to check EVERY move the AI tries, so even the slightest performance analysis and improvement is helpful.

Design a hashing algorithm for a Go Board.

This hashing algorithm should have a fairly low collision rate. It is valuable though, as it improve performance on the LegalMoveChecker and especially all game tree AIs.

JUnit Testing - TextUI.java - move()

Note from author: I will probably heavily refactor the if-statement abomination.
Write test cases to check if:
-The given input is interpreted correctly.
-The appropriate exceptions are thrown when the input is incorrect.

JUnit Testing - Board.java - clone()

Write JUnit testcases to:
Verify the functionality of the clone() method. This is whether or not it successfully creates a complete a separate, identical copy of the original.

JUnit Testing - TextUI.java - init()

Write Test-Cases to verify:
-If commands are read in correctly.
-Whether commands are handled correctly (whether they are mapped to the right method).

JUnit Testing - TextUI.java - saveLog()

Write test cases to check if:
-The given input is interpreted correctly.
-Exceptions are thrown when the input is incorrect or when there is nothing to log.

Check that the build.xml in package branch compiles correctly.

Download the package branch, then run "ant resolve" to resolve dependencies.
Then, in Eclipse, use the build file to create a new project:
(File>New>Other...>Java Project From Existing Ant Buildfile)
Choose the ant buildfile from our project, then select the "javac" task found in target "compile" and click finish.
The project should now be in Eclipse without any bugs.

JUnit Testing - GameEngine.java - undoLastMove()

Write Test-cases to:
-Verify if the method correctly reverts to a previous move and returns true.
-Returns false (and does not crash horribly) if there is either no board or no prior moves to undo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.