Skip to content

BlakeJordan/Minesweeper

Repository files navigation

Minesweeper

This project was generated with Angular CLI version 6.1.5.

Documentation link: https://minesweeper-project.firebaseapp.com/assets/documentation/index.html

Meeting Log

8/31/2018
In class, all members present Decided on web based implementation, scheduled next meeting

9/3/2018
Blake and Bunty's house, all members present

Decided on JavaScript, downloaded Visual Studio, and created "Minesweeper" repository. Each of us downloaded a clone of the repository gained collaborative access on GitHub. Downloaded Angular to make the web-app creation process easier.

9/5/2018
In class, all members present

Discussed the angular tutorial and what we should tackle later in tonight's meeting

9/5/2018
Blake and Bunty's house, all members present

Determined group member roles/which component each member will work on, started working on heirarchy and necessary components

9/6/2018
LEEP G415, all members present

Discussed how to pass information between components in angular, presented what we had gotten done since the last meeting

9/7/2018
In Class, all members present

Scheduled next meeting

9/8/2018
Blake and Bunty's house, all members present

Discussed what we need to accomplish next, ate pancakes, created Tile component

9/10/2018
In Class, Austin Wildman absent

Scheduled next meeting, discussed what we need to accomplish in later meeting

9/10/2018
In Lab, Blake Jordan absent

Found a bug where several tables appear when "New Game" is clicked, fixed it

9/10/2018
Blake and Bunty's house, Austin Wildman absent

Got board to appear in the middle of the web page, modelled the tiles to look like minesweeper, added "Game Over" functionality when bomb was clicked, added flagging ability with right click

9/13/2018
Blake and Bunty's house, all members present

Made a To-Do list for wrapping up the project

9/16/2018
Blake and Bunty's house, all members present

Fixed a few last minute bugs, finished documentation

Retrospective Writeup

How was work split between teammates?

Work was divided into the basic groups: Board Logic (Austin Wildman and McKenna Groves), Visuals (Bunty Dey and Seth Peterson), and Communication between components (Blake Jordan). Later on, after some work was done we split it into individual tasks such as writing specific functions, documentation of specific files, etc.

What were the challenges and how were they overcome or dealt with?

The biggest challenge was learning TypeScript and HTML as well as the Angular Platform. That challenge was met with a lot of googling and good old trial and error. We also had some issues with GitHub and resolving merge conflicts. Sometimes if one person deleted something on their branch that had been previously pushed to master but was no longer needed, it would reappear on the master branch because there was confusion regarding whether or not it was needed. Also, one of our validators that stopped the board from crashing was accidentally deleted.

Did any features not make the demo?

Yes, a max validator for the rows and colums input as well as an error message if the input contained decimals. They were coded and added to the master branch before the code freeze, but were accidentally removed in a merge conflict later on. We didn't notice what had happened until demo day. Our bad!

Is there anything your team could have done differently?

Yes, during the beginning stages of the project, each of us did our own thing and there was no form or structure to our plan. Each member's roles were loosely defined which led to some overlap when it came to who was doing what. We discovered later on that it was much more helpful to tackle a particular problem together instead of each trying to tackle the problem separately, then just going with whatever worked first. Also, due to issues we encountered with some features being accidentally deleted, we will definitely add a last minute check to the list to make sure everything is working correctly BEFORE demo day.

Works Cited

Timer

https://www.npmjs.com/package/ng2-simple-timer

Documentation generator

https://compodoc.github.io/compodoc/

Favicon

https://fontawesome.com/icons/bomb?style=solid

Documentation Link Icon

https://fontawesome.com/v4.7.0/icon/book

Github Link Icon

https://fontawesome.com/v4.7.0/icon/github

Font

https://fonts.google.com/specimen/Jura

Icons

Unclicked Tile - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/covered.png

Empty Tile - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/empty.png

Mine - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/mine.png

1 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-1.png

2 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-2.png

3 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-3.png

4 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-4.png

5 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-5.png

6 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-6.png

7 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-7.png

8 - http://luis-perez.s3-us-west-2.amazonaws.com/angularjs-minesweeper-game/number-8.png

Inspiration

http://www.simplygoodcode.com/2014/04/angularjs-game-programming-making-minesweeper-part-ii/index.html