Giter Site home page Giter Site logo

jte's People

Contributors

joesingo avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

joinsider

jte's Issues

Separate sprite drawing

A separate file can contains factory methods for creating sprites as grid.js objects:

  • Player flags (name, colour, city)
  • City circle (city, locating or travelling, airport)
  • Hover icon (icon, location)

Game object can have sprites object containing fields: player_flags, located_cities, travel_cities to easily manage clearing display on update, toggling city locations, hover icons etc...

Locate cities

Clicking a card in your hand should toggle highlighting the selected city.

Viewport should be translated so that city is closest to the centre of the screen without area beyond the edge of the map being shown

Also add icon to toggle showing all cities at once

Implement click points

For travel actions a circle should be drawn over the map at the city:

  • Bigger than circles in map png
  • White border to distinguish
  • Change mouse pointer and display hover icon (land/air/sea) on mouseover
  • If multiple actions for one city then show popup to ask user which one

Improve appearance of player's hand

Cards should be more shaped like a playing card (perhaps with a picture as well as city name?) and arranged along a curve (cf hearthstone)

Store games in files rather than in memory

Currently each game is just stored in memory which is not a good idea on a public facing server. Instead, each Matchmaker could be pickled to a file after perform_action() in server.py completes.

This would also make it easier to delete old games (e.g. shell script to look at last modified time and delete accordingly).

Create popup dialogs

Add a way of displaying a popup dialog:

  • To roll dice and see score
  • Choose between different travel types to a city (e.g. if land and air are available)
  • End of game notification

Cache game status

The status returned by get_status() in the Game class should be cached and timestamped whenever perform_action() ends.

The client will then keep track of it's most recent timestamp to detect when something has changed.

Show dice points

Dice points could be shown as a picture of a die in the top right

Toast notifications and message log

Certain messages from the message log (all of them?) should be shown like a toast notification in Android

Same visual appearance as message log, shown at top of screen and automatically hidden after some time.

Used for:

  • City visited
  • Movement
  • Turn change

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.