首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏韩伟的专栏

    用 PyGame 入门专业游戏开发(二)

    ().width/Mahjong.cols unitHeight = Mahjong.bigImage.get_rect().height/Mahjong.lines self.image = pygame.Surface( (unitWidth-2*Mahjong.margin_width, unitHeight-2*Mahjong.margin_height) , (0, 0), (symbol[0]*unitWidth+Mahjong.margin_width, symbol[1]*unitHeight+Mahjong.margin_height 一般来说,麻将的图案和麻将美术资源应该是解耦的,上面代码中的 Mahjong.cols, Mahjong.lines 这两个常量,决定了生成的 Mahjong 对象的 symbol 属性的值,如 [0,1 而 Mahjong.pos 属性,在 Table.put_in() 的时候已经正确赋值了。

    89010编辑于 2023-12-04
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第5篇

    Step-By-Step 开发 Mahjong Server 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造 Demo:go-mahjong-server https://github.com/Hacker-Linner/go-mahjong-server 客户端连接游戏服务器 游戏服务器开启 Debug Mode

    45310发布于 2021-05-27
  • 来自专栏韩伟的专栏

    用 PyGame 入门专业游戏开发(四)

    因为根据之前的设计,所有在 Table.heap 里面的 Mahjong 对象,都会被显示,我们只需要增加一个判断:如果 Mahjong.is_move 为 True 的,就不去根据 heap 中的坐标去调整 Mahjong.rect 的值,而是按原来那个对象的值去显示就好了。 具体实现,首先增加一个 Table.move() 方法,具体功能就是设置麻将的新位置,关键是对 Mahjong.pos 进行赋值。 和 Mahjong.is_moving,在 Mahjong.show() 中添加不断修改 Mahjong.rect.left/top 的代码,从而实现移动。 由于此过程必须先选中一个麻将,所以对于“选择整队麻将”的功能,适合放到 Mahjong 类中,所以我们定义了 Mahjong.search_deck() 方法: def search_deck

    55910编辑于 2023-12-12
  • 来自专栏java从入门到失业

    《Java从入门到失业》第四章:类和对象(4.3):一个完整的例子带你深入类和对象

    将实体抽象成麻将类(Mahjong)、桌子类(MahjongTable)、美人类(Player)。然后结合问题的需求和直观感受,我们来分析下每个类具有什么属性和方法。 (String word) { this.word = word; } } 4.3.4构造器        我们看到,麻将类的类名我管它叫Mahjong( 我们要创建一个Mahjong对象,就可以用如下语句: Mahjong m = new Mahjong("8万"); 现在,我们再补充一下关于构造器的一些知识点: 一个类可以有一个以上的构造器 构造器可以有任意个参数 >(); } // 抓牌方法 public void zhuapai(Mahjong mahjong) { this.handList.add >(); } // 抓牌方法 public void zhuapai(Mahjong mahjong) { this.handList.add

    1.3K20发布于 2020-09-27
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第6篇

    Step-By-Step 开发 Mahjong Server 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造 Demo:go-mahjong-server https://github.com/Hacker-Linner/go-mahjong-server 一图胜千言 ? 高清大图: ?

    47420发布于 2021-05-27
  • 来自专栏python3

    AS3的9宫格

    在FB/FD中,也就是在AS3代码中的实现,也就是第二种方法: package com.upupgame.mahjong.player2.game.views.ui.controls.dialogs.huCards { import flash.display.Sprite; import com.upupgame.mahjong.player2.game.views.ui.GameAssets; } } }//package com.upupgame.mahjong.player2

    49630发布于 2020-01-10
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第8篇

    麻将牌 (Mahjong tiles) 抽象和编码实战 一句话描述麻将游戏业务: 三人模式<三人两房>只用 条 子和 筒 子两种花色共 72 张牌。 Step-By-Step 开发 Mahjong Server 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造 Demo:go-mahjong-server https://github.com/Hacker-Linner/go-mahjong-server 牌(Tiles)抽象 定义 Tile struct ? tt.want) { t.Errorf("TileFromID() = %v, want %v", got, tt.want) } }) } } 执行: cd internal/game/mahjong go test -v tile_test.go tile.go mahjong.go ?

    43710发布于 2021-05-27
  • 来自专栏开发运维工程师

    应用实战|借力EdgeOne Pages搭建对话型AI网站

    20px; background-color: #FFE4C4; padding: 10px; border-radius: 5px; } .mahjong-tile

    得分:150

    剩余牌数:24

    </div createTile(value) { const tile = document.createElement('div'); tile.className = '<em>mahjong</em>-tile // 移除前三张 function removeThree() { const tiles = board.getElementsByClassName('mahjong-tile

    80263编辑于 2025-04-01
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第3篇

    Step-By-Step 开发 Mahjong Server 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造 Demo:go-mahjong-server https://github.com/Hacker-Linner/go-mahjong-server 游客登录业务分析 游客(Guest)登录 这里主要还是用于开发与调试程序

    98520发布于 2021-05-27
  • 来自专栏Java开发者杂谈

    麻将胡牌判定的问题

    = 13) { 26 System.out.println("Illegal array for mahjong game!") } 75 76 if (possibleHu.isEmpty()) { 77 System.out.println("The mahjong ; 78 } else { 79 System.out.println("The mahjong could hu! int jiang; 130 private List<Integer> tings; // 可能听的牌不止一张 131 } 132 } 输出的结果如下: 1 The mahjong

    2.3K100发布于 2018-03-14
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第7篇

    Step-By-Step 开发 Mahjong Server 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造 Demo:go-mahjong-server https://github.com/Hacker-Linner/go-mahjong-server 游戏规则 三人模式<三人两房>使用筒子、条子两种花色牌共

    77110发布于 2021-05-27
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第2篇

    脚手架项目 脚手架是基于 nanoserver 抽出来的,旨在帮助大家快速理解这个 Mahjong Server 是如何搭出来的。 Demo:go-mahjong-server https://github.com/Hacker-Linner/go-mahjong-server 基础回顾 Go Modules 我的本地环境: go whitelist # 白名单验证工具函数 │ │ ├── white_list.go ├── protocol # 协议(放所有游戏) │ ├── web.go ├── main.go # 入口 Mahjong

    1.2K20发布于 2021-05-27
  • 来自专栏韩伟的专栏

    用 PyGame 入门专业游戏开发(三)

    选中麻将 对于麻将类 Mahjong 的 update() 方法,增加对于用户输入事件的检测和处理,就能完成“选中麻将”的功能: def update(self): if self.table 由于 mahjong.MainScenario 类,在 start() 方法中,构建 Table 这个 Group 的子类对象时,传入了 director 参数 table = Table(self.director ) 因此每个 Mahjong 对象,都可以通过其 table 属性获得 director 对象,从而获得每帧更新的用户事件(们):self.table.director.events 桌上所有的 Mahjong 选中第二个牌的处理 点击第二张牌后,需要判断是否可以消除,代码在 Mahjong.update(): def update(self): # 判断事件和选中第一张牌 .... selected.bomb.show(selected.rect.left,selected.rect.top) 由于在 MainSenario 的 start() 方法中,为每个麻将对象,都添加了一个爆炸对象属性 Mahjong.bomb

    66610编辑于 2023-12-12
  • 来自专栏java从入门到失业

    《Java从入门到失业》第四章:类和对象(4.4):方法参数及传递

    看一个例子:   // 构造方法 public Mahjong(int type, int number) { this.type = type; this.number 4.4.1形参和实参        我们看一下构造一个麻将的代码: int t= 1; int n = 2; Mahjong m = new Mahjong(t, n); 形参:上面麻将构造方法中的参数

    1.6K10发布于 2020-09-27
  • 来自专栏奇点大数据

    下围棋、打德扑算什么?AI可能很快就要学会打麻将了

    在此论文中,为了简化问题,我们只考虑麻将最基础的打法 Mahjong-0。其他的打法可以用类推的方式处理。 在 Mahjong-0 打法中,只有三类牌: 条:从 B1 至 B9 表示一条到九条,每类 4 张; 万:从 C1 至 C9 表示一万到九万,每类 4 张; 筒:从 D1 至 D9 表示一筒到九筒,每类 论文:Let's Play Mahjong! 论文地址:https://arxiv.org/pdf/1903.03294.pdf ?

    51610发布于 2019-05-05
  • 来自专栏华章科技

    围棋无敌后,这届AI已经开始打麻将了

    在此论文中,为了简化问题,我们只考虑麻将最基础的打法 Mahjong-0。其他的打法可以用类推的方式处理。 在 Mahjong-0 打法中,只有三类牌: 条:从 B1 至 B9 表示一条到九条,每类 4 张; 万:从 C1 至 C9 表示一万到九万,每类 4 张; 筒:从 D1 至 D9 表示一筒到九筒,每类 论文:Let's Play Mahjong! https://arxiv.org/pdf/1903.03294.pdf ?

    93110发布于 2019-04-25
  • 来自专栏小詹同学

    打麻将也能发论文 !?

    在此论文中,为了简化问题,我们只考虑麻将最基础的打法 Mahjong-0。其他的打法可以用类推的方式处理。 在 Mahjong-0 打法中,只有三类牌: 条:从 B1 至 B9 表示一条到九条,每类 4 张; 万:从 C1 至 C9 表示一万到九万,每类 4 张; 筒:从 D1 至 D9 表示一筒到九筒,每类 论文:Let's Play Mahjong! ? 论文地址:https://arxiv.org/pdf/1903.03294.pdf 互动方式:骚年,你对AI怎么看?

    64850发布于 2019-11-13
  • 来自专栏IT派

    一篇AI打麻将的论文,理科生眼中的麻将是这样的

    在此论文中,为了简化问题,我们只考虑麻将最基础的打法 Mahjong-0。其他的打法可以用类推的方式处理。 在 Mahjong-0 打法中,只有三类牌: 条:从 B1 至 B9 表示一条到九条,每类 4 张; 万:从 C1 至 C9 表示一万到九万,每类 4 张; 筒:从 D1 至 D9 表示一筒到九筒,每类 论文:Let's Play Mahjong! ?

    1.1K20发布于 2019-06-10
  • 来自专栏黑客下午茶

    云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第4篇

    Step-By-Step 开发 Mahjong Server 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造 Demo:go-mahjong-server VSCode REST Client 插件 如果你是用 VSCode 作为 IDE,这个插件不错: ?

    84520发布于 2021-05-27
  • 来自专栏机器之心

    一篇AI打麻将的论文,理科生眼中的麻将是这样的

    在此论文中,为了简化问题,我们只考虑麻将最基础的打法 Mahjong-0。其他的打法可以用类推的方式处理。 在 Mahjong-0 打法中,只有三类牌: 条:从 B1 至 B9 表示一条到九条,每类 4 张; 万:从 C1 至 C9 表示一万到九万,每类 4 张; 筒:从 D1 至 D9 表示一筒到九筒,每类 论文:Let's Play Mahjong! ? 论文地址:https://arxiv.org/pdf/1903.03294.pdf

    1.8K110发布于 2019-03-19
领券