0455-Bomb-放置炸弹

环境

  • Time 2024-03-20
  • Zig 0.12.0-dev.3152+90c1a2c41
  • WSL-Ubuntu 22.04.3 LTS
  • raylib 5.0

前言

说明

参考资料:

  1. 《游戏开发:世嘉新人培训教材》
  2. 图片素材:https://www.ituring.com.cn/book/1742

目标

如果在空地上按空格键,则放置一个炸弹到地面。

setBomb

在 map.zig 中,新增一个放置炸弹的函数。

    pub fn setBomb(self: *WorldMap, role: Role) void {
        const pos = role.getCell();
        const cell = &self.data[pos.x + pos.y * width];
        if (!cell.contains(.wall) and !cell.contains(.brick))
            cell.insert(.bomb);
    }

play.zig

处理空格按键。

        if (engine.isPressed(engine.Key.space)) {
            self.map.setBomb(self.map.player1().*);
        }

效果

bomb

总结

实现了放置炸弹。

附录

posted @ 2026-08-16 08:51  jiangbo4444  阅读(6)  评论(0)    收藏  举报