Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GSOC 2020-TASK] chess.activity #702

Merged
merged 12 commits into from
Jun 18, 2020
Merged

Conversation

prakashujjwal1010
Copy link
Contributor

  • New Chess.activity
  • implemented using
    • Vue.js,
    • Chessboard.js,
    • p4wn.js
  • The activity should be playable against computer or against another user on the network (using presence)
  • The activity should display the list of move during play.
  • The activity should be integrated with Journal (save its context in the Journal).
  • The UI of the activity should be simple, self-explanatory and respect Sugar standards.
  • The activity should be correctly integrated into Sugarizer and use buddy colors for background etc
  • The activity should use localization.
  • tutorial added
  • The activity should be responsive (work on any screen size) and should include a fullscreen button.
  • The activity should work on any browser (Chrome, Firefox and Safari) and in Electron.
  • The activity should not depend of an Internet connection (use local content only).
  • The activity work with mouse, touch.
  • Every content/library used in the activity should rely on a Free Libre Open Source license.
  • timer or chess clock added

@prakashujjwal1010
Copy link
Contributor Author

prakashujjwal1010 commented Mar 13, 2020

Screenshot from 2020-03-14 00-41-56

Screenshot from 2020-03-14 02-31-09

@llaske @ashish0910 please review

@ashish0910
Copy link
Contributor

Just one thing -

In multiplayer mode when the number of users reaches one you should start playing against computer ( In current implementation when there are 2 users and one leaves then the game gets stuck )

Screenshot 2020-03-14 at 11 10 36 AM

@prakashujjwal1010
Copy link
Contributor Author

thanks @ashish0910 for reviewing.
will add the requested functionality :)

@llaske
Copy link
Owner

llaske commented May 6, 2020

I think your Chess implementation is the best one that we've received.
Congrats!

I've got few remarks to improve it:

  • Change the icon of the activity, for example this one
  • Change the green box color, may be just a grey one will be good (but could become Red/Green when check or at end)
  • Improve the tutorial to explain how to play, I do like the one in Chess Activity for GSoC 2020 [#592] #659
  • Rename the title of the HTML page (currently "My Activity")
  • Reduce size of icons in the list of move
  • Move the new game icon to the right of the neighborhood icon
  • Move the undo icon to the right of the new game icon
  • Change icon to switch change color, for example this one (need to be adapted however)
  • It's not clear which one is the current player, may be you could just add a symbol before the buddy icon to show it
  • Could you scroll the list of move at each play
  • Not a big fan of your popup message at end, I think you don't need it
  • Remove debug messages
  • Solve merge conflict

@prakashujjwal1010
Copy link
Contributor Author

thanks :).
okay, will start the work and add the improvements.

@llaske llaske mentioned this pull request May 8, 2020
12 tasks
@prakashujjwal1010
Copy link
Contributor Author

  • icons changed
  • box color changed
  • tutorial changed, added images for pieces,
  • title changed
  • icons size reduced in moves list
  • toolbar buttons positions changed
  • indication added for current player
  • scroll list is movable
  • popup removed
  • debug messages removed
  • solved merge conflict
  • now host can toggle color in shared mode also
  • now In multiplayer mode when the number of users reaches one user start playing against computer
  • bugs fixed

@llaske
Copy link
Owner

llaske commented May 16, 2020

Very good job. Thanks.

Few things left:

  • The list of move is now scrollable but the idea is to automatically scroll it at each play so the last plays are always visible

  • When the button fullscreen is clicked the toolbar disappear but the canvas size is not resized so the new space is not used

  • In touch, at each play there is a set of error in the console:

       jquery.min.js:3 [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080
    

@llaske
Copy link
Owner

llaske commented May 26, 2020

Hi @prakashujjwal1010 , could you solve the remaining issues?

@prakashujjwal1010
Copy link
Contributor Author

issues solved

  • The list of move is now scrollable but the idea is to automatically scroll it at each play so the last plays are always visible
  • When the button fullscreen is clicked the toolbar disappear but the canvas size is not resized so the new space is not used

regarding the error,
I think the error is in chessboard.js as the same error is also available on their website ,here
@llaske any advice on this error.

@quozl
Copy link

quozl commented May 26, 2020

@prakashujjwal1010, yes, you can be asked to solve issues in upstream projects and dependencies. It really helps to engage with the upstream project about it because they have the expertise in their code, and only if they are unresponsive then you fork.

@llaske
Copy link
Owner

llaske commented May 28, 2020

Ok I've seen you've declared an issue on chessboard.js here. Nice.

Other issues are fixed. Thanks.

@llaske llaske merged commit 3c7728c into llaske:dev Jun 18, 2020
@llaske
Copy link
Owner

llaske commented Jun 18, 2020

Thanks a lot for your work on this activity. It's a valuable addition to Sugarizer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants