Giter Site home page Giter Site logo

gamelab's People

Contributors

etcadinfinitum avatar yas-elak avatar

Watchers

 avatar

Forkers

yas-elak

gamelab's Issues

Boggle hints remaining

Value is tracked and the button deactivates correctly but the counter text remains fixed at 3

Create unit tests for Scorekeeper

Need to create a test suite for the Scorekeeper class. Class is functional at the moment, but future changes/enhancements would do well to have unit tests set up.

Need to revisit how dictionary gets loaded for Boggle

Currently, the serialized dictionary is loaded on activity launch for boggle, causing a 3-5 second delay while the activity generates. Possible solutions include one or more of the following options:

  • implement a handler to load dictionary in background after the activity is populated
  • load dictionary on app launch, and pass the dictionary as part of state when Boggle activity is launched (would need a 'welcome screen' or something similar when app is launched due to initial overhead)
  • Implement boggle as a fragment so it can directly access dictionary from parent activity?

Need to ask for help on this one - unsure of the best way to proceed.

In about page, create table for better bulleted layout

Should create xml table layout and use Unicode bullet symbol instead of html tags (not great support). Try to use xml string array for contents? Table sizing should fit to first column contents (bullet) for logical sizing of bullet vs content body. Look at padding options (vertical ok but no horizontal?) and remove table gridlines

Need to add validation for adjacent cells in Boggle

Currently, the word list being built does not validate the next cell to ensure it is adjacent to the last cell; need to implement logic to ensure that user cannot go from [0, 0] to [0, 2] and any further selections are also invalid unless the user circles back to an adjacent cell.

Use a different dictionary?

Currently, Boggle uses this repo of ~470k words: https://github.com/dwyl/english-words
However, the large corpus means a lot of hint results are highly suspect and wouldn't make sense in most contexts.
Another good option is https://gist.github.com/h3xx/1976236; currently writing scripts to trim words that contain punctuation or non-ASCII characters.
To do:

  • Look up official boggle rules on how words are determined to be legal.
  • Look for dictionary scrapers (Merriam-Webster, etc).
  • Look for other good sources of English word sets.

Fix recursive strategy for Boggle hints

As of right now, the board isn't fully searched with all paths, and many of the searches would be futile (ie searches that begin with "enxz" should not continue further, and should terminate immediately). Furthermore, the method currently returns a boolean, whereas the full string could be returned directly instead of intermediate processing... need to ask for help on this one.

Determine causes of crashes

  • This is definitely related to #15, since the app does crash when focus is lost but the app continues to run. It is also wise to support this to limit resource consumption on the device.
  • Additionally, there may be an issue with the Boggle countdown timer continuing to run after the activity is killed, and calling methods on an object that has been garbage collected... need to look into this further.

Suspend app processes if focus is lost

Currently, when user navigates away from app using home button etc, the app crashes (unsure why, I think its because the app is running same processes but with smaller memory delegated by OS?). Fix this (IIRC should be an easy fix).

Add traditional timer, mine count, button to Minesweeper?

Would be nice to have traditional 7seg timer/counter and the smiley button to restart the game.

This would change the gridview's position and size, so need to revisit how the board gets laid out. Snake(?) implementation has more straightforward way of setting up board (instead of measuring all components individually, the activity's main view is measured after the activity is loaded then the cells are measured and laid out programmatically); adding new components to the layout would probably require a similar implementation for minesweeper.

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.