Giter Site home page Giter Site logo

amosyu2000 / blokkus Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 4.73 MB

Winter break project '19 by @andytule and @amosyu2000. Based on Blokus by Mattel Games.

Home Page: https://amosyu2000.github.io/blokkus

License: MIT License

HTML 12.37% JavaScript 76.63% CSS 11.00%

blokkus's Introduction

Blokkus

By Andy Le and Amos Yu.
Project started December 19, 2019 and finished January 9, 2020.

Play

Hosted at amosyu2000.github.io/blokkus and at andytule.github.io/projects/blokkus.

Rules of the game (From UltraBoardGames).

About

Blokkus is based off of the award-winning game Blokus by Mattel Games. Compete to place as many of your pieces as possible on the board in this strategic turn-based board game. Supports 2, 3, and 4-player. Blokkus was implemented using HTML/CSS/JS. The 3D pieces were designed in Blender.

Libraries used:

blokkus's People

Contributors

amosyu2000 avatar andytule avatar

Watchers

James Cloos avatar  avatar

blokkus's Issues

Initial Ideas

Blokus Gameplay Rules

  • Pieces must connect through a corner
  • Set of pieces per player here.
  • Game ends when all players can no longer place a piece

Notes

  • Grid lines on board have thickness (so not infinitesimally small)
  • Each player will have pieces lying in front of them
  • Board rotates after each player's turn
  • When piece is clicked, It hovers slightly and glows (for ex. see "minecraft glowing effect")
  • Left-click piece to select/deselect
  • When piece is selected, a shadow appears on the board to help place the piece
  • Piece is selected/placed with LMB
  • Z for rotate CW, X for flip
  • Counter for tiles remaining
  • Leaderboard after game ends
  • Concede button in the corner

Tile class

contains:

  • type
  • function isOverlapping() (validator function returns true or false)
  • thickness y (static - same for all)
  • 0 for empty tile, 1 for filled tile, -1 for corner

Piece class

contains:

  • x- and z- dimensions for each piece
  • matrix of Tile objects
  • function setGlowing(bool) (bool either true or false)

Objectives for December 25, 2019

Amos

  • Create home screen

Andy

  • Create objects and classes for pieces and tiles
  • Create functional game via console
    • Tile checking functions
    • Update game board function

How to interpret the new project structure

I reorganized the project. All the project files go in the blokkus folder, while all the git stuff (README, LICENSE) go outside.

In the blokkus folder, we keep the html files (so home.html is the home page and board.html is the page where the blokkus board game will be).

In the blokkus/resources folder, we keep .css files in the css folder and .js files in the js folder.

In the blokkus/vendors folder, we keep libraries (such as jquery and three.js).

Feel free to leave a comment if you have any concerns.

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.