Skip to content

chs97/Blokus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 42.0%
  • CSS 35.2%
  • Python 20.2%
  • HTML 2.6%