簡體   English   中英

Robocode(java):如何使我的機器人根據getEnergy()的結果更改顏色?

[英]Robocode (java): how can I make my robot change color depending on the result of getEnergy()?

因此,我一直在使用Robocode研發此機器人,我希望它根據命令getEnergy()的結果更改其顏色。

但是,我似乎無法正常工作。 我創建的Java代碼如下:

    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)); 
    }

我也試過這個:

    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)); 
    }

我究竟做錯了什么?

這些代碼片段看起來很合理。 (盡管第一行getEnergy();什么也不做。)關於為什么看不到顏色變化的兩點想到。

  • 這段代碼實際上是在每個滴答聲中執行的嗎? 例如,僅將它放在run()方法的頂部是不夠的,因為僅在每個回合開始時才調用它。 它將需要處於在run()內的循環中,每個滴答調用execute() ,或者在諸如onScannedRobot()頻繁執行的onScannedRobot() 您可以將System.out.println(getTime())添加到這些塊中,並觀察輸出控制台以幫助進行故障排除。
  • IIRC,Robocode設置中有一個選項,允許或禁止機器人在比賽中更改顏色。 默認情況下,它可能被禁用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM