Giter Club home page Giter Club logo

visual-react's Introduction

Visual React [Archived]

Levels | Contributors | License | Contributing | Assets

Visual React is a challenging and fun game for two players on the same device.

Be the fastest one to detect visual clues, quickly tap the screen, and earn a point! But careful: if you touch too early, you will lose one!

Battle your opponent in more than 10 exciting and easy-to-learn mini-games! None of them require prior knowledge—just quick reflexes—so you can jump straight into the action. Graphics are simple and clean - no unnecessary distractions so you can focus on the action and minimize your reaction time.

Levels

Name Description
Collision Tap when the shapes collide
Color Tap after the color changes
Connection Tap when the two extremes are connected
Countdown Tap after the countdown passes zero
Fit Tap when one shape fits into the other one
Hole Tap when the circles are smaller than the hole
Light Tap after there are more colored cells than dark cells
Line Tap when three cells of the same type form a line
Pair Tap when there are two equal shapes
Passage Tap when there is a straight passage from top to bottom
Singular Tap when there is a sad face
Variety Tap when there are five different colors

Contributors

Devs

Others

License

GNU General Public License v2.0

Contributing

Design Guidelines

  • Follow the Android Design Principles
  • Design levels that do not require previous knowledge
  • Avoid using text whenever there is a cleaner alternative
  • Use vector graphics (.svg), instead of rasterized ones
  • Adhere to the existing color palette
  • Use the existing design/graphics as a reference to maintain a consistent look and feel

Development Guidelines

  • Use Android Studio
  • Follow the Android Core App Quality Guidelines
  • Do not hardcode strings and constants, include them as resources
  • Avoid using external libraries as much as possible, to ease the future implementation of the game in other platforms
  • Auto format the code, and fix all warnings and errors before committing
  • Use camelCase for code and snake_case for resources
  • Keep the code simple

Adding a level

  1. Create a new branch, named using the level name in lowercase - only commit to this branch while developing the level
  2. If the level you are implementing not described in the levels list, create an Issue first describing it (you don't want to code something that won't be incorporated into the game!), and ask for feedback
  3. Once the level has been approved, create a class with the level name in src/main/java/sneakycoders/visualreact/level/levels/ that extends the Level class - all your code will reside in the newly created class
  4. If needed, create a new layout for your level, and save it in src/main/res/layout/level_<name>.xml
  5. Add your level name to the levels array in src/main/res/values/arrays.xml
  6. Add your level title and description to the src/main/res/values/strings.xml resource, following existing conventions
  7. Implement and test your level - use random ranges for all possible conditions in the level (timeouts, sizes, etc.), and store the ranges in src/main/res/values/ingame.xml
  8. Run the Linter (in Android Studio: Analyze > Inspect Code), and fix any issue detected
  9. Be sure the code follows the development guidelines mentioned before in the development parent section
  10. Edit the README to add your level to the levels list (if not present already)
  11. Make screenshots of your level (in progress, fail, success) and store them in docs/screenshots, following the already existing format - edit the screenshots README.md to include them
  12. Save all assets used to docs/assets (in addition to the resources folder), and list them in assets
  13. Add yourself to the contributors list - you earned it!
  14. Create a Pull Request to add the level to the main branch - the new code will be reviewed, improved, and eventually merged - thanks a lot!

Fixing a bug

  1. Create a new branch, named using bugfix/<bug>, where <bug> is a short description of the bug - only commit to this branch
  2. Implement the fix for the bug
  3. Run the Linter (in Android Studio: Analyze > Inspect Code), and fix any issue detected
  4. Be sure the code follows the development guidelines mentioned before in the development parent section
  5. Rebase interactively to squash all commits into a single one, and explain in the commit body what was the bug and how it has been fixed
  6. Create a Pull Request to add the fix to the main branch - the new code will be reviewed, improved, and eventually merged - thanks a lot!

Refactoring / Improving code quality

  1. Create a new branch, named using refactor/<description>, where <description> is a short description of the improvements going to be made
  2. Implement the improvements, making sure the functionality does not change
  3. Run the Linter (in Android Studio: Analyze > Inspect Code), and fix any issue detected
  4. Be sure the code follows the development guidelines mentioned before in the development parent section
  5. Rebase interactively to squash all commits into a single one, and explain in the commit body what were the improvements made
  6. Create a Pull Request to add the changes to the main branch - the new code will be reviewed, improved, and eventually merged - thanks a lot!

Adding / Updating a translation

  1. Create a new branch, named using translation/<language>, where <language> is the two letter language code of the translation you are adding / updating
  2. If the language is not present yet, add a new row into docs/metadata/README.md to track the progress of the translation
  3. Create / Edit the following files, taking any existing translation as a reference
  • app/src/main/res/values-<language>/strings.xml
  • docs/metadata/title/<language>.txt
  • docs/metadata/long-description/<language>.txt
  • docs/metadata/short-description/<language>.txt
  1. Rebase interactively to squash all commits into a single one, and explain in the commit body what translation is being added / updated
  2. Create a Pull Request to add the translation to the main branch - the new code will be reviewed, improved, and eventually merged - thanks a lot!

Assets

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.