我一直在线跟踪CS106A讲座并完成作业.虽然在突破游戏中我已经被困了几天,因为我无法理解它的行为.
基本上,我已经建立了环境,砖块,球,桨,边缘,我可以让球在环境中反弹.我可以让球甚至从砖块上反弹,我甚至可以移除砖块.但是我无法让球从砖块上反弹并同时移除砖块.
如果你查看我的代码,你会看到我有一个方法来反转球的方向.此方法从我的方法中获取一个布尔值,该值检查球是否与环境中的任何对象发生碰撞.如果我不包括方法'remove()',那么球将按照预期从砖块上反弹.如果我确实包括那种方法,那么球会移除砖块但不会从它们上弹开.这向我表明正在读取代码并返回布尔值,但该值并未改变球移动的方向.
/*
* File: Breakout.java
* -------------------
* Name:
* Section Leader:
*
* This file will eventually implement the game of Breakout.
*/
import java.awt.Color;
import java.awt.event.MouseEvent;
import acm.graphics.GArc;
import acm.graphics.GLine;
import acm.graphics.GObject;
import acm.graphics.GOval;
import acm.graphics.GRect;
import acm.program.GraphicsProgram;
import acm.util.RandomGenerator;
public class Breakout extends GraphicsProgram {
/** Width and height of application window in pixels */
public static final int APPLICATION_WIDTH = 400;
public static final int APPLICATION_HEIGHT = 600;
/** Dimensions of game board (usually …Run Code Online (Sandbox Code Playgroud)