Giter VIP home page Giter VIP logo

bogglegame's Introduction

Contributors Issues GitHub pull-requests closed


Logo

Boggle Game

A boggle game with an interactive User-Interface and Real-Time In-Game Stats!

Explore the docs »

Table of Contents

  1. About The Project
  2. Getting Started
  3. Roadmap

Features:

  • Real-time stats for the current round the user is on
  • Grid Selection Scene (3 choices for grid sizes).
  • All-time stats page which gets updated with the user's stats written to a separate file, as well.
  • Accessibility Options (Keyboard based inputs/commands only).
  • Friendly and Interactive UI
  • Each round statistics
  • The game statistics, after the user chooses to end the current round
  • How-to-play scene which briefly describes the game
  • Easy-access throughout different scenes with buttons either linking to main screen or the corresponding scene

Built With

  • Java
  • JavaFx
  • CSS

Getting Started

Prerequisites

  • Install JavaFX components

Roadmap

  • [✅] Sprint 1
  • [✅] Sprint 2
  • [✅] Sprint 3

bogglegame's People

Contributors

sebsantoni avatar hussaino03 avatar usmantahir7 avatar vrammerz avatar

Stargazers

 avatar

Watchers

 avatar

bogglegame's Issues

User Story 4.6 - Reset Game Stats

Description

  • Set the game progress on the stats screen to the original default values. For example, the total score will be set back to 0.

User Story 2.1 - Storing User Input from Keyboard

Description

As a user with limited mobility I want to be able to use the software without a mouse so that I can access it.

Implementation Details

Provide the user with a textbox to type their words in and store them. This would allow users with disabilities to avoid using a mouse which could cause physical strain. For example, adding a JTextField is an option which will help in displaying words or allowing the user to type words.

PR Template

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Closes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Test A
  • Test B

Test Configuration:

  • Firmware version:
  • Hardware:
  • Toolchain:
  • SDK:

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works

User Story 4.3 - Upgrade Design Elements

Description

  • Make use of JavaFX animations across various elements.
  • Add an animation to change the colour of a button or a window panel every 10 seconds using JFrame

User Story 4.5 - Save Stats Between Programs

Description

  • This will be done by making the BoggleStats class implement the Serializable interface. Since the user’s stats will be stored in a BoggleStats object, the information captured by this object will be serialized into a byte file stored on the user’s computer. When they run the program again, the file will be deserialized in order to maintain the stats determined by the previous program instance.

User Story 2.5 - Normal Gamemode Round Summary Screen

Description

As a user, I want to see the stats for the current round I played or for the particular game mode I’m on.

Implementation Details

Use the stats variables from BoggleStats to display the stats for the current round. Use GUI elements to display the stats on the screen and provide buttons for the user to select if they want to end the game or play another round.

User Story 1.3 Stats Screen Modification

Populate the stats screen with attributes of an instance of BoggleStats. Ensure that only one instance of BoggleStats exists at any single time via the Singleton Design Pattern.

Refactor Code

  • Add methods/getters for the clearing of player/computer words and other stats attributes accordingly, and also refactor some of the GUI elements in the summary screens

User Story 4.2 - Upgrade Colors

Description

  • Use JFrame objects to implement the colours and, for instance, change the background colours of each feature.

User Story 1.1 Additional Functionality

gameWindow should be modified so that ProcessInformationCommand objects can properly communicate stored information with gameWindow. This implementation will likely involve creating an instance of BoggleGame which will process the choices made by the user, and making this instance of BoggleGame an attribute of gameWindow so that all commands made from the application directed to the invoker (CommandCenter) can relay information to BoggleGame once executed.

User Story 2.4 - End Round Button

Description

As a user I want to clearly decide when I want the round to end.

Implementation Details

Add an end round button which takes the user to the round summary screen.

User Story 2.6 - Normal Gamemode Game Summary Screen

Description

As a user, I want to see the accurate stats for the total number of rounds I have played. In other words, the whole game’s stats including each round.

Implementation Details

Similar to Normal Game Mode Round Summary Screen (#21), make use of the BoggleStats variables such as total_rounds and display the stats on the screen for the user using GUI elements.

Final Code Refactoring

Carry out a final refactoring of the code before pulling production into main to ship our final product. The following refactoring guide will be a useful tool for this. This will be reviewed and delegated as a team during our final meeting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.