diff options
Diffstat (limited to 'docs/modules/ROOT/examples/spacewar/README.adoc')
-rw-r--r-- | docs/modules/ROOT/examples/spacewar/README.adoc | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/modules/ROOT/examples/spacewar/README.adoc b/docs/modules/ROOT/examples/spacewar/README.adoc new file mode 100644 index 000000000..d39b9b5fc --- /dev/null +++ b/docs/modules/ROOT/examples/spacewar/README.adoc @@ -0,0 +1,56 @@ +[[_5]] += Exploring the Spacewar Example + +_© Copyright 1997-2001 Xerox Corporation. All rights reserved._ + +_Last updated: January 10, 2001_ + +The code in this directory is an implementation of the classic video +game Spacewar. + +The Spacewar game is intended to provide a modest-sized example of a +program that uses aspects. The code for this example is evolving, as we +add new features to AspectJ and come up with a better understanding of +how to use the features. + +In order to compile and run this example, make sure to have the latest +version of AspectJ correctly installed. If you're not sure you do, try +the helloworld example first by following the instructions in +xref:../doc/primer/default.html[Primer] section Getting Started. + +[[_5_1]] +== Compiling Spacewar + +* Change to the `examples` directory. +* Type `ajc -argfile spacewar/demo.lst` to compile the system. + +[[_5_2]] +== Running Spacewar + +* In the examples directory, type `java spacewar.Game` + +When the game starts up you will see two different displays. These are +the two built-in display aspects of the game. In each you will see a +single white ship and two red ships. The white ship is yours to control; +the red ships are an enemy robots. Your ship is controlled with the four +arrow keys to turn, thrust and stop; the spacebar fires. As you play, +the game will be displayed in both windows. + +When running on a 1.4 or later VM, click in the main panel to give it +focus so that your keystrokes are recognized. + +You can quit the game with ctl-Q. + +[[_5_3]] +== Exploring the Code + +There is one other built-in configurations for the Spacewar game. Try it +by typing `ajc @spacewar\debug.lst`. This compiles in an elaborate +debugging aspect for the game. + +We recommend you explore the Spacewar source code and look at the +aspects that it uses. You will find several of them, of different scales +and different degrees of cross-cutting. Remember that these represent +our evolving understanding of how to use AspectJ to implement Spacewar. +If you believe we should be doing something differently, then please let +us know. |