ruby - 添加祝贺信息 pong gosu
问题描述
我刚开始学习 ruby 和 gosu。我现在使用的代码是来自其他人代码的引用。
这是一个 2 人乒乓红宝石游戏。游戏正在运行并且可以玩。我正在尝试将其设置为任何玩家得分达到 10,游戏将停止并显示消息“玩家 1/2 获胜”并提示玩家是否要继续玩。
我现在的问题是当其中一名玩家得分达到 10 时显示消息,然后提示用户是否要继续。
(免责声明这不是我的原始代码,我只是用它来学习。)
if @player_1.score == 2
@state = :stopped
@message.draw_text('WIN',100,100,2)
end
if @player_2.score == 2
@state = :stopped
end
这段代码在 Gosu::Window 类中(我不知道如何把整个代码放在这里,因为这是我的第一次)
解决方案
要显示您的“WINNER SCREEN”,您还必须在 DRAW 方法中管理状态。
这是我在 RPG 游戏中的代码示例...
def draw
case @state
when ZOrdinals::GAME
main_draw
when ZOrdinals::MENU
@main_menu.draw
when ZOrdinals::BATTLE
@battle.draw
when ZOrdinals::DEAD
@dead = Dead.new(self) if @dead.nil?
@dead.draw
end
end
这是死屏代码:
require_relative 'zordinals'
# Death screen
class Dead
def initialize(window)
@window = window
@image = Gosu::Image.new(File.dirname(__FILE__) + '../../images/die.png',
tileable: false)
end
def update; end
def draw
@image.draw((ZOrdinals::SCREEN_WIDTH / 2) - (@image.width / 2),
(ZOrdinals::SCREEN_HEIGHT / 2) - (@image.height / 2),
ZOrdinals::BACKGROUND)
end
end
你可以为你的问题做这样的事情......
推荐阅读
- android - Android 检测附近的设备(Covid-19 应用程序)
- html - 响应式按钮添加到购物车的问题(调整页面宽度)
- python - djangosaml2 对用户进行身份验证,但我认为匿名用户
- nginx - Nginx Conf 冲突 www 502
- symfony - 如何在 Doctrine 上自定义 FOREIGN KEY 消息?API平台
- python - Docker MYSQL [2003] 无法连接到 MySQL 服务器(111 连接被拒绝)
- javascript - 如何使用 onClick 事件渲染一些 JSX?
- javascript - 无法从 Firebase 检索日期
- python - 终端的 Python 彩色文本
- python - 如何在python中的多个字典列表中查找项目的累积总和