Compare commits
2 Commits
d13de717ce
...
f1e7235253
Author | SHA1 | Date | |
---|---|---|---|
f1e7235253 | |||
256cd86e29 |
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "report/config"]
|
||||
path = report/config
|
||||
url = https://git.hoo2.net/hoo2/LaTeX_confing.git
|
4
report/.gitignore
vendored
Normal file
4
report/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
*.aux
|
||||
*.log
|
||||
*.out
|
||||
*.gz
|
1
report/config
Submodule
1
report/config
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit c27d16e915615bc56a7b09f56e882661ac69b860
|
BIN
report/report.pdf
Normal file
BIN
report/report.pdf
Normal file
Binary file not shown.
43
report/report.tex
Normal file
43
report/report.tex
Normal file
@ -0,0 +1,43 @@
|
||||
%
|
||||
% Report for data structures 2020-2021 assignment part 1.
|
||||
%
|
||||
% authors:
|
||||
% Χρήστος Χουτουρίδης ΑΕΜ 8997
|
||||
% cchoutou@ece.auth.gr
|
||||
|
||||
|
||||
% Document configuration
|
||||
\newcommand{\ClassName}{Δομές δεδομένων}
|
||||
\newcommand{\DocTitle}{Λαβύρινθος: Ο Θησέας και ο Μινώταυρος}
|
||||
\newcommand{\InstructorName}{Σιάχαλου Σταυρούλα}
|
||||
\newcommand{\InstructorMail}{ssiachal@auth.gr}
|
||||
\newcommand{\CurrentDate}{\today}
|
||||
|
||||
\input{config/AuthReportConfig.tex}
|
||||
|
||||
%\renewcommand{\AuthorName}{Χρήστος Χουτουρίδης}
|
||||
%\renewcommand{\AuthorMail}{cchoutou@ece.auth.gr}
|
||||
%\renewcommand{\AuthorAEM}{8997}
|
||||
|
||||
\setFancyHeadLR{\ClassName}{\DocTitle}
|
||||
%\setFancyHeadLERO{\ClassName}{\DocTitle}
|
||||
|
||||
% Document
|
||||
% =================
|
||||
\begin{document}
|
||||
|
||||
\FirstPage
|
||||
|
||||
%\tableofcontents
|
||||
%\listoffigures
|
||||
%\listoftables
|
||||
|
||||
\section{Εισαγωγή}
|
||||
|
||||
% References
|
||||
% ============================
|
||||
%\begin{thebibliography}{100}
|
||||
%\bibitem{item}item...
|
||||
%\end{thebibliography}
|
||||
|
||||
\end{document}
|
@ -22,6 +22,8 @@ class Const {
|
||||
*/
|
||||
class Session {
|
||||
static int boardSize = 15; /**< Default board's size (if no one set it via command line) */
|
||||
static int supplySize = 4; /**< Default board's supply size (if no one set it via command line) */
|
||||
static int wallSize = 4*15-1; /**< Default board's wall size (if no one set it via command line) */
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,6 +15,9 @@ public class Game {
|
||||
|
||||
Game() {} /**< An empty constructor */
|
||||
|
||||
int round () { return round; }
|
||||
int nextRound() { return ++round; }
|
||||
|
||||
/**
|
||||
* @name Accessor/Mutator interface
|
||||
* @note
|
||||
@ -34,20 +37,69 @@ public class Game {
|
||||
/**
|
||||
* Main game loop
|
||||
*/
|
||||
static boolean getArguments (String[] args) {
|
||||
boolean ret = true;
|
||||
|
||||
for (int i =0 ; i<args.length ; ++i) {
|
||||
switch (args[i]) {
|
||||
case "-b":
|
||||
case "--board":
|
||||
if (i+1 < args.length)
|
||||
Session.boardSize = Integer.parseInt(args[++i]);
|
||||
break;
|
||||
|
||||
case "-w":
|
||||
case "--walls":
|
||||
if (i+1 < args.length)
|
||||
Session.wallSize = Integer.parseInt(args[++i]);
|
||||
break;
|
||||
|
||||
case "-s":
|
||||
case "--suplies":
|
||||
if (i+1 < args.length)
|
||||
Session.supplySize = Integer.parseInt(args[++i]);
|
||||
break;
|
||||
|
||||
default:
|
||||
ret = false;
|
||||
case "-h":
|
||||
case "--help":
|
||||
System.out.println("Labyrinth Game");
|
||||
System.out.println("");
|
||||
System.out.println("Usage:");
|
||||
System.out.println("labyrinth [-b|--board <Num>] [-w|--walls <Num>] [-s|--supplies <Num>]");
|
||||
System.out.println("or");
|
||||
System.out.println("labyrinth -h|--help");
|
||||
System.out.println("");
|
||||
System.out.println("\t-b | --board: Sets the size of board's edge.");
|
||||
System.out.println("\t-w | --walls: Sets the number of walls on the board.");
|
||||
System.out.println("\t-s | --supplies: Sets the number of supplies on the board.");
|
||||
System.out.println("\t-h | --help: Print this and exit");
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
// Get command line options
|
||||
Game.getArguments(args);
|
||||
|
||||
// Create a game, a board and 2 players.
|
||||
Game game = new Game();
|
||||
Board board = new Board(11, 4, 82);
|
||||
Player T = new Player(1, "Theseus", board, 0);
|
||||
Player M = new Player(2, "Minotaur", board, Position.toID(3, 3));
|
||||
Game game = new Game();
|
||||
Board board = new Board(Session.boardSize, Session.supplySize, Session.wallSize);
|
||||
Player T = new Player(1, "Theseus", board, 0);
|
||||
Player M = new Player(2, "Minotaur", board, Position.toID(Session.boardSize/2, Session.boardSize/2));
|
||||
|
||||
// Populate data to the board
|
||||
board.createBoard(T.playerTileId(), M.playerTileId());
|
||||
|
||||
// The game
|
||||
while (true) {
|
||||
int[] m;
|
||||
System.out.println();
|
||||
System.out.println("Round: " + (game.getRound()+1));
|
||||
System.out.println("Round: " + (game.round()+1));
|
||||
|
||||
m = T.move(T.playerTileId());
|
||||
System.out.println(T.getName() + ":\t tileId =" + m[0] + " (" + m[1] + ", " + m[2] + ")");
|
||||
@ -66,8 +118,7 @@ public class Game {
|
||||
System.out.println(M.getName() + " Wins!!! Score =" + M.getScore());
|
||||
System.exit(0);
|
||||
}
|
||||
game.setRound(game.getRound()+1);
|
||||
if (!(game.getRound() < 100)) {
|
||||
if (!(game.nextRound() < 100)) {
|
||||
System.out.println("New day has come... Tie!!!");
|
||||
System.exit(0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user