Giter VIP home page Giter VIP logo

heis's People

Contributors

adoria298 avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

heis's Issues

Uno declaration is not reversed when inaccurate.

If a player declares UNO, the server does not check this on subsequent turns, i.e. a player may declare UNO then gain cards.

Excerpt of singleplayer game:

Your turn!
The Last Card Played:
7
Your Hand:
+2 ??+4
> play 1
You Declared Uno!
Samuel declared UNO!
Your turn!
The Last Card Played:
??+4
Your Hand:
+2 
You draw four cards because Samuel played a Wild +4 card.
Samuel declared UNO!
Your turn!
The Last Card Played:
??+4
Your Hand:
+2 8 9 !X! 7 
> play 3
Samuel declared UNO!
Your turn!
The Last Card Played:
!X!
Your Hand:
+2 8 9 7 
> play 3
You can't play that card.
Please try again.
Samuel declared UNO!
Your turn!
The Last Card Played:
!X!
Your Hand:
+2 8 9 7 
> play 2
Samuel declared UNO!
Your turn!
The Last Card Played:
9
Your Hand:
+2 8 7 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
9
Your Hand:
+2 8 7 9 
> play -1
Samuel declared UNO!
Your turn!
The Last Card Played:
9
Your Hand:
+2 8 7 
> play 0
Samuel declared UNO!
Your turn!
The Last Card Played:
+2
Your Hand:
8 7 
You draw two cards because Samuel played a +2 card.
Samuel declared UNO!
Your turn!
The Last Card Played:
+2
Your Hand:
8 7 <-> 1 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
+2
Your Hand:
8 7 <-> 1 2 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
+2
Your Hand:
8 7 <-> 1 2 1 
> play -1
Samuel declared UNO!
Your turn!
The Last Card Played:
1
Your Hand:
8 7 <-> 1 2 
> play -2
Samuel declared UNO!
Your turn!
The Last Card Played:
1
Your Hand:
8 7 <-> 2 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
1
Your Hand:
8 7 <-> 2 2 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
1
Your Hand:
8 7 <-> 2 2 <-> 
> play -1
Samuel declared UNO!
Your turn!
The Last Card Played:
<->
Your Hand:
8 7 <-> 2 2 
> play 2
Samuel declared UNO!
Your turn!
The Last Card Played:
<->
Your Hand:
8 7 2 2 
> play 0
Samuel declared UNO!
Your turn!
The Last Card Played:
8
Your Hand:
7 2 2 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
8
Your Hand:
7 2 2 0 
> draw 1
Samuel declared UNO!
Your turn!
The Last Card Played:
8
Your Hand:
7 2 2 0 8 
> play -1
Samuel declared UNO!
Your turn!
The Last Card Played:
8
Your Hand:
7 2 2 0 
> play -1
Samuel declared UNO!
Your turn!
The Last Card Played:
0
Your Hand:
7 2 2 
> play -1
Samuel declared UNO!
Your turn!
The Last Card Played:
2
Your Hand:
7 2
> play -1
You Declared Uno!
Samuel declared UNO!
Your turn!
The Last Card Played:
2
Your Hand:
7
> play -1
You won!
Terminating.
Press enter to exit.

Notice how UNO had been declared, and is never undeclared.

Web Version - Future Plans

Features of the Web Version (aiming for v1.0):

  • Multiple concurrent games (goroutines?/sockets?)
  • Online UI through which a game can be chosen, created and played - game ID system?
    A new repository may be necessary for this version - this repo could just be the base game that can be installed by anyone.

This issue is for discussion (๐Ÿ˜†) of how to implement it and the making of plans. A separate tracking issue will be required when it is being implemented.

Create a clientside GUI

The command line is alright, but a GUI would make HEIS accessible to those uncomfortable with it. This is a general tracking issue for working towards said GUI - any commits involving the GUI should mention this issue in the first line.

Improve server logs

The server logs currently omit much information, such as when UNO is declared/undeclared. They can also be inaccurate, stating that a player has won when said player hasn't. They could also make use of the utility.print_card function.

This would make them more readable and more useful.

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.