我试图用Java制作一个基本的MineSweeper游戏。
我正在制作一种方法,根据用户所做的难度选择,计算出在战场上的地雷数量。
假设这个领域总共有64个单元,用户选择了一个“高级”困难。假设50%的单元将充满地雷,因此总共将有32枚地雷(实地总数/ 100 * 50)。
我遇到的问题是返回值总是0。
这就是我写的方法:
public int calculateMines ()
{
int mines;
mines = 0;
float probability;
probability = (float) 0.0;
int magnitude;
magnitude = 0;
char dificulty;
dificulty = '0';
magnitude = this.getMagnitude();
dificulty = this.getDificulty();
switch (dificulty)
{
case 'B':
case 'b':
probability = (float) ((magnitude/100) * 20);
break;
case 'I':
case 'i':
probability = (float) ((magnitude/100) * 30);
break;
case 'A':
case 'a':
probability = (float) ((magnitude/100) * 50);
break;
default:
probability = -1;
System.err.println("EEROR!");
break;
}
mines = (int) probability;
return mines;
}我做错了什么?
发布于 2014-10-23 21:47:49
如果magnitude小于100,则由于整数除法,probability将为0。你可以
probability = (float) ((magnitude/100.0) * 20);https://stackoverflow.com/questions/26538000
复制相似问题