Giter VIP home page Giter VIP logo

keepscore's Introduction

KeepScore project unmaintained

Author

Nolan Lawson

License

WTFPL, although attribution would be nice.

Overview

Screenshot

KeepScore is a free and open-source score-keeping app for Android. Pull requests are always welcome. I'll try to incorporate your changes into the app on the Google Play Store as soon as I can.

Download

KeepScore may be downloaded from the Google Play Store.

You can also find a direct APK download link from the KeepScore page on my web site.

More details about KeepScore can also be found in my blog posts.

Build it yourself

KeepScore is built using Maven.

KeepScore has a dependency, AmbilWarna, which is not avilable in Maven. So you'll have to first install it manually:

git clone https://code.google.com/p/yuku-android-util/
cd yuku-android-util/AmbilWarna
zip -r AmbilWarna.zip *.xml *.properties res src
mvn install:install-file -Dfile=AmbilWarna.zip -DgroupId=yuku.ambilwarna -DartifactId=yuku.ambilwarna-apk -Dversion=1.0 -Dpackaging=apklib

Then, to build, install, and run KeepScore on your device, simply cd to the KeepScore/ directory and do:

mvn clean install android:deploy android:run

To run the unit tests, cd to the KeepScoreTest/ directory and do:

mvn clean install

You must have Maven 3.0.3+ installed in order for this to work.

Add a translation

KeepScore is currently localized into English, French, Japanese, Hebrew, Italian, and German. For the benefit of board gamers around the world, though, I'm always happy to get new translations!

French and Japanese

I manage these myself. I'm not a native speaker, though, so if you have corrections to make, please fork these files:

Italian, Hebrew, and German

These translations are only needed when new feature are added. Thanks to those who helped with the 1.3.0 translations!

Adding a new language

New languages are always welcome! Based on the language statistics, it would be nice to have Dutch, Korean, Russian, Portoguese, and Spanish.

All you need to do is add some additional files, fork the project on GitHub, and send me a pull request. And thanks to GitHub file creation, you can do all of this through the web interface!

For instance, if your language is Esperanto (ISO code 'eo'), you would need to create the following files:

KeepScore/res/values-eo/strings.xml           # Main translations
KeepScore/res/values-eo/dimensions.xml        # Modifies width of the time period overlay (e.g. "Yesterday", 
                                              # "The Past Week") for languages with long words, e.g. French
KeepScore/res/raw-eo/version_and_credits.xml  # Page shown in "About KeepScore"
documentation/description-eo.txt              # Play Store description
documentation/donate/description-eo.txt       # Play Store description (Donate version)

(Again, please read the GitHub page on file creation to understand how to do this.)

I maintain the English, French, and Japanese translations myself. So you can look to these translations as an example:

English French Japanese
strings.xml strings.xml strings.xml
dimensions.xml dimensions.xml dimensions.xml
version_and_credits.htm version_and_credits.htm version_and_credits.htm
description-en.txt description-fr.txt description-ja.txt
donate/description-en.txt donate/description-fr.txt donate/description-ja.txt

Note that not all strings in strings.xml need to be translated. If you look at the English strings.xml file, you'll see that I've helpfully marked constant strings with the prefix CONSTANT_. Constants do not need to be translated.

A helpful tool for finding missing translations is the Android Localization Helper.

To ignore constants while using it, you can run:

/path/to/localization/helper/bin/alh.sh /path/to/keepscore/ | grep -v CONSTANT

Please also tell me what name and email address you would like me to use in the "About" section, so I can give you proper credit. Or just fork and modify the file KeepScore/res/raw/translations.htm yourself. Thanks!

keepscore's People

Contributors

aferraresi avatar avduma avatar daguej avatar liran218 avatar nolanlawson avatar speedy-1702 avatar spidermonkdust avatar tvpm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keepscore's Issues

Add game round number to corner of each player

Add game round number to a corner of each player. This would allow one to see at a glance any player in which a score entry was missed. Currently it is easy to miss entering a zero value for a player when playing a game in which a score must be entered for each round for each player.

Consider "Undo" button

A global "Undo" button might be nice. It's conceptually simpler than the whole "long-press on the history, and then undo the last score."

History column not wide enough for >3 digits

The score history column isn't wide enough for 4 digits. It will display the first 3 digits and the +/- sign on one line and the fourth digit on a second line. Even better if it could auto-adjust its size to prevent wasting space.

Autosuggest player names even when no text is entered

Currently autosuggestions only pop up when at least one character is entered. I'd really like to see constant autosuggestions - it would make it easier to start up new games, when you always play with the same players.

Show round totals and player score averages

Some users have asked for this. Round totals are apparently necessary for certain games, and then there's also another user who requested:

One feature that it could benefit from would be the ability to show the average score for specific or all players.

Add popup buttons in 2-player view

There is a lot of wasted space in the 2-player view. The increment buttons from the popup window (-1, 1, 5, 10) could easily fit in there.

Customize the + and - buttons

Hi, and thanks again for the great app!

I have a feature request:
It would be great to add the ability to customize the value of the + and- buttons (to the left and right of the current scores in the attached screenshot.)

The game we play counts by 5.

Thanks again,

Pete

