首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java MineSweeper:计算字段中的地雷数量

Java MineSweeper:计算字段中的地雷数量
EN

Stack Overflow用户
提问于 2014-10-23 21:44:59
回答 1查看 570关注 0票数 0

我试图用Java制作一个基本的MineSweeper游戏。

我正在制作一种方法,根据用户所做的难度选择,计算出在战场上的地雷数量。

假设这个领域总共有64个单元,用户选择了一个“高级”困难。假设50%的单元将充满地雷,因此总共将有32枚地雷(实地总数/ 100 * 50)。

我遇到的问题是返回值总是0。

这就是我写的方法:

代码语言:javascript
复制
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;
}

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 21:47:49

如果magnitude小于100,则由于整数除法,probability将为0。你可以

代码语言:javascript
复制
probability = (float) ((magnitude/100.0) * 20);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26538000

复制
相关文章

相似问题

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