<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0_13" class="java.beans.XMLDecoder">
 <object class="com.horstmann.violet.ClassDiagramGraph">
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode0">
    <void property="attributes">
     <void property="text">
      <string>mode
difficulty</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>generateAsteroids
generateVessels
generateBoosterPakcs</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>Game Engine</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double0">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double0"/>
      <double>636.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double0"/>
      <double>278.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>636.0</double>
     <double>278.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode1">
    <void property="attributes">
     <void property="text">
      <string>size
damage</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>collide
disintegrate</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>Asteroid</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double1">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double1"/>
      <double>648.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double1"/>
      <double>56.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>648.0</double>
     <double>56.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode2">
    <void property="attributes">
     <void property="text">
      <string>healthPoints
shield</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>shoot
move
useBoosterPack
switchWeapons</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>SpaceShip</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double2">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double2"/>
      <double>247.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double2"/>
      <double>139.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>247.0</double>
     <double>139.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode3">
    <void property="attributes">
     <void property="text">
      <string>damageCount
ammoCount
type</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>Weapon</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double3">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double3"/>
      <double>383.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double3"/>
      <double>367.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>383.0</double>
     <double>367.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode4">
    <void property="attributes">
     <void property="text">
      <string>healthPoints</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>move
blowUp</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>Transportation</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double4">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double4"/>
      <double>992.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double4"/>
      <double>153.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>992.0</double>
     <double>153.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode5">
    <void property="attributes">
     <void property="text">
      <string>duration</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>boostRandom</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>BoosterPack</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double5">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double5"/>
      <double>931.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double5"/>
      <double>481.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>931.0</double>
     <double>481.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode6">
    <void property="attributes">
     <void property="text">
      <string>value</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>boostHealth</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>HealthPack</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double6">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double6"/>
      <double>761.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double6"/>
      <double>609.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>761.0</double>
     <double>609.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode7">
    <void property="attributes">
     <void property="text">
      <string>value</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>boostShield</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>ShieldPack</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double7">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double7"/>
      <double>976.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double7"/>
      <double>609.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>976.0</double>
     <double>609.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode8">
    <void property="attributes">
     <void property="text">
      <string>value = MAX_VAL</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>boostDamage</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>GoldenGunPack</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double8">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double8"/>
      <double>1154.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double8"/>
      <double>610.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>1154.0</double>
     <double>610.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode9">
    <void property="attributes">
     <void property="text">
      <string>type
count</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>boostAmmo</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>AmmoPack</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double9">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double9"/>
      <double>1179.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double9"/>
      <double>366.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>1179.0</double>
     <double>366.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode10">
    <void property="attributes">
     <void property="text">
      <string>duration</string>
     </void>
    </void>
    <void property="methods">
     <void property="text">
      <string>goInvisible</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>InvisibilityPack</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double10">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double10"/>
      <double>1182.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double10"/>
      <double>476.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>1182.0</double>
     <double>476.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode11">
    <void property="attributes">
     <void property="text">
      <string>type
count</string>
     </void>
    </void>
    <void property="name">
     <void property="text">
      <string>Ammo</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double11">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double11"/>
      <double>511.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double11"/>
      <double>549.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>511.0</double>
     <double>549.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.ClassNode" id="ClassNode12">
    <void property="name">
     <void property="text">
      <string>Armory</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double12">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double12"/>
      <double>204.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double12"/>
      <double>581.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>204.0</double>
     <double>581.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.NoteNode">
    <void property="text">
     <void property="text">
      <string>SpaceShips are controlled by players</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double13">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double13"/>
      <double>23.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double13"/>
      <double>141.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>23.0</double>
     <double>141.0</double>
    </void>
   </object>
  </void>
  <void method="addNode">
   <object class="com.horstmann.violet.NoteNode">
    <void property="text">
     <void property="text">
      <string>e.g. The Magic School Bus
- shooting these causes SpaceShips damage</string>
     </void>
    </void>
   </object>
   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double14">
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>x</string>
     <void method="set">
      <object idref="Point2D$Double14"/>
      <double>1096.0</double>
     </void>
    </void>
    <void class="java.awt.geom.Point2D$Double" method="getField">
     <string>y</string>
     <void method="set">
      <object idref="Point2D$Double14"/>
      <double>157.0</double>
     </void>
    </void>
    <void method="setLocation">
     <double>1096.0</double>
     <double>157.0</double>
    </void>
   </object>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="V"/>
    </void>
    <void property="endLabel">
     <string>1..4</string>
    </void>
   </object>
   <object idref="ClassNode0"/>
   <object idref="ClassNode2"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="V"/>
    </void>
    <void property="endLabel">
     <string>1..*</string>
    </void>
   </object>
   <object idref="ClassNode0"/>
   <object idref="ClassNode4"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="V"/>
    </void>
    <void property="endLabel">
     <string>1..*</string>
    </void>
   </object>
   <object idref="ClassNode0"/>
   <object idref="ClassNode1"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="V"/>
    </void>
    <void property="endLabel">
     <string>1..*</string>
    </void>
   </object>
   <object idref="ClassNode0"/>
   <object idref="ClassNode5"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="VHV"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
    </void>
   </object>
   <object idref="ClassNode5"/>
   <object idref="ClassNode6"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="VHV"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
    </void>
   </object>
   <object idref="ClassNode5"/>
   <object idref="ClassNode7"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="VHV"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
    </void>
   </object>
   <object idref="ClassNode5"/>
   <object idref="ClassNode8"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
    </void>
   </object>
   <object idref="ClassNode5"/>
   <object idref="ClassNode9"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="VHV"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
    </void>
   </object>
   <object idref="ClassNode5"/>
   <object idref="ClassNode10"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="VHV"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="V"/>
    </void>
    <void property="lineStyle">
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
    </void>
   </object>
   <object idref="ClassNode3"/>
   <object idref="ClassNode11"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
    </void>
    <void property="endArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="BLACK_DIAMOND"/>
    </void>
    <void property="endLabel">
     <string>1..1</string>
    </void>
   </object>
   <object idref="ClassNode2"/>
   <object idref="ClassNode12"/>
  </void>
  <void method="connect">
   <object class="com.horstmann.violet.ClassRelationshipEdge">
    <void property="bentStyle">
     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
    </void>
    <void property="endLabel">
     <string>1..*</string>
    </void>
    <void property="startArrowHead">
     <object class="com.horstmann.violet.ArrowHead" field="DIAMOND"/>
    </void>
   </object>
   <object idref="ClassNode12"/>
   <object idref="ClassNode3"/>
  </void>
 </object>
</java>
