Coder Social home page Coder Social logo

lewismcgeary / androidgameoflife Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 657 KB

Android implementation of Conway's Game of Life using AnimatedVectorDrawables

License: MIT License

Java 100.00%
conway-life android conway-game game animated-vector-drawables

androidgameoflife's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

androidgameoflife's Issues

Centre grid on screen

Extra space is left at the right and bottom where there is some room, but not enough for a cell

quick tap hides floating action button

FAB hides while cells are being drawn and reappears when finger lifted.
This works for longer touches, but a quick tap causes FAB to hide and another tap is needed to redisplay

Make Grid fit screen

Currently grid expands beyond screen limits. Cells at screen edge are half visible, others are off screen

Grid shows all cells alive incorrectly

after a while of play, rotating device or reopening game after doing other things may show full live grid.
This is an animated vector drawable issue. may be fixed by setting cells drawable with just plain vectordrawable initially rather than the animated version, then just use animated during gameplay

Full screen viewpager for rules

Rules need to be broken down and more engaging/visual.
Initial card screen could be shorter with the option to either see the rules, or just play.
Playing transitions straight to the game grid.
option to see rules brings up full screen viewpager breaking rules out into separate pages with diagrams.
style viewpager similar to Google Docs or Twitter, bold background colour which transitions as page changes.

Collapsing Toolbar with images

Intro screen to include feature image (matching playstore) and App Logo in large toolbar.
When transitioning to game, Toolbar should collapse up with image fading into solid toolbar.

May require change in structure to use fragments and single Activity so there is only one Toolbar

Make new game thread

use Thread for game loop
put this in model, and remove async task loop from Presenter

Detect when life becomes stable

when all cells on screen are permanently alive or where there is a constant loop of the same living/dying cells; do something

shared element transition error

Shared element transition should use cardview and FloatingActionButton as two separate shared elements, but will only work with one at a time. Has slight illusion of both as CardView in intro activity contains fab, but won't work if FAB is moved out of cardview.

Demonstrate swiping to draw

Currently 'touch app' icon will fade in and out on first entering the game screen to encourage users to draw cells. users don't always realise they can swipe the screen to draw multiple cells and will instead only use finger taps. Make icon move across screen at same time as fading in/out to encourage swiping

Make cell selection swipeable

currently initial grid state is set by tapping one cell at a time, should be able to select multiple by swiping finger

Rotation during a game

What do?
Rotating during a game resets the grid.
Grid size adapts to fit screen so landscape and portrait have different column and row count.
Possibilities:

  • No rotation at all.
  • rotation allowed, but disabled during a running game
  • try to use same grid (probably messy)

intro screen can go blank

  • open app
  • hit FAB to go to game
  • change phone orientation
  • press back button while phone is in changed orientation

Some cells still alive after reset

Likely to do with timing of Async Task.
Reset button kills all cells, but Async Task already running, subsequently returns output causing live cells.

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.