私はJavaプログラミングに非常に慣れていません。私は現在、白いボールが画面に表示され続け、ユーザーがボールをクリックしてキャンバスの右側にドラッグして消す必要があるゲームを作ろうとしています。コードの作成はまだ終わっていませんが、コードが原因で Java プログラムがクラッシュし続けています。私が持っているコードの何が問題なのか、なぜ私のプログラムがクラッシュし続けるのか、誰か教えてもらえますか? ありがとうございました!
public class BubbleGame extends GraphicsProgram
{
//~ Instance/static variables
private GRect field;
private GRect goal;
private GObject gobj; /* The object being dragged */
private GPoint last; /* The last mouse position */
private RandomGenerator rgen = new RandomGenerator();
//~ Constructor ...........................................................
// ----------------------------------------------------------
/**
* Creates a new BubbleGame object.
*/
public void init()
{
//call method to create regions
CreateRegions();
//add mouse listeners
addMouseListeners();
//loop to add bubbles
while (true)
{
//create a filled bubble
GOval oval = new GOval (100, 100, 50, 50);
oval.setFilled(true);
oval.setColor(Color.WHITE);
add(oval);
//randomly generate coordinates within the field
//add the bubble and pause
}
}
//~ Methods ...............................................................
public void CreateRegions(){
//create and add the field with the size and color of your choice
field = new GRect(0, 0, getWidth() * .75, getHeight());
field.setFilled(true);
field.setColor(Color.GREEN);
add(field);
//create and add the adjacent goal with the size and color of your choice
goal = new GRect(493, 0, getWidth() * .25, getHeight());
goal.setFilled(true);
goal.setColor(Color.BLACK);
add(goal);
}
/* Called on mouse press to record the coordinates of the click */
public void mousePressed(MouseEvent e) {
last = new GPoint(e.getPoint());
gobj = getElementAt(last);
//later add check that not dragging field or goal
}
/* Called on mouse drag to reposition the object */
public void mouseDragged(MouseEvent e) {
if (gobj != null) {
gobj.move(e.getX() - last.getX(), e.getY() - last.getY());
last = new GPoint(e.getPoint());
}
}
/* Called on mouse drag to reposition the object */
public void mouseReleased(MouseEvent e) {
//if gobj has a value and its coordinates are contained by goal, make it invisible
}
}