Git Product home page Git Product logo

chat-chess's People

Contributors

dependabot[bot] avatar gempir avatar illu avatar ligos96 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

Watchers

 avatar  avatar

chat-chess's Issues

Crash while playing

Sometimes the app will crash while playing

assignment to entry in nil map
Mar 30 20:19:51 demeter twitch-chess[28984]: goroutine 350 [running]:
Mar 30 20:19:51 demeter twitch-chess[28984]: main.(*Game).newChatMessage(0xc4200515e0, 0x1, 0xed06f5f67, 0x324a270, 0x8e7d60, 0xc4202828a6, 0x7, 0xc42028287a, 0x6, 0xc4202827c7, ...)
Mar 30 20:19:51 demeter twitch-chess[28984]: /home/gempir/go/src/github.com/gempir/twitch-chess/game.go:178 +0x24b
Mar 30 20:19:51 demeter systemd[1]: chess.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Mar 30 20:19:51 demeter systemd[1]: Unit chess.service entered failed state.

Include a "process move" button

It would be nice to have a button to force the move.
I tried this on my stream and sometimes, we needed the set time, others we would have liked to move on with the game. A Process move button would help this a lot!

TODO

  • better visibility of square notations
  • better align and design move history
  • switchable sides
  • error handling in case channel is not found or empty entered in form
  • show last moves on the board
  • show points (captured pieces/scores)
  • pawn promotion options
  • adjust time midgame
  • timer for streamer (option for it)

Panic when chat is voting invalid move?

Go runs into an error when 1 person in chat votes for something invalid (I also voted for something valid after that, but that should be ignored since I already voted)

Mar 27 17:42:04 demeter twitch-chess[31311]: panic: runtime error: slice bounds out of range
Mar 27 17:42:04 demeter twitch-chess[31311]: goroutine 35 [running]:
Mar 27 17:42:04 demeter twitch-chess[31311]: main.(*Game).removeMoveFromVotes(0xc42005e980, 0xc4200d315f, 0x5)
Mar 27 17:42:04 demeter twitch-chess[31311]: /home/gempir/go/src/github.com/gempir/twitch-chess/game.go:184 +0x23c
Mar 27 17:42:04 demeter twitch-chess[31311]: main.(*Game).getMostVotedValidMove(0xc42005e980, 0x0, 0x0)
Mar 27 17:42:04 demeter twitch-chess[31311]: /home/gempir/go/src/github.com/gempir/twitch-chess/game.go:165 +0x2a5
Mar 27 17:42:04 demeter twitch-chess[31311]: main.(*Game).sendChatMove(0xc42005e980)
Mar 27 17:42:04 demeter twitch-chess[31311]: /home/gempir/go/src/github.com/gempir/twitch-chess/game.go:112 +0x43
Mar 27 17:42:04 demeter twitch-chess[31311]: main.(*Game).(main.sendChatMove)-fm()
Mar 27 17:42:04 demeter twitch-chess[31311]: /home/gempir/go/src/github.com/gempir/twitch-chess/game.go:247 +0x2a
Mar 27 17:42:04 demeter twitch-chess[31311]: created by time.goFunc
Mar 27 17:42:04 demeter twitch-chess[31311]: /usr/local/go/src/time/sleep.go:170 +0x44

Chat vs Chat

Complicated feature but nymn thought it would be a cool Idea to have 2 chats play each other.

Since this side is client side only I think I would only have one streamer play it.

Show Game status

The game status should be visible, meaning when chat is voting it should show up or something similar.

Improvement: Save channel name

It would be cool to have the channel name automatically saved (locally, using localStorage) to avoid re-typing it for every new game.

This may require adding a button to clear the stored name (but it is not mandatory).

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.