Skip to content

zernie/typescript-redux-card-game

Repository files navigation

React & Redux based Hearthstone clone

Built for educational purposes only. Your contributions are welcome 😉

Project structure

  • src/models contains game models' type declarations and some helper functions.
  • src/redux contains the actual game logic, decoupled from the UI rendering. It uses Redux state library. It is highly recommended to use redux-devtools Chrome extension for debugging.
  • src/UI is a React-based implementation of Game's UI.

Development

$ yarn && yarn start

Now open localhost:3000 in your web browser 🎉

Roadmap:

Gameplay

  • Stats
    • Armor
    • HP
    • Mana
      • Overload
  • Entities
    • Player
    • Hero
    • Minion
    • Weapon
    • Hero power
    • Spell
      • Secret
      • Quest
      • Sidequest
    • Enchantment
      • Aura
  • Zones
    • Play
    • Hand
    • Deck
    • Graveyard
    • Set aside
    • Secret
    • Removed from game
  • Turns
  • Basic mechanics
    • Charge
    • Windfury
    • Taunt
    • Battlecry (needs triggers)
    • Stealth (needs targeting improvements)
    • Poisonous
    • Divine shield
  • Mulligan (needs spells)
  • Choosing a deck
  • Card targeting
  • Play requirements
  • Deck import/export

Visual

  • Card rendering
  • Drag & Drop cards (react-dnd)
    • Touch screen support
  • Fix minion death animation bug (#10)

Technical