| <html> |
| |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
| <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
| <meta name="ProgId" content="FrontPage.Editor.Document"> |
| <title>Space War</title> |
| </head> |
| |
| <body BGCOLOR="white"> |
| |
| <P>© Copyright 1997-2001 Xerox Corporation. All rights |
| reserved.</P> |
| |
| <P><B>Last updated</B>: January 10, 2001</P> |
| |
| <p> </p> |
| |
| |
| |
| <h2><a name="5">Exploring the Spacewar Example</a></h2> |
| |
| <P>The code in this directory is an implementation of the |
| classic video game Spacewar.</P> |
| |
| <P>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.</P> |
| |
| <P>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 <a href="../doc/primer/default.html">Primer</a> |
| section Getting Started.</P> |
| |
| <h3><a name="5.1">Compiling Spacewar</a></h3> |
| |
| <ul> |
| <li> Change to the <code>examples</code> directory. </li> |
| |
| <li> Type <code><strong>ajc -argfile spacewar/demo.lst</strong></code> to compile the |
| system.</li> |
| </ul> |
| |
| <h3><a name="5.2">Running Spacewar</a></h3> |
| |
| <ul> |
| <li> In the examples directory, type <code><strong>java spacewar.Game</strong></code></li> |
| </ul> |
| |
| <p>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.</p> |
| |
| <p>You can quit the game with ctl-Q.</p> |
| |
| <h3><a name="5.3">Exploring the Code</a></h3> |
| |
| <p>There is one other built-in configurations for the Spacewar game. |
| Try it by typing <code><strong>ajc @spacewar\debug.lst</strong></code>. This |
| compiles in an elaborate debugging aspect for the game. |
| |
| </p> |
| |
| <p> 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. |
| </p> |
| |
| |
| </body> |
| |
| </html> |