当前位置: 首页 > 软件库 > 游戏/娱乐 > 休闲游戏 >

Lila

在线国际象棋游戏服务器
授权协议 GPL
开发语言 Scala TypeScript
所属分类 游戏/娱乐、 休闲游戏
软件类型 开源软件
地区 不详
投 递 者 储国发
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Lila(li[chess in sca]la)是一个免费的在线国际象棋游戏服务器,专注于实时游戏和易于使用。

它有一个搜索引擎,与 fishnet 一起分发的计算机分析、锦标赛、模拟、论坛、团队、战术教练、一个移动应用程序和一个共享分析板。由于社区的支持,用户界面有 130 多种语言版本。

Lichess 是用 Scala 2.13 编写的,并依赖于 Play 2.8 框架。scalatags 用于模板制作。纯粹的国际象棋逻辑包含在  scalachess 子模块中。服务器是完全异步的,大量使用了 Scala Futures 和 Akka streams。WebSocket 连接由一个单独的服务器处理,它使用 redis 进行通信。Lichess 与部署在捐赠服务器的AI集群中的Stockfish对话。它使用 MongoDB 来存储超过 17 亿的游戏,这些游戏由 elasticsearch 索引。HTTP 请求和 WebSocket 连接可以由 nginx 代理。

网络客户端是用 TypeScript 和 snabbdom 编写的,使用 Sass 生成 CSS。该博客使用来自 prismic.io 的免费开放内容计划。所有评级的游戏都发布在一个免费的 PGN 数据库中。浏览器测试用 Browserstack 完成,使用 IP2Proxy 数据库进行代理检测。

 相关资料
  • 本文向大家介绍Javafx实现国际象棋游戏,包括了Javafx实现国际象棋游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Javafx实现国际象棋游戏的具体代码,供大家参考,具体内容如下 基本规则 棋子马设计“日”的移动方式 兵设计只能向前直走,每次只能走一格。但走第一步时,可以走一格或两格的移动方式 请为后设计横、直、斜都可以走,步数不受限制,但不能越子的移动方式。 车只能横向

  • 我目前正在创建一个国际象棋游戏,包括以下几个类: ChessPiece-对于所有不同的棋子,由一个Movement行为实例变量组成 移动行为-接口实现的当铺移动行为,KingMovement行为等类,以定义如何每个片类型移动 ChessBoard-由ChessPiece[][] 2D数组组成,具有addPiece()/RemvePiece()/replace ePiece()等功能 玩家-小班帮助

  • 我刚刚学习了Android和Java编程(里面非常noob),我想问一些关于Android编程和Socket服务器的问题。 我得到一个任务,创建一个简单的国际象棋应用程序(不包括AI),棋子的位置将从TCP套接字中检索: 服务器:xinuc.org 端口:7387 我被告知使用Socket Persistent,因为服务器会在每秒更新典当的位置,典当的位置将以这种格式发送 [卒典][横位][竖位]

  • 我目前正在编写我的第一盘国际象棋,我的棋子有一个小问题。我将在下面添加一些代码,但通常我想检查玩家移动某个棋子(在本例中为国王)的棋盘是否已经被另一个棋子占据,因为在这种情况下,另一个棋子将被杀死(如果棋子属于另一个玩家),或者移动是错误的(棋子被自己的棋子占据)。如果你对如何做有任何想法,我将不胜感激。顺致敬意, 公共抽象类文章{ } 公共类国王延伸件{ }

  • DreamChess 是一款开放源码、跨平台(可在 Windows、Mac OS X 及 Linux 上运行)的 3D 国际象棋游戏。该游戏包含自身的引擎 Dreamer,提供各种国际象棋棋盘,并具有背景音乐及声效等其他附属功能。

  • 我已经有一个Board对象,包含一个碎片列表。Piece是一个抽象类,有一个位置(x,y)和一个颜色(黑色或白色)。然后是King、Queen、Knight这三个类,实现了Piece类。 谢谢

  • 我正在下国际象棋,除了一件事,我几乎得到了所有的东西:我需要使棋手不可能将棋子移动到棋盘上。我很难解决这个问题。 我现在用伪代码生成的有效移动是:类getMoveLocations(我定义了一个位置为国际象棋中的一个方块):如果这个位置在边界内,这个位置的棋子是敌人的棋子,并且模拟的移动不会导致棋盘被检查,然后将该位置添加到工件可以移动到的可能位置。 问题是我如何检查棋盘是否“在检查中”。在我的代

  • 我正试图用Java做一个可以在控制台上玩的象棋游戏。对于每一步,游戏要求玩家要一个棋子(例如,第二行第三列的棋子为12个)和一个最终位置(例如,第四行第三列为32个)。一切都工作得很好,包括测试移动是否非法,以及给定的玩家是否在检查中,但我的gameOver boolean似乎在要求第一步移动之前改变了我的棋盘数组的值。 以下是相关代码。从我的主要方法: gameOver boolean,它测试当