Git Product home page Git Product logo

shuffle's People

Contributors

chhhavi avatar hollybabaran avatar sujen29 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

shuffle's Issues

add print statements inside the generator

Print statements inside the generator so that games have output when they run.

Sample output for the sample program:
A new game begins with 4 players.
Deals cards.
Player 1 Turn: Player 1 plays K: into middle.
Player 2 Turn: Player 2 plays Q: into middle.
<...>
Player 1 Turn: Player 1 plays 6: into middle.

Player 1 wins!

Construct for "move all" from a pile to another pile

For use with CardSet etc-- like "deal the rest of cardset into the middle facedown deck" for crazy eights.

Currently the workaround is "Move 19" where the number is hardcoded to be 52 - (4*8 + 1) = 19. So this isn't marked in the CrazyEights milestone, because there is a workaround, but it is pretty mandatory in the long term

cardReference concept

we need to be able to reference cards without creating them. Sujen says we can use the variableReference class to create a cardReference concept

add Joker to Card

Right now we do not support Joker at ALL. It's relevant because Joker doesn't have a suit (though it could theoretically have a colour, eg. red vs black jokers)

enforce unique cards in cardset or not?

Right now we do not enforce uniqueness in the cardset. Eg this is a valid program that will compile and run:

setup board :
CardSet :
A :
A :
end
player turn :
<< ... >>
end
win condition :
0 equal to 0
end

IF we want to enforce uniqueness, this is a bug and it needs to be fixed; if we do not, this is a feature that needs to be documented

add constructs for human players in a game

Right now we only have "player turn" where the user types exactly what the AI player will do. We need to add constructs 1) to differentiate between human and computer players, at setup and inside PlayerTurn; 2) I/O hooks inside human Player Turn to allow players to perform actions

Control flow

if / while / else. Concepts are done but we need generators.

--> BUG: you can create else, elseif blocks without preceding if blocks.

users are allowed to specify multiple cardsets in editor

Users are allowed to specify multiple conflicting CardSets in the setup block as follows:

setup board :
CardSet :
<< ... >>
CardSet :
<< ... >>
end

The editor interface won't complain, but it will fail to compile because "__deck" is declared twice. We should have a nicer way of handling this (Alex says we can use constraints).

Create a pipeline to package Shuffle inside a modified Intellij

We need to figure out how to package Shuffle inside of intellij, and how to modify the packaged intellij to suit the needs of the user.

Once we figure out how to do this, we need to create a step-by-step process (or build pipeline / makefile etc) to automate it

TextGen for VariableReference

here is our gen right now:

CardPile middle = new CardPile();
CardPile bottom = new CardPile();
while (true) {
// Perform Player turn code
CardPileUtil.move(2, <!TextGen not found for 'Shuffle.structure.VariableReference'!>, <!TextGen not found for 'Shuffle.structure.VariableReference'!>);

This should be CardPileUtil.move(2, middle, bottom);

fix this

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.