Amir Hoshen, Peleg Zoborovsky, and Jessica Blau
3/5151292 313628364 316486786
This project represent a Directed Graph with algorithms to manipulate the graph. On this graph there will be a game played, with robots and fruits. In this assignment we have developed a data structure, algorithms and Graphical User Interface. The assignment deals with the development of a data structure of deliberate weighted graph. After implement the Data structure, we implement algorithms such as the shortest path from source vertex to a destination vertex, if the graph is connected and several more. On top of this graph will be a game that is played with 1 or more robots that will travel on the graph to catch as many fruits as possible in the amount of time that is given. This Project contains nine main classes
-
directed graph definition In formal terms, a directed graph is an ordered pair G = (V, A) where[1]
-
V is a set whose elements are called vertices, nodes, or points;
-
A is a set of ordered pairs of vertices, called arrows, directed edges (sometimes simply edges with the corresponding set named E instead of A), directed arcs, or directed lines. It differs from an ordinary or undirected graph, in that the latter is defined in terms of unordered pairs of vertices, which are usually called edges, arcs, or lines.
-
edgeData- This class represents a directed edge between two vertexes in a Directed Graph going through source vertex to destination vertex and a set of operations applicable on them.
-
nodeData-[-\This class represents vertexes in a Directed Graph and a set of operations applicable on them.
-
DGraph- This class represents a data structure of deliberate weighted and directed graph.
-
Graph_GUI- This class ilustrate this project , demonstraiting manipulations on a Graph using a graphic user intraface to explore and visualize the graph, with the use of StDdraw library.
-
Graph Algo- This class represent the different algorithms that can be done on this graph.
-
Fruits- This class represents the fruit that will be shown on the graph.
-
Robot- This class represents the robot/s that will be playing in this game.
-
GameLogic- This class represents algorithms that are used by the robots for reaching the fruits.
-
MyGameGUI- This class draws the game on the screen, draws the graph, robots, and fruits. Also, deministrates the moves of the robot while showing the time and score on the screen.