Coder Social home page Coder Social logo

jcarolus / android-chess Goto Github PK

View Code? Open in Web Editor NEW
382.0 382.0 244.0 77.26 MB

Chess game for Android.

Home Page: https://play.google.com/store/apps/details?id=jwtc.android.chess

License: MIT License

Java 67.10% Makefile 0.08% C++ 32.70% C 0.12%
android chess

android-chess's Introduction

Chess game for Android

Objectives

Special features

  • Chess 960
  • Duck chess (experimental)
  • Setup board
  • Play online on the Free Internet Chess Server (FICS)
  • Cast the board via Chromecast

Roadmap

  • Take items from the feature-request list (GitHub issue list)
  • Translation improvements (some translations are old or inconsistent).
  • Add a "start from ECO opening" option to explore/choose an opening from the ECO opening database
  • Contributions are welcome

UCI engines

  • support for UCI engines was dropped due to security-related restrictions on W^X violations

License

  • MIT licensed (see License.md)

android-chess's People

Contributors

alessandrodalbello avatar alondene avatar brainsucker92 avatar jcarolus avatar lannic avatar paolostraffi avatar timmyt123 avatar ysheng26 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-chess's Issues

Groovy SDK has changed.

I'm getting this error when i'm trying to build to test:
Could not find org.codehaus.groovy:groovy-all:2.4.12.
Searched in the following locations:
file:/C:/Users/udayv/AppData/Local/Android/Sdk/extras/m2repository/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.pom
file:/C:/Users/udayv/AppData/Local/Android/Sdk/extras/m2repository/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.jar
file:/C:/Users/udayv/AppData/Local/Android/Sdk/extras/google/m2repository/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.pom
file:/C:/Users/udayv/AppData/Local/Android/Sdk/extras/google/m2repository/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.jar
file:/C:/Users/udayv/AppData/Local/Android/Sdk/extras/android/m2repository/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.pom
file:/C:/Users/udayv/AppData/Local/Android/Sdk/extras/android/m2repository/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.jar
https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.pom
https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-all/2.4.12/groovy-all-2.4.12.jar
Required by:
project :app > com.android.tools.lint:lint-gradle:26.2.1

Sub controls settings options are missing in landscape mode

Expected behavior

The game options should be fully accessible both in portrait and landscape mode since the app supports both functionality.

Actual behavior

The game subcontrol settings can’t be accessed or used when playing game in landscape mode.

How to reproduce

  1. Install app from playstore
  2. Click on play
  3. Rotate phone to landscape mode
  4. Click on the “sub control settings” icon, the
    It will be observed that the drop down options which are present in portrait mode are absent in landscape mode. Hence, the bug.
  • Browser/App version: Chess version 8.8.3
    *Operating system: Android 6.0

Recording Of The Bug

https://youtu.be/uHZV8-sT9Hg

When analyzing a game, able to keep main line

When going over games, able to make new lines (either by moving a piece or engine move) while keeping main line. Then, when viewing games with new lines, option to go main line by default or the new line. This will prevent games from being truncated.

Some way to disable/hide chat

I'd like to disable/hide the chat entirely on my children's phones. My ideal solution is a config file I can set a flag in over SSH. :)

In the meantime, I have a server that proxies to freechess.org and strips out chat messages... it'd be simpler to do this if there was a way to configure the server besides vim'ing random binaries.

keyboard should not pop out when game foregrounds itself

Step 7 below is not desirable behavior:

  1. login to FICS
  2. set match criteria
  3. issue seek
  4. do something else while waiting (app to background)
  5. someone accepts match
  6. app switches itself to foreground
  7. keyboard pops up

I doubt this is ever desired behavior. The keyboard should not pop up when switching into the app (at least when game is in play; maybe also when not, but that's a different issue).

The first thing someone will want to do in a game is make a move (especially if they are black and timer is now ticking), so every time this happens, keyboard hide key must be pressed manually before making the move.

Override language locale

Language is based on devices locale. Let the user choose another language too via global settings

enter/return on soft keyboard does not submit input anymore

since one or two releases ago, I can no longer do things like accept<enter> when someone challenges me to a rematch, because all <enter> does is add a new line to the input, without submitting. this affects all console actions; I cannot submit any commands, such as "history" or "finger" because there is no way to submit the command, it just adds newlines.

I am using Google's keyboard from Market, which worked fine before. Stock Android 5.0.2. The game play still works, but any interaction using the telnet interface is impossible.

Game sound settings can't be deactivated

The user “no sound” settings option should be retained and not forcefully return to “default sound” settings while playing the game.

Actual behavior

The settings keep returning forcefully to “default sound” after setting it to “none” which means no sound.

How to reproduce

  1. Install app from playstore
  2. Click on “Global settings” on th app homepage
  3. Click on Sound
  4. Select “none” from the notification tone options and click ok
  5. Return to the app homepage
  6. Repeats steps 2 and 3.
    It will be observed that the settings is back on “default ringtone” and the user settings is not enabled.
  • Browser/App version: Chess version 8.8.3
    *Operating system: Android 6.0

Recording Of The Bug

https://youtu.be/SvA1IaUftJk

Help to Contribute

Heyy Can u make a gitter chat room to talk and also Write something about how to contribute?

New Set of Pieces

I made this piece set for my own pleasure, intent on a certain medieval version of the game. I offer it for your use. Let's name it, “Raestakíz Aelcaebír”

Here is the full set as SVG: https://gist.github.com/maemunman/f78e5dfe1194fac44af99b88a95c3a0d
And the same as raster to embed here:
Sćatrándj́ Alcabír set

There are more pieces in this set than in the normal game, so if you want to use these pieces, let's select whichever pieces seem like they would fit best together. Here are a couple example combinations I prepared:

most plain and direct
sciahzád, saerbazán cai bainaezaére koúrsceid míajaed
sciahe kvarecjí, daebábai, fil

"flag" menu item (to force win on time) causes resign instead

I've had this happen to me a few times now:

  1. opponent player clock expires (I'll be winning on time)
  2. for some reason auto-flag is not working
  3. wonder what's going on, wait 20 seconds or so
  4. select 'flag' option from menu (try to force it)
  5. chess game actually resigns instead (wtf??)

I have had this happen to me a few times, and first thought I was imagining things, but now it's enough that I'm thinking it's a bug and the application incorrectly maps the flag menu to resign action.

frequent crashing for first game results in disconnect loss

Very often (more than half the time, but not every time), the app crashes as soon as someone accepts my seek, if I haven't played in a while (a day or sometimes hours). Phone doesn't have to reboot, but the app has to be well gone from memory. Subsequent games once the first crash happens (and app starts again) are totally fine.

This seems to happen more often when I'm in another app waiting for the match accept. I get the accept vibrate, it foregrounds chess, and immediately crash occurs. I restart, go online again, everything is fine.

I have submitted many crash dumps -- which presumably contain stack unwinds -- to no avail. This has been going on a while, at least many months. I don't remember if it ever didn't happen.

I've lost a lot of points this way. It's lost in the noise if I play a bunch of games in a row, but if I don't have time for a lot of games, I suffer net loss merely by playing.

Let me know if anything besides the crash dumps are needed. They should be under the email used to file this ticket. Thanks.

board color contrast reduction makes for difficulty playing games

with the latest update, the blue board changed. I find the new color to be difficult to play on due to low contrast. I cannot tell how it changed because I don't have an older copy. I think the blue/white was changed to dark-blue/light-blue, or possibly the two blues were made closer to each other. This new board is more difficult to play with. Could it be changed back? Was this change intentional?

Flipping the board

Why after starting online game I can't flip my board?
My black team is on top, and this is very uncomfortable.

Puzzle mode crashes when I rotate to landscape mode

First of all, thanks for the awesome app! I really love it.

I've noticed that I can reliably crash the app when I start the puzzles in portrait mode, and then rotate the phone to landscape. The app is just gone. This happens with both my Cyanogen 11 (KitKat) HTC One XL and my Kindle Fire tablet. Other parts of the app don't seem to have that problem, though.

Game refuse to end even when time is up

Expected behavior

The game should come to an end when the time duration set for the game of a player is up.

Actual behavior

The game continues even when a time of one of the player is used up already. This is not allowed in chess rule.

How to reproduce

  1. Install app from playstore
  2. Click on play
  3. Click on the settings icon slider (3 dots beside option) at the top right corner.
  4. Click on “set clock” and select any time (2 minutes preferably so as to get test results faster) apart from no clock option
  5. Play the game for till your time is up or your opponent time is up.
    It will be observed that the even though the game time is up, the game continue to run and both players can still play. Hence, the bug.
  • Browser/App version: Chess version 8.8.3
    *Operating system: Android 6.0

Recording Of The Bug

https://youtu.be/WqLSzNAswCE

Undo problem

When playing against CPU, if it makes a move, and you do UNDO, you can control CPU's pieces, and you become CPU.

Steps:

  1. Make a move (white)
  2. CPU makes a move
  3. press UNDO
  4. Play with CPU's pieces
  5. CPU plays with yours

error(?)

Good evening, I am an IT student from Greece and I had to study and understand a code, that may have some faults, so I decided to read a code about chess since I know how to play. When I was running your code I identified some points that I would change. First of all, the user decides what colour the pone will be, meaning the user decides if he plays first or second while the turn of moves should be randomly. Secondly, when the user plays against PC he doesn't have the option of "draw" or "resign", an option that he has in a real game of chess. Finally, the PC mustn't lose from the user, but I could beat it, so your code could have some improvements. However, you have made an excellent application.

Game time doesn't reset when new game is started.

Expected behavior

The game time of each player should reset to the default game time that was set for each game everytime a new game is started.

Actual behavior

The game time does not reset and continue to countdown from the old game time even when chess piece colour are changed between players.

How to reproduce

  1. Install app from playstore
  2. Click on play
  3. Click on the settings icon slider (3 dots beside option) at the top right corner.
  4. Click on “set clock” and select any time apart from no clock option
  5. Play the game for some time
  6. Click on icon “new” among the icons present at the bottom of the chess board and click ok to reset the game (you may decide to change some options such as chess piece colour for easier spotting)

It will be observed that the even though the game has been reset, the time from the previous /old game was retained. Hence,the bug.

  • Browser/App version: Chess version 8.8.3
    *Operating system: Android 6.0

Recording Of The Bug

https://youtu.be/HDIlfhuS24Y

change console / server output to use fixed width font for alignment

Nothing lines up in the console/output view. They of course do line up using a fixed-width font, since the canonical interface is a terminal. The app uses a variable-width font, however, so any output from the server looks like a total unaligned mess (example is 'history' or 'finger' output).

Add F-Droid build flavour sans Google Play services

Greetings!

Once upon a time, Chess was part of the F-Droid repository. Unfortunately the inclusion of Google Play services means that the app can no longer be updated, and is now several years out of date.

If in any way possible, please add a build flavour which excludes Google Play services, and other non-FOSS libraries if any, so that us F-Droid users can again enjoy the latest version of Chess.

Kind regards,
Coffee

F-Droid build failed

> Task :app:compileFossReleaseJavaWithJavac
/home/vagrant/build/jwtc.android.chess/app/src/foss/java/jwtc/android/chess/start.java:23: error: cannot find symbol
import jwtc.android.chess.tools.pgntool;
                               ^
  symbol:   class pgntool
  location: package jwtc.android.chess.tools
/home/vagrant/build/jwtc.android.chess/app/src/foss/java/jwtc/android/chess/start.java:90: error: cannot find symbol
                        i.setClass(start.this, pgntool.class);
                                               ^
  symbol: class pgntool
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

> Task :app:compileFossReleaseJavaWithJavac FAILED

FAILURE: Build failed with an exception.

Could you please take a look? Thanks!

Share Intent

When viewing pgn files in a file browser, we have the ability to import the pgn file into the game database or play the pgn file directly. It would be nice to also have a share intent registered for PGN files for both game import and play.

This allows us to easily share pgn or fen files from other apps like Asim Pereira's Chess Book Study or Analyze This and play them immediately in Chess without have to manually import a pgn file.

abort request -> declined -> bad state, cannot play

I was tired of waiting for someone to make a move (this is after game started, a few moves in). So I sent an abort request. Opponent declined.

Suddenly, the board was reversed, my player (black) was on top, and the program did not think I was playing a game anymore (I.e. no resign or abort available in the menu, as if no current game). Yet clock was ticking and it was my move

I think perhaps the abort-declined code path needs a bit of scrutiny...

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.