Tic Tac Toe Agent

Tic Tac Toe Agent

The aim of this project was to develop an agent that takes on the role of a human player within the classic game of Tic Tac Toe. The agent developed was reactive.

Three behaviours were used within the agent, these were 'I can move', 'I can block' and 'I can win'.

Difficulty levels were implemented within these behaviours, for example diagonal moves would not be blocked on the easy setting.

Technologies used: Java

People involved: Graham Griffiths

The aim of this project was to investigate suitable methods of evolutionary intelligence for solving a simple wall following problem effectively.

The initial implementation involved using a genetic algorithm and a lookup table.

Different selection, crossover and mutation operators were trialled to discover which were more efficient at solving the wall following problem. As an experimental method, the second implementation involved using a Neural Network.

Wall Following Robot

Wall Following Robot

Technologies used: Java

People involved: Graham Griffiths

HTCPCP

HTCPCP

This project consists of a client and server that both support HTCPCP, the Hyper-Text Coffee-Pot Control Protocol.

This protocol is designed to allow the remote control of coffee brewing machines via the internet.

An HTCPCP server accepts requests from remote clients and uses these requests to manage the coffee machine.

The server provides responses based on the status of the coffee brewing machine(s).

Technologies used: Java

People involved: Graham Griffiths

This project consisted of designing and developing a prototype reservation system for a given client, Old Frenchay Inn(OFI).

The design included devising a UML use case from the client's requirements, a UML class diagram for the system itself and a critical appraisal of the design and the finished project.

For development, the structure of the code and classes needed to be in a logical format and all given test cases were to be successful.

Old Frenchay Inn

Old Frenchay Inn

Technologies used: Java

People involved: Graham Griffiths

Guessing Games : I

Guessing Games : I

An application with a suitable user interface that allows the user to guess a randomly generated number.

A test mode is implemented so that the functionality of the application can be checked, for example displaying 'higher' when appropriate.

Inputs have not been validated as it was assumed the user would enter a valid numerical input.

Classes have been designed so that the GUI is separate from the model code, in a cohesive manner with low responsibility per class and no duplicated code.

Technologies used: Java

People involved: Graham Griffiths

This application is built on to the previous guessing games project, a new tab has been added to allow users to guess a word generated from a specified list.

There are lists for both three and four letter words.Again, a test mode was implemented and inputs are not validated.

The user enters a letter at a time, initially each character in the word is hidden by a *, if the guess is correct then the corresponding * will change to the correct letter. A history of letters used so far is also kept and displayed.

Guessing Games : II

Guessing Games : II

Technologies used: Java

People involved: Graham Griffiths