我正在制作一个简单的程序,可以让你添加一个比赛的结果,以及他们用完的秒数.所以为了输入时间,我这样做了:
int time = Integer.parseInt(JOptionPane.showInputDialog("Enter seconds"));
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如果他输入的数字不是正数,我怎么能向用户显示错误信息?就像MessageDialog一样,在输入数字之前会给出错误.
我正在制作一个非常简单的蛇游戏,我有一个名为Apple的对象,我想每隔X秒移动到一个随机位置.所以我的问题是,每X秒执行此代码的最简单方法是什么?
apple.x = rg.nextInt(470);
apple.y = rg.nextInt(470);
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:
好吧有一个像这样的计时器:
Timer t = new Timer(10,this);
t.start();
Run Code Online (Sandbox Code Playgroud)
它的作用是在游戏启动时绘制我的图形元素,它运行以下代码:
@Override
public void actionPerformed(ActionEvent arg0) {
Graphics g = this.getGraphics();
Graphics e = this.getGraphics();
g.setColor(Color.black);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
e.fillRect(0, 0, this.getWidth(), this.getHeight());
ep.drawApple(e);
se.drawMe(g);
Run Code Online (Sandbox Code Playgroud) 我有一个任务,我应该在正方形中绘制正方形,最后得到这样的东西:
我一直在尝试不同的方法来解决这个问题,但由于我有限的编程知识,我似乎无法想出一个简单的方法来做到这一点.我想做的是让Polygon画出这样的正方形:
public void paintComponent(Graphics g){
super.paintComponent(g);
setBackground(Color.DARK_GRAY);
int x1 = 50;
int y1 = 50;
int x2 = 250;
int y2 = 50;
int x3 = 250;
int y3 = 250;
int x4 = 50;
int y4 = 250;
int xPoints[] = {x1,x2,x3,x4};
int yPoints[] = {y1,y2,y3,y4};
int nPoints = 4;
g.setColor(Color.GREEN);
g.drawPolygon(xPoints, yPoints, nPoints);
}
Run Code Online (Sandbox Code Playgroud)
然后只需将几个像素添加到正确的点坐标即可移动方块.问题是我无法找到沿着线的y坐标,使得方形开始越来越向中心开始(对不起,这可能是一个可怕的解释).无论如何,我现在陷入困境,如果有人有更好的方法来解决这个问题(或者可以指出我在正确的方向上)那将会很棒.
谢谢!