我需要在我的 java 游戏中计算准确性。到目前为止,我尝试了几种方法,但是每次它要么不起作用,要么给我一个错误“/ by zero”。bullets_shot 的初始值为零,准确度公式为enemy_downed % bullets_shot。如何在获得准确读数的同时绕过此错误以确保准确性?我尝试做一个循环,如果它是 0 则将 bullets_shot 设置为 1,但它不会给出准确的读数。有没有一种方法可以为它设置一个值,直到它的值大于 1,如果是这样,我该怎么做?以下是一些代码片段。这是完整的代码: https ://github.com/ms12r/Galaxy-Monkeys
在敌人类的tick方法中:
if(tempObject.getId() == ID.Bullet)
{
if(getBounds().intersects(tempObject.getBounds()))
{
hp -= 50;
bullets_hit += 1;
handler.removeObject(tempObject);
在 mouseinput 类中
for (int i = 0; i < handler.object.size(); i++)
{
GameObject tempObject = handler.object.get(i);
if(tempObject.getId() == ID.Player)
{
handler.addObject(new Bullet(tempObject.getX()+16,
tempObject.getY()+24, ID.Bullet, handler, x, y, game));
bullets_shot += 1;
}
在游戏课上
System.out.println("GAME OVER");
System.out.println("Level Reached: " + game.level);
System.out.println("Accuracy: " + ((Enemy.bullets_hit + Gorilla.bullets_hit) % MouseInput.bullets_shot) + "%");
Game.INSTANCE.stop(); }