Code Monkey home page Code Monkey logo

blokus's Introduction

Blokus

Blokus 是四个玩家参与的抽象策略类桌游,由法国数学家 Bernard Tavitian 发明

这里实现了一个四人在线版本 https://blokus.io

对局

标准的 Blokus 游戏由 21 种形状的棋子,每个形状四个颜色(红,绿,蓝,黄)各一份共 84 个棋子和 20 * 20 的正方形棋盘构成。每个颜色有对应的起始点。full.png

开始

每个玩家选择一个颜色后,游戏开始

进行

玩家按照按照红,绿,蓝,黄的顺序依次在棋盘上按规则放下棋子,当某一个玩家无法在棋盘上放下棋子时,该玩家的回合会被跳过。当所有玩家无法在棋盘上放下棋子时,该对局游戏结束。

计时规则

对每一局游戏,每个玩家有总用时和额外用时,其中额外计时每回合重置。

当轮到某个玩家的回合时,会首先消耗这一步的用时,当这一步的用时消耗完后,会消耗这一局的总用时。总用时也消耗完后会由系统随机放下一个棋子并强制进入下一个玩家的回合。

落子规则

  1. 第一个棋子必须有一个格子和对应颜色起始点的格子重合 first.jpg

  2. 除第一个棋子之外,每个放下的棋子至少有一个角和之前的同色棋子相邻 dropped.jpg

  3. 每个放下的棋子不得和之前放下的同色棋子有边相邻 not.jpg

  4. 每个放下的棋子不得越过棋盘的边界 out.jpg

  5. 每个放下的棋子不得和之前任何棋子有格子重叠 occupied.jpg

计分规则

对局结束后,按照玩家未能放在棋盘上棋子的格子个数排名。格子越少排名越靠前

操作

鼠标点击或者按住不放选择某一个棋子后,使用按键 wasd 旋转/翻转棋子 假设棋子原来的状态为 s.jpg

  1. 用按键 w/s 上下翻转为 w.jpg
  2. 用按键 a 逆时针旋转为 a.jpg
  3. 用按键 d 顺时针旋转为 d.jpg

在自己的回合拖动棋子到合法位置放下即可将棋子放置在棋盘上

点击托管按钮后进入托管管状态,托管状态下每一回合会由系统随机放下一个棋子

显示

每个玩家有对应的进度条,总用时用该玩家对应的颜色表示,额外用时用灰色表示。progress_bar.jpg

当轮到某个玩家的回合时,该玩家的进度条会有一个燃烧效果。 additional_.jpg accuracy.jpg

棋子在落下前是半透明状态,当移动一个棋子时,该棋子会以阴影效果显示落下后在棋盘所占据的位置 shadow.jpg

每个玩家最后一个落下的棋子会有纹理效果的提示 last.jpg

blokus's People

Watchers

James Cloos avatar Slanterns avatar  avatar

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.