commit 91f6f902152890d796bb393982482b21f26e42b9
parent ebfa769808fac04a1962bed3f16c9fb4501fd3d1
Author: Christos Margiolis <christos@margiolis.net>
Date: Sat, 18 Jan 2020 14:56:35 +0200
pending gameWin dimension fix
Diffstat:
7 files changed, 38 insertions(+), 134 deletions(-)
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/bin/minesweeper b/assignment-1.5-arrays-pointers-files/minesweeper/bin/minesweeper
Binary files differ.
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/mnsout.txt b/assignment-1.5-arrays-pointers-files/minesweeper/mnsout.txt
@@ -1,120 +1,24 @@
-Mine hit at position (20, 21)
+Mine hit at position (6, 7)
Board overview
-* 2 1 1 - - - - - 1 1 1 - - - - - - - - - - - 1 * 1 - - - - - - -
-1 3 * 2 1 1 1 - - 1 * 1 - - - - - - - - - - - 1 1 1 - - - - - - -
-- 2 * 2 1 * 2 1 1 1 1 1 - - - - - - - - - - - - - - - - - - - - -
-1 2 2 1 1 2 3 * 2 1 1 1 1 1 - - - - - - - - - 1 1 1 - - - - - - -
-1 * 1 - - 1 * 2 2 * 1 1 * 1 - - - - - - - 1 1 2 * 1 - - - - - - -
-1 1 1 1 1 2 1 1 1 1 1 2 2 2 - - - 1 1 2 1 2 * 2 1 1 - - - - - - -
-- - - 1 * 2 1 1 - - - 1 * 1 - - - 1 * 2 * 2 1 1 - - - - - - - - -
-- - - 1 1 2 * 1 - - - 2 2 2 - - - 1 1 2 1 1 - - - - - - - - - - -
-- - - - - 1 1 1 1 1 1 1 * 2 1 - 1 1 1 - - - 1 1 1 - - - - - - - -
-- - 1 2 2 1 - - 1 * 1 1 2 * 1 - 1 * 2 1 1 - 1 * 1 - - - - 1 1 1 -
-- - 2 * * 1 - - 1 1 2 1 2 1 1 1 2 2 3 * 2 - 1 1 1 - - - - 1 * 1 -
-1 1 3 * 3 1 - - - - 1 * 1 - - 1 * 1 2 * 3 1 1 - - - - - - 1 1 1 -
-1 * 2 1 1 - - - - - 1 1 1 - - 1 1 1 1 1 2 * 1 - - - - - - - - - -
-1 1 1 - - 1 1 1 - - - - - - - - - - - - 1 1 1 - - - - - - - - - -
-- - 1 1 1 1 * 2 1 1 - - - - - - - - - 1 1 1 - - - - - - - - 1 1 1
-- - 1 * 2 2 2 2 * 1 - - - - - - - - - 1 * 1 - - - - 1 1 1 - 1 * 1
-- - 1 2 3 * 2 2 2 1 - - - - - - - - - 1 2 2 1 - - - 1 * 1 - 1 1 1
-- - - 1 * 2 2 * 1 - - - - 1 1 1 - - - - 1 * 1 - - - 1 1 1 - - - -
-- - - 1 1 1 1 1 1 - - - - 1 * 1 - - - - 2 2 3 1 1 - - - - - - - -
-- 1 1 1 - - - - - - - 1 1 2 1 1 - - - - 2 * 3 * 1 - - - - - - - -
-- 1 * 1 1 2 2 1 - - - 1 * 1 - - - - - 1 3 * 5 3 2 1 1 1 - - - 1 1
-- 1 1 1 1 * * 1 1 1 1 1 2 2 2 1 2 1 1 1 * 3 * * 2 2 * 1 - - - 1 *
-- 1 1 1 1 2 2 1 1 * 1 - 1 * 2 * 3 * 1 1 1 3 3 4 * 2 1 1 - - - 1 1
-- 1 * 1 - - - - 1 2 2 1 1 1 2 2 * 2 1 - - 1 * 2 1 1 - - - - - - -
-- 1 1 1 - - - - - 1 * 1 - - - 1 1 1 - - 1 2 2 1 - - - - - - - - -
-- - - - - - - - - 1 1 2 1 1 - - - - - - 1 * 1 - - - - - 1 1 1 - -
-- - - - - - - - - - - 1 * 1 - - - 1 1 1 1 1 1 - - - - - 2 * 2 - -
-- - - - - - - - - - - 1 1 1 - - - 1 * 1 - - - - - - - - 2 * 2 - -
-- - - - - - - - - - - - - - - - - 1 1 1 - - - - - - - - 1 1 1 - -
-- 1 2 2 1 - - - - 1 1 1 - - - - - - - - - - - - 1 1 1 - - - - - -
-1 3 * * 1 - - 1 1 2 * 1 - - - - - - - - - - - - 1 * 1 - - - - - -
-* 4 * 3 1 - - 1 * 2 1 1 - - - - - - 1 2 2 1 - 1 2 2 1 - - - - 1 1
-2 * 3 2 1 - - 1 1 1 - - - - - - - - 1 * * 1 - 1 * 1 - - - - - 1 *
-1 2 3 * 1 - - - - - - - - - 1 1 1 1 3 4 4 2 1 1 1 1 - - - - - 2 2
-- 1 * 3 2 1 - - - - - - - - 1 * 1 1 * * 2 * 2 1 1 - - - - - - 1 *
-- 1 1 2 * 2 2 1 1 - - - - - 1 2 2 2 2 2 2 1 2 * 1 - - - - - 1 2 2
-- - - 1 2 * 2 * 1 - - - - 1 1 2 * 1 - - - - 1 1 1 - - - - - 1 * 1
-- - - - 1 1 2 1 1 - - - - 1 * 2 1 1 - - - 1 1 1 - 1 1 1 - 1 2 2 1
-- - - - 1 1 1 - 1 1 1 - - 1 1 2 1 1 1 1 1 1 * 1 - 1 * 1 - 1 * 1 -
-- 1 1 1 1 * 1 1 2 * 1 - 1 1 1 1 * 1 1 * 1 1 1 1 - 1 1 1 1 2 2 1 -
-- 1 * 1 1 1 1 1 * 2 1 - 1 * 1 1 1 1 1 1 1 - - - - 1 1 1 1 * 1 - -
-- 1 1 1 - - - 1 1 1 - - 1 1 1 - - - - - - - - - - 1 * 1 1 1 1 - -
-- - - - - - - - - - - - - - - - - - - - - - - 1 1 2 1 1 - - - - -
-2 2 1 - - - - - - - - - - 1 1 1 - - - - - - - 1 * 1 - - - - - - -
-* * 1 - 1 1 1 - - - - - - 1 * 1 - 1 1 1 - - - 1 1 1 1 1 1 - - - -
-2 2 1 - 2 * 2 - - - - - - 1 1 1 1 2 * 1 - - 1 1 1 - 1 * 1 - - - -
-- 1 2 2 3 * 2 - - - - 1 1 1 - - 1 * 2 1 - - 1 * 1 - 1 1 1 - - - -
-- 1 * * 2 1 1 - - - - 1 * 1 - - 1 1 1 - - - 1 1 1 - - - - 1 1 2 1
-- 1 2 2 1 - - - - - - 1 1 1 - - - - - - - - - - - - - - - 1 * 3 *
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 3 * 2
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 * 2 1
-- 1 1 2 1 1 - - - - 1 1 1 - - - - 1 2 2 1 - 1 1 1 - 1 2 2 2 1 1 -
-- 1 * 2 * 1 - - - - 1 * 1 - - - - 1 * * 1 - 1 * 1 - 1 * * 1 - - -
-- 1 1 2 1 1 - - - 1 2 3 2 1 1 1 1 1 2 2 1 - 1 1 1 - 1 2 3 2 1 - -
-- - - 1 1 1 - - - 2 * 3 * 2 2 * 1 - - - - - - - - - - - 1 * 1 - -
-- 1 1 2 * 1 - - - 2 * 3 2 * 2 1 1 - - - - - - - - - - - 1 1 1 - -
-- 1 * 2 1 1 - - - 1 1 1 1 2 2 1 - - - 1 1 1 - 1 1 1 - - - - - - -
-- 1 1 1 - - - - - - - - 1 2 * 1 - - - 1 * 1 - 1 * 2 1 - - - - - -
-- - - - - - - - - - - - 2 * 3 1 - - - 1 1 1 - 1 2 * 1 - - - - - -
-- - - - - - - - - - - - 2 * 2 1 1 1 - - - - - - 1 1 1 - - - - - -
-- 1 1 2 1 1 - 1 1 1 - - 1 1 2 2 * 1 - - - - - - - 1 1 2 1 1 - - -
-- 1 * 2 * 1 - 1 * 2 1 - - - 1 * 2 1 - - 1 1 1 - - 1 * 2 * 1 - - -
-- 1 2 3 2 1 - 1 3 * 2 - - - 1 2 2 1 - - 1 * 1 - - 1 1 2 1 1 - - -
-- - 1 * 1 - - - 2 * 2 - - - - 1 * 1 - - 1 1 1 - - - - - - - - - -
-- - 1 1 1 - - - 1 2 2 1 1 1 1 1 2 2 1 - - - 1 1 1 - - 1 1 2 1 1 -
-- - - - - - - - - 1 * 1 1 * 1 - 2 * 2 - 1 1 2 * 1 - 1 2 * 2 * 1 -
-- - - - 1 2 2 1 - 1 1 1 1 1 2 1 3 * 2 - 2 * 3 1 2 1 2 * 2 2 1 1 -
-- - - - 1 * * 1 - - - - - - 1 * 2 1 1 - 2 * 2 - 1 * 2 1 1 - - - -
-1 1 - - 1 3 3 2 - - - - - - 1 1 1 - - 1 2 2 1 - 1 1 1 - - - - - -
-* 1 - - - 1 * 1 1 1 1 - - - - - - - - 1 * 1 - - - - - - - - - - -
-1 1 - - - 1 1 1 2 * 2 1 1 1 - - - - - 1 1 1 - - - - - - - - - - -
-- - - - - - 1 1 3 * 2 1 * 1 1 1 1 - - 1 1 1 - - - - - - - - - - -
-- - - - - - 1 * 2 1 1 1 1 1 1 * 2 1 - 1 * 1 - - 1 1 1 - - - - 1 1
-1 1 - - - - 1 1 1 - - - - 1 2 3 * 2 1 2 1 1 - - 1 * 1 - - - - 1 *
-* 1 - - 1 1 1 1 1 1 - - - 1 * 2 1 2 * 1 - - - 1 2 2 1 - - - - 1 1
-1 1 - - 2 * 2 1 * 1 - - - 1 1 1 - 1 1 2 1 1 - 1 * 2 1 - - - - - -
-- - - - 2 * 2 1 1 1 - - - - - - - - - 1 * 1 - 1 2 * 1 - - - - - -
-- - - - 1 1 1 - - - - - - - - - - - - 2 2 2 - - 1 1 1 - 1 1 1 - -
-- - - - - - - - - - - - - - - - - - - 1 * 1 - - - - - - 1 * 1 - -
-- - - - - - - - - - - - 1 1 1 1 1 1 - 1 1 1 - - - - - - 1 1 1 - -
-- - - - - 1 2 2 2 2 2 1 1 * 1 1 * 1 - - - - - - - - - - - - - - -
-- - - - - 1 * * 2 * * 1 1 1 1 1 1 1 - - - - - - - - - - - 1 1 1 -
-- - - - - 2 3 3 2 3 3 2 - - - - - - - - - - - - - - - - - 1 * 2 1
-- - - - - 1 * 2 1 1 * 1 - - - - - - - - - 1 1 1 - - 1 2 2 2 1 2 *
-- - - - - 1 2 * 1 1 1 1 - - - - - - - - 1 2 * 2 1 - 1 * * 1 - 1 1
-- - 1 1 1 - 1 1 1 - 1 1 1 - - - - - - - 1 * 3 * 1 - 1 2 2 1 - - -
-- - 1 * 1 - - - - - 2 * 2 - - - - - - - 1 2 3 2 1 - - - 1 1 1 - -
-- - 1 1 1 - - - - - 2 * 2 - - - - - - 1 1 2 * 1 - - - - 1 * 1 - -
-- - - - - - - 1 1 1 1 1 1 - - - 1 2 2 3 * 3 1 1 - - - - 1 1 1 - -
-- - - - - - - 1 * 1 - - - - - 1 2 * * 3 * 2 - - - - - - - - - 1 1
-- - - - - - - 1 1 1 - - - - - 1 * 3 2 2 1 1 - 1 2 2 1 - - - - 1 *
-- - - - - - - - - - - - - 1 1 2 1 1 1 1 1 - - 1 * * 1 1 2 2 1 1 1
-- - - - - - - - 1 1 1 - - 1 * 1 - - 1 * 1 - - 1 2 2 1 1 * * 1 - -
-- - - - - 1 1 1 1 * 1 1 1 2 1 1 - - 1 1 1 - - - - 1 1 2 2 2 1 - -
-1 1 1 - - 1 * 2 2 2 1 1 * 1 - - - - - - - - - - - 1 * 1 - - - - -
-2 * 1 - - 1 1 2 * 1 1 2 2 1 - - - - - - - - - - - 1 1 2 1 1 - - -
-* 3 1 - - - 1 3 3 2 1 * 1 - - - - - - - - - - - - - - 1 * 1 1 1 1
-* 3 - - - - 1 * * 1 1 1 1 - - - - - 1 1 1 - - - - 1 1 2 1 1 1 * 1
-* 2 - - - - 1 2 2 1 - 1 1 1 - - - - 1 * 2 1 1 - - 1 * 1 - - 1 1 1
-1 1 - - - - - - - - - 1 * 1 - - - - 1 1 2 * 1 - - 1 2 2 1 - 1 1 1
-- - - - - - - - - - - 1 1 1 - - - - - - 1 1 1 - - - 1 * 1 - 1 * 1
-1 1 1 1 1 1 - - - - - - 1 1 1 - - - - - - - - 1 1 1 1 1 2 1 2 1 1
-1 * 1 1 * 1 - - - - - - 1 * 1 - - - - - - - - 1 * 1 - - 1 * 1 - -
-1 1 1 1 1 1 - - - - - - 1 1 1 - - - - - - - - 1 1 1 - - 1 1 2 1 1
-- - - 1 1 1 - - - - - - - - - - - 1 1 2 1 1 - - - 1 1 1 - - 1 * 1
-- - - 1 * 1 - - - - - - - - - 1 1 3 * 3 * 1 1 1 1 1 * 2 1 1 1 1 1
-1 1 1 1 1 1 - - - - - - - - - 1 * 3 * 3 1 1 1 * 1 1 1 2 * 1 1 1 1
-1 * 1 - - - - 1 1 1 - - - - - 1 1 2 1 1 - - 1 1 1 - - 1 1 1 1 * 1
-1 1 1 - - - - 1 * 1 - - - - - - - 1 1 1 - - - - - - - - - - 1 1 1
-- - - - - - - 1 1 1 - - - - - - - 1 * 1 - - - - - 1 1 1 - - - - -
-- - - - - 1 1 1 - - - - - 1 1 1 - 1 1 1 - - - - - 1 * 1 - - - - -
-- - - - - 1 * 1 - - - - - 1 * 2 1 1 - - - - - - - 1 1 1 - - - - -
-- - 1 1 1 1 1 1 - - - - 1 2 3 3 * 1 - - - - - - - - - - - - 1 1 1
-- 1 2 * 2 1 - 1 1 2 1 1 1 * 2 * 2 1 - - - - - - - - - - - - 1 * 1
-- 1 * 4 * 2 - 1 * 2 * 1 1 2 3 2 1 - - - - - - - - - - - - - 1 1 1
-- 1 1 3 * 2 - 1 1 2 1 1 - 1 * 1 - - - - - - - - - - - - - - - - -
+- 1 1 1 - - - - - - 1 1 1 - - - - - - -
+- 1 * 1 - - - - - - 1 * 1 1 1 1 - - - -
+- 1 1 1 - - - - - - 1 1 1 1 * 1 - - - -
+- - 1 1 1 - - - - - - - - 1 1 1 - - - -
+- - 1 * 1 - - - - - - - - - - - - - - -
+- - 1 1 1 - 1 1 1 - - - - - - - - - - -
+- - - - - - 1 * 1 - - - - - 1 1 1 - - -
+- - - 1 1 1 1 1 1 - - - - - 1 * 1 - - -
+- - - 1 * 1 - - - - - - - - 1 1 1 - - -
+- - - 1 1 1 - - - - - - 1 1 1 - - - - -
+1 1 1 - - - - - - - - - 1 * 1 - - - - -
+1 * 1 - - - - - - - - - 1 1 1 - - - - -
+1 1 1 - - - - - - - - - - - 1 1 1 - - -
+- - - - - - - - - - - - - - 1 * 1 - - -
+- - - - - - - - - - - - - - 1 1 1 - - -
+- - - - - - - - - - - - - - - - - - - -
+- - - - - - - - - - - - - - - - - - - -
+- - - - - - - - - - - - - - - - - - - -
+- - - - - - - - - - - - - - - - - - - -
+- - - - - - - - - - - - - - - - - - - -
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/obj/gameplay.o b/assignment-1.5-arrays-pointers-files/minesweeper/obj/gameplay.o
Binary files differ.
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/obj/main.o b/assignment-1.5-arrays-pointers-files/minesweeper/obj/main.o
Binary files differ.
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/obj/minesweeper.o b/assignment-1.5-arrays-pointers-files/minesweeper/obj/minesweeper.o
Binary files differ.
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/src/gameplay.c b/assignment-1.5-arrays-pointers-files/minesweeper/src/gameplay.c
@@ -4,7 +4,7 @@
void selection(WINDOW *gameWin, char **dispboard, char **mineboard, int WIDTH, int HEIGHT)
{
- int chrow, chcol;
+ int chRow, chCol;
bool gameOver;
int yMax, xMax, yMiddle, xMiddle;
getmaxyx(stdscr, yMax, xMax);
@@ -14,44 +14,44 @@ void selection(WINDOW *gameWin, char **dispboard, char **mineboard, int WIDTH, i
do
{
mvprintw(1, 1, "Choice (row, col): ");
- scanw("%d %d", &chrow, &chcol);
- chrow++;
- chcol++;
- mvprintw(1, strlen("Choice (row, col): ") + 1, "(%d,%d)", chrow-1, chcol-1);
+ scanw("%d %d", &chRow, &chCol);
+ chRow++;
+ chCol++;
+ mvprintw(1, strlen("Choice (row, col): ") + 1, "(%d,%d)", chRow-1, chCol-1);
refresh();
mvprintw(1, 1, CLEAR);
- gameOver = transfer(dispboard, mineboard, chrow, chcol);
- reveal(gameWin, dispboard, chrow, chcol);
+ gameOver = transfer(dispboard, mineboard, chRow, chCol);
+ reveal(gameWin, dispboard, chRow, chCol);
getchar();
- } while (chrow < 0 || chrow > WIDTH-1 || chcol < 0 || chcol > HEIGHT-1 || !gameOver);
+ } while (chRow < 0 || chRow > WIDTH-1 || chCol < 0 || chCol > HEIGHT-1 || !gameOver);
if (gameOver == true)
{
game_over(gameWin, mineboard, yMiddle, xMiddle);
getchar();
print_board(gameWin, mineboard, WIDTH, HEIGHT);
- filewrite(mineboard, WIDTH, HEIGHT, chrow, chcol);
+ filewrite(mineboard, WIDTH, HEIGHT, chRow, chCol);
}
}
-bool transfer(char **dispboard, char **mineboard, int chrow, int chcol)
+bool transfer(char **dispboard, char **mineboard, int chRow, int chCol)
{
- dispboard[chrow][chcol] = mineboard[chrow][chcol];
- return (dispboard[chrow][chcol] == MINE) ? true : false;
+ dispboard[chRow][chCol] = mineboard[chRow][chCol];
+ return (dispboard[chRow][chCol] == MINE) ? true : false;
}
-void reveal(WINDOW *gameWin, char **dispboard, int chrow, int chcol)
+void reveal(WINDOW *gameWin, char **dispboard, int chRow, int chCol)
{
- mvwaddch(gameWin, chrow, chcol, dispboard[chrow][chcol]);
+ mvwaddch(gameWin, chRow, chCol, dispboard[chRow][chCol]);
wrefresh(gameWin);
}
void game_over(WINDOW *gameWin, char **mineboard, int yMiddle, int xMiddle)
{
wclear(gameWin);
- mvwprintw(gameWin, yMiddle-11, xMiddle-12, "You hit a mine!");
+ mvwprintw(gameWin, yMiddle-11, xMiddle-11, "You hit a mine!");
mvwprintw(gameWin, yMiddle-10, xMiddle-10, "Game over :(");
wrefresh(gameWin);
wclear(gameWin);
diff --git a/assignment-1.5-arrays-pointers-files/minesweeper/src/minesweeper.c b/assignment-1.5-arrays-pointers-files/minesweeper/src/minesweeper.c
@@ -278,7 +278,7 @@ void print_board(WINDOW *gameWin, char **mineboard, int WIDTH, int HEIGHT)
}
-void filewrite(char **mineboard, int WIDTH, int HEIGHT, int hitrow, int hitcol)
+void filewrite(char **mineboard, int WIDTH, int HEIGHT, int hitRow, int hitCol)
{
int i, j;
FILE *mnsOut = fopen("mnsout.txt", "w");
@@ -290,7 +290,7 @@ void filewrite(char **mineboard, int WIDTH, int HEIGHT, int hitrow, int hitcol)
}
else
{
- fprintf(mnsOut, "Mine hit at position (%d, %d)\n\n", hitrow, hitcol);
+ fprintf(mnsOut, "Mine hit at position (%d, %d)\n\n", hitRow, hitCol);
fprintf(mnsOut, "Board overview\n\n");
for (i = 0; i < WIDTH; i++) // fix inversion