Optimize button layouts for tablets

Currently, the increment buttons only show up in 2-player mode, but they could fit in 4 or maybe 6-player mode on tablets. As one user suggested:

"Also, is there a way to add an option to have the four buttons you can select the value of get copied onto the main screen, rather than +/- the two biggest numbers?"

"Declare a winner" option

Should pop up a screen saying, "Highest score wins/lowest score wins" (could create multiple winners), manually select winner(s), and optionally name games. This gives people a way to keep track of who won what games.

In the Load Game screen, the name of the game would precede the list of players, and the winner would come first (bolded).

Add an option to dim the screen to avoid killing the battery

Currently KeepScore can destroy a phone's battery, because having the screen on eats a ton of power. During a two-hour game of Rummy, the battery on my Galaxy Nexus running Android 4.2 dropped almost 20%.

Turning the screen off entirely is not an option, because we don't want to make users unlock their lockscreen over and over again. (Especially because your friends probably don't know your password.) But dimming the screen after a certain timeout might offer some battery savings.

Feature request

Hi, could you please implement the following simple feature, I would be very grateful if you would.

Could you allow an option in the settings for only 1 player to score in each round. For example, in a game like boules or bocce, only 1 player can score in a round, and a player may win several rounds (frames) consecutively, with the other player of course scoring 0. The reason I'm asking for this feature, is that the history would reflect the flow of these games with it.

Thank you.

Player sorting options

Ability to automatically resort players by score or even by turn, with high/next player at upper left corner, would be very helpful in some games.

More fine-grained options for editing history

From a user:

The second thing is perhaps a place to manually place a new score in after you've gone a couple of rounds...like, if I realized I need to edit a score from round 2, but we are already on round 4, I can't easily go back and change that with the current app

round based mode

a round based mode would be useful for games like scrabble, where you have up to four players, could still make good use of the many-button-interface, and players only score in sequence.

round based mode could look similar to two-player mode, with one of the players replaced with a list of players in sequence with their score, an indication of whose turn it is, and a button for "next player". explicitly selecting a player should also be possible, optionally moving the "current turn" indicator.

in round based mode, there should not be a timeout for committing a change to history; instead, history should be written whenever the player is changed.

Fix rendering problem on MDPI devices

For some reason, on my HTC Magic running Eclair, the buttons and lines don't stretch properly. This is a change introduced with the ViewStubs post-v1.1. Need to investigate.

"+" button too close to physical phone buttons

The physical buttons on a phone are usually at the bottom. In KeepScore, the "+" button for a player on the right side of the screen is too close to these physical buttons. The score history should be moved to the right to give a nice buffer of space.

Support multiple orientations

Current behavior: upon entering the score screen, the app forces the device to landscape mode.

Proposed behavior: do not change the screen orientation at all. Instead, just follow whatever orientation the device has (portrait or landscape). This means that, for some devices, a single-column layout might be better.

Manage increment buttons separately

Users seem to be confused by the options to manage the increment buttons, and the fact that the buttons in the popup are managed in the same way as the buttons in the 2-player layout. They should be managed separately.

As one user said:

"Hi, just trying your app and found that button settings are not working 100%. Please see the attached screen shots. Otherwise it looks good, but how about an undo? Maybe it is there already ..."

Show popup buttons if user touches the score

Current behavior: popup buttons (-1, +1, +5, +10) show up if the user long-touches the -/+ buttons.

Proposed behavior: also show those popup buttons if the user touches the score itself.

Allow non-zero value for on-screen buttons

Modify on-screen score buttons to allow zero value. This would speed the entry of zero values for games requiring a score entry (including zero) for each round. Currently one has to click and hold the score history column, then select "Add zero". If one is not careful, the "Delete Last Score" may be pressed by mistake.

Example: I would like to set the on-screen buttons to "0", "5", "10", "20" for use with the card game "Five Crowns" but currently buttons must be a "non-zero" value. Otherwise, this is the best score-keeping app around. Great for visually impaired too!

Periodically save game

Users are reporting that their scores are being erased. My guess is that this is due to certain Android builds killing the AsyncTask that is launched from the onPause() or onDestroy() method.

The only solution I can think of is to have a background AsyncTask to periodically save the game.

Add optional dark color scheme

Suggested by Jordi. The black-on-white color scheme drains the battery more heavily than white-on-black would. It would be nice to have something in the Settings to allow the user to change this.

Idea: shareable settings templates

For certain games, it would be cool to have a saved set of templates with values that work well for that game. For instance, for Magic the Gathering, you could have two life counters and two poison counters. Or for cribbage, you could have four players and certain score increments.

These could be shared across devices, people could create their own and share them with each other, etc.

Saved games should be easier to find

I can't tell you how many emails I've gotten from people who don't seem to understand the simple fact that KeepScore saves all your games and you can access them at any time from the "Load Games" menu.

Answer: it's not the users who are stupid; it's KeepScore. Saved games shouldn't be hidden behind the "Load Game" button - they should just pop up on the main screen.

For instance, for new users the screen could just be the gigantic icon with a big button saying "New Game." Once a single game is saved, though, the screen has a smaller icon with the list of saved games below it, and a "New Game" button at the top. Or something like that.

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.