Giter Club home page Giter Club logo

board_game's People

Contributors

certator avatar originalutkin avatar

Watchers

 avatar  avatar

board_game's Issues

Define 4 card types

specs:

  • cardA - attack: 1 health: 5

  • cardB - attack: 2 health: 4

  • cardC - attack: 3 health: 3

  • cardD - attack: 4 health: 2

  • choose different picture for card face

  • use the same picture on card back

Add the second player to the battle field

  • make these cards playable, the same way as cards of the first player
  • for now, make the second player's cards visible - orient their faces to the camera
  • keep data structure in GameLogic package, similarly to GamePreparation.cs

Choose selection for 2 players

  • show card selection screen for 1st player
  • when 1st player chooses all cards and clicks "next", show card selection screen for 2nd player
  • when 1st player chooses all cards and clicks "next", load main game scene

Fix card behavior on game board

For now, card's behavior is the same either on battlefield or hand: it could be moved wherever it is possible. In #57 states were implemented for cards however Received state contains only logs for now. This behaviour should be adjusted and implementation is needed there.

Criteria: All method from IState pattern are implemented (or at least defined how it should be implemented) and card isn't movable once it is placed on table.

Interaction with card

Make card as playable object: card could attack the other card. Once card attacked the other one, health attribute of cards should be recalculated

Add cards to game board

In #51 cards could be moved on scene using the cursor. However there is no logic that is responsible for accept card by game board and holding it. Now we need to adjust this logic and make cards playable: once card is dropped on table, we need to recognise how to

  • shift other cards on table if some are there
  • once card is placed on table, player isn't able to move it
  • decide which spot will be obtained once card is dropped on table

Fix GamePreparation scene

After we have agreed upon on new project architecture in #51 and #52 and implemented it, scene is responsible for game preparation was broken by those kind of changes.

  • Since Mouse events could (or even should) be different in those scenes, we need to introduce new card script in game preparation in order to decouple it from card that is used in game itself. The code in those classes could repeat for now.

  • Make game preparation scene usable again

Add "next" button

  • when player selection is max (let's say 5), "next" button is enabled. Otherwise it is disabled
  • when "next" button is clicked, next scene should be loaded

Introduce turn system

Each player could do just a one action: put card on the table, beat the other card or just end current turn

Consider removing BoardGame package

Original idea was to separate game logic code from Unity-specific code. However at this point it brings more difficulties rather than benefits.

Check card belonging

Chosen card cannot attack attack other cards on the same part of the battlefield (e.g. allies cards couldn't be attacked)

Make card visible in hand

In case card is hidden by other card in hand, change hidden card position in way to make it visible

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.