You are on page 1of 8

#3Breakout!

arcade
Breakout,
Apple- - .
,

.

Breakout

Breakout ,
.
,

.

.
( )
,
.

: .


. (

).

,
, .


.
:
1.
1. ,
. ,

,
.
.
2.
2. .
.

,
.

, breaking out
.
,
.
, breaking out
,
.

.


,
.
Breakout.java :
,
.
,
, .
,
.
,
.

,
.

1. Breakout.java

,
run ( ):

. ,
:

, Breakout.java
, .
. ,
x ,
.
:
, , , , ( RED, ORANGE, YELLOW, GREEN,
CYAN).
21 .


, .
. ,
(GRect) .
,
. -9
. x
, .
, .
25 .

, GOval-.
.
.
. GOval-
.
,
instance
:

private double vx, vy;



. vy-
+3.0 (, Java- y
).
, vx
.
:
1. RandomGenerator ,
:
private RandomGenerator rgen = RandomGenerator.getInstance();
2. vx- :
vx = rgen.nextDouble(1.0, 3.0);
if (rgen.nextBoolean(0.5)) vx = -vx;
vx- 1.0- 3.0-
().
Breakout ,
-3 3 :
nextDouble(-3.0, +3.0)
, .
.
, . ,
.
,
.
. ,
( ).
,
.
.
, vy-.
, vx-.

Breakout ,
.
, .
?
GraphicsProgram public GObject getElementAt(double x,
double y) , -9 ( 299).
(x, y) , .
null.

.

getElementAt(x, y)

(x, y) ? (x, y)
, .
null-.
,
.

.
, , ,
.
,
. , GOval
, - (x, y),
:

, ,
, getElementAt .
,
.
, :
1. getElementAt ,
.
2. null ,

GObject .
3. getElementAt - null , .
4. getElementAt null
, .
:
private GObject getCollidingObject()
null-, .
,
:
GObject collider = getCollidingObject();
,
.
.
, .
:
if (collider == paddle) . . .
,
. ,
, .

, .
remove .

, .
:

.

, ,
. ,

.
,
.
? ,

. 0-, .
,
.

.
? ,
?
, ,
. ,
.
, :
,
.
? ?
,
.


:
.
.
, .

. .
,
.
.
,
.

,
.
,
, :
,
. (,
):
, .
bounce.au.
:
AudioClip bounceClip =
MediaTools.loadAudioClip("bounce.au");

:
bounceClip.play();

.

. .
, GLabel ,
.
. ,
, .
,

.
, x y
.
. Breakout ,
,
.
, 7
.
.
, . ,
,
,
.
.
.

You might also like