首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Robocode (java):如何使我的机器人根据getEnergy()的结果改变颜色?

Robocode (java):如何使我的机器人根据getEnergy()的结果改变颜色?
EN

Stack Overflow用户
提问于 2013-06-14 10:50:50
回答 1查看 3.3K关注 0票数 1

因此,我一直在用机器人代码开发这个机器人,我希望它能够根据命令getEnergy()的结果改变颜色。

然而,我似乎无法让它发挥作用。我创建的java代码如下:

代码语言:javascript
复制
    getEnergy();
    if(getEnergy()>=90)
    {
        setBodyColor(new Color(0, 255, 0));
    }if(getEnergy()<90 && getEnergy()>=40){
        setBodyColor(new Color(0, 0, 255)); 
    }if(getEnergy()<40){
        setBodyColor(new Color(255, 0, 0)); 
    }

我也试过这个:

代码语言:javascript
复制
    getEnergy();
    if(getEnergy()>=90)
    {
        setBodyColor(new Color(0, 255, 0));
    }else if(getEnergy()>=40){
        setBodyColor(new Color(0, 0, 255)); 
    }else if(getEnergy()<40){
        setBodyColor(new Color(255, 0, 0)); 
    }

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-06-25 19:59:25

那些代码片段看起来很合理。(尽管第一行getEnergy();什么也不做。)有两件事浮现在你的脑海中,那就是为什么你可能看不到颜色的变化。

  • 这段代码实际上每勾都要执行吗?例如,仅将它放在run()方法的顶部是不够的,因为只有在每一轮开始时才调用它。它需要在run()中调用execute()的循环中,或者在经常执行的东西中,比如onScannedRobot()。您可以将System.out.println(getTime())添加到这些块中,并查看输出控制台以帮助排除故障。
  • IIRC,在机器人代码设置中有一个选项允许或不允许机器人在比赛期间改变颜色。默认情况下,它可能被禁用。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17106791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档