Git Product home page Git Product logo

play-online-chess-with-real-chess-board's People

Contributors

frenkel avatar karayaman 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

play-online-chess-with-real-chess-board's Issues

Constants.bin

HI! Board calibration works just fine, but when it comes to starting the game the programs abruptly interrupts, and I get the same error message another user got before me, in the closed issues section (#17).
Is there a solution to this?
Many thanks in advance

Edit: apparently it is sufficient to create the file 'constant.bin' in the folder, and everything works properly

Write PGNs?

Can this app simply write to PGN instead of playing online?

AttributeError: '_thread._local' object has no attribute 'display'

This happens once I either run main.py or start from the GUI.

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/threading.py", line 1009, in _bootstrap_inner
    self.run()
  File "commentator.py", line 22, in run
    resized_chessboard = self.game_state.get_chessboard()
  File "commentator.py", line 50, in get_chessboard
    img = np.array(np.array(self.sct.grab(monitor)))
  File ".env/lib/python3.10/site-packages/mss/base.py", line 90, in grab
    screenshot = self._grab_impl(monitor)
  File ".env/lib/python3.10/site-packages/mss/linux.py", line 428, in _grab_impl
    self._handles.display,
AttributeError: '_thread._local' object has no attribute 'display'

Anyone knows what this is about?

App?

This should be made into an iOS or Android app (that uses the phone camera) without necesssitating the use of a computer. Just connect the phone and play!

Game doesn't start

Hello,
I've installed the code on an Raspi Zero with Bullseye and it looks good so far. I'm able to scan the board, but if I try to start the game, I got an error (see below)
Do you know, how to solve this issue?
I run python (3.9.2) with sudo in an virtual environment - all libraries are installed...

Traceback (most recent call last):
File "/home/pi/Play-online-chess-with-real-chess-board-1.15/main.py", line 10, in
from board_basics import Board_basics
File "/home/pi/Play-online-chess-with-real-chess-board-1.15/board_basics.py", line 3, in
from skimage.metrics import structural_similarity
File "/usr/local/lib/python3.9/dist-packages/skimage/init.py", line 151, in
from ._shared import geometry
File "skimage/_shared/geometry.pyx", line 1, in init skimage._shared.geometry
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 48 from C header, got 40 from PyObject
Game finished.

2 Players Real Board

Plz make option for 2 player Real board option without playing online. So that I can use PGN Online

Human vs Human on real Board

Hello,
Is it possible to add an option for (Human vs. Human) game? I want to play on real board and after that I want to analyze the game.
please add this option then users can play chess on their chess boards like DGT e-boards!
thanks a lot for your awesome project.

Option for changing the default camera

Hi Karayaman,

Thank you for the great program. I am trying to play through this. It is good option to avoid screen and play with real chess board!

One input - I used Droidcam to use mobile camera. But one problem is that the board calibration program uses only the default camera. For now, I disabled the windows camera and the program identified the Droidcam. It would be good if you have option to set the camera for using.

Thanks,
Srivatsan

cant run "Error creating bean with name 'pendule'"

Hi.
I have this problem. Can you give me a hand to solve?

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pendule' defined in URL [jar:file:/home/xxxxxxx/Descargas/webcamChess.jar!/game/chess/graphics/Pendule.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [game.chess.graphics.Pendule]: Constructor threw exception; nested exception is java.lang.NullPointerException
Thanks!

webcam selection

I'm having difficulty selecting the webcam. In the gui.py it does have a selector but is only showing 'default' and I am attempting to use a virtual cam client so I can use my phone to point to the board (droidcam on win10) but it not allowing this. If there is any input on this I would appreciate it.

is possible to promote a pawn?

HI.
This is not an issue but i want to know.
Thanks.

Amazing project!

ps.Delete this... i read better your readme Thanks!

Can't run

it says that it failed to execute script main due to unhandled exeption do you kno how to fix that

French language

Could you please add french language ?
Below the traduction needed.
Thanks.

class French: def init(self): self.game_started = "Partie démarrée" self.move_failed = "La reconnaissance a échoué. Veuillez réessayer." def name(self, piece_type): if piece_type == chess.PAWN: return "pion" elif piece_type == chess.KNIGHT: return "cavalier" elif piece_type == chess.BISHOP: return "fou" elif piece_type == chess.ROOK: return "tour" elif piece_type == chess.QUEEN: return "reine" elif piece_type == chess.KING: return "roi" def comment(self, board, move): check = "" if board.is_checkmate(): check = " échec et mat" elif board.is_check(): check = " échec" board.pop() if board.is_kingside_castling(move): board.push(move) return "petit roc" + check if board.is_queenside_castling(move): board.push(move) return "grand roc" + check piece = board.piece_at(move.from_square) from_square = chess.square_name(move.from_square) to_square = chess.square_name(move.to_square) promotion = move.promotion is_capture = board.is_capture(move) board.push(move) comment = "" comment += self.name(piece.piece_type) comment += " " + from_square comment += " prend" if is_capture else " vers" comment += " " + to_square if promotion: comment += " promu en " + self.name(promotion) comment += check return comment

Only one game can be played at a time

It displays the error that only one game can be played at a time. He asks me to close the other open games. But there is only one game at that time.

Extract moves

Is it possible to extract moves made? I want to send them to robot to move chess pieces

cv2

Ich arbeite auf Windows 11 und das Programm findet cv2 nicht. Wo finde ich cv2?

Speech sometimes confusing

Sometimes the program should be a bit more talkative, assuming the player doesn't look at the screen.

  • In case there is an error message or the game is interrupted, it should be told to the player
  • If the opponent's move couldn't be recognized, the expected move should be said aloud again (in case the player didn't hear or misunderstood it for any reason)

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.