<?xml version="1.0" encoding="UTF-8"?>
<uml:Package xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_zGUjYYZmEd6c-ruPv8woCQ" name="default">
  <elementImport xmi:id="_zI2S8IZmEd6c-ruPv8woCQ">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
  </elementImport>
  <elementImport xmi:id="_zJAD8IZmEd6c-ruPv8woCQ">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
  </elementImport>
  <elementImport xmi:id="_zJAD8YZmEd6c-ruPv8woCQ">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
  </elementImport>
  <elementImport xmi:id="_zJAD8oZmEd6c-ruPv8woCQ">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
  </elementImport>
  <packagedElement xmi:type="uml:Class" xmi:id="_-ypAkIZmEd6c-ruPv8woCQ" name="Start">
    <ownedOperation xmi:id="_TMxicIZnEd6c-ruPv8woCQ" name="startGame">
      <ownedParameter xmi:id="_XdYcAIZnEd6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_vFeHoIZnEd6c-ruPv8woCQ" name="AI">
    <ownedAttribute xmi:id="_ZbubMIZrEd6c-ruPv8woCQ" name="property" aggregation="composite"/>
    <ownedOperation xmi:id="_uFZN4IZrEd6c-ruPv8woCQ" name="checkMove">
      <ownedParameter xmi:id="_5WweUIZ0Ed6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_737wsIZrEd6c-ruPv8woCQ" name="takeControl">
      <ownedParameter xmi:id="_05We4IZ0Ed6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_9u9rIIZoEd6c-ruPv8woCQ" name="Figure">
    <ownedAttribute xmi:id="_AHIcYIZpEd6c-ruPv8woCQ" name="positionX" aggregation="composite"/>
    <ownedAttribute xmi:id="_Eil7EIZpEd6c-ruPv8woCQ" name="positionY" aggregation="composite"/>
    <ownedAttribute xmi:id="_GBrvQIZpEd6c-ruPv8woCQ" name="direction" aggregation="composite"/>
    <ownedAttribute xmi:id="_Bn7rUIZqEd6c-ruPv8woCQ" name="int status" aggregation="composite"/>
    <ownedAttribute xmi:id="_pDFnEIZqEd6c-ruPv8woCQ" name="speed" aggregation="composite"/>
    <ownedOperation xmi:id="_dtSzgIZqEd6c-ruPv8woCQ" name="changeDirection">
      <ownedParameter xmi:id="_iVH6QIZqEd6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_kAIqkIZqEd6c-ruPv8woCQ" name="move">
      <ownedParameter xmi:id="_kl_JoIZqEd6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_f4Nc0IZzEd6c-ruPv8woCQ" name="getPositionX">
      <ownedParameter xmi:id="_wcThQIZzEd6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_x42-0IZzEd6c-ruPv8woCQ" name="getPositionY">
      <ownedParameter xmi:id="_y7xNUIZzEd6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_1apDgIZzEd6c-ruPv8woCQ" name="getDirection">
      <ownedParameter xmi:id="_4pp9MIZzEd6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_ZMPwUIcREd6DcbZEFvQ2PA" name="getStatus">
      <ownedParameter xmi:id="_cB-AQIcREd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_dLnI4IcREd6DcbZEFvQ2PA" name="setStatus">
      <ownedParameter xmi:id="_d213MIcREd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_eGpNwIcREd6DcbZEFvQ2PA" name="getSpeed">
      <ownedParameter xmi:id="_fjEIcIcREd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_fyRpIIcREd6DcbZEFvQ2PA" name="operation"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_4dQPAIZqEd6c-ruPv8woCQ" name="Ghost">
    <generalization xmi:id="_FJMWIIZrEd6c-ruPv8woCQ" general="_9u9rIIZoEd6c-ruPv8woCQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_J2PUJoZrEd6c-ruPv8woCQ" name="FatMan">
    <generalization xmi:id="_J2PUJ4ZrEd6c-ruPv8woCQ" general="_9u9rIIZoEd6c-ruPv8woCQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_SqL18IZrEd6c-ruPv8woCQ" name="calls AI" memberEnd="_SqL18YZrEd6c-ruPv8woCQ _SqL19IZrEd6c-ruPv8woCQ">
    <ownedEnd xmi:id="_SqL18YZrEd6c-ruPv8woCQ" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_SqL18IZrEd6c-ruPv8woCQ">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SqL184ZrEd6c-ruPv8woCQ" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SqL18oZrEd6c-ruPv8woCQ" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_SqL19IZrEd6c-ruPv8woCQ" name="dst" type="_vFeHoIZnEd6c-ruPv8woCQ" association="_SqL18IZrEd6c-ruPv8woCQ">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SqL19oZrEd6c-ruPv8woCQ" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SqL19YZrEd6c-ruPv8woCQ" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_IFHfQIZsEd6c-ruPv8woCQ" name="Handler">
    <ownedAttribute xmi:id="_1j8bYIZxEd6c-ruPv8woCQ" name="ArrayList Figures" aggregation="composite"/>
    <ownedOperation xmi:id="_KmSUEIczEd6DcbZEFvQ2PA" name="buildObjects">
      <ownedParameter xmi:id="_MGj0AIczEd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_NPS9sIczEd6DcbZEFvQ2PA" name="createGame">
      <ownedParameter xmi:id="_O_9qEIczEd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_2GGioIc0Ed6DcbZEFvQ2PA" name="setDirectionFatMan">
      <ownedParameter xmi:id="_NCdUMIc2Ed6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_8Xz0cIc4Ed6DcbZEFvQ2PA" name="gameLoop">
      <ownedParameter xmi:id="_9J4xoIc4Ed6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_jroIQIZsEd6c-ruPv8woCQ" name="PlayerInput">
    <ownedOperation xmi:id="_DN6wsIZ1Ed6c-ruPv8woCQ" name="takeControl">
      <ownedParameter xmi:id="_E5-C0IZ1Ed6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_okUqoIZuEd6c-ruPv8woCQ" name="Map">
    <ownedAttribute xmi:id="_qc5V0IZuEd6c-ruPv8woCQ" name="arraymatrix map" aggregation="composite"/>
    <ownedOperation xmi:id="_F62tgIZ0Ed6c-ruPv8woCQ" name="getMapInfo">
      <ownedParameter xmi:id="_JXlTEIZ0Ed6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_un2BUIc0Ed6DcbZEFvQ2PA" name="createFigures">
      <ownedParameter xmi:id="_vO5aQIc0Ed6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_UOItQIZxEd6c-ruPv8woCQ" name="Collision">
    <ownedOperation xmi:id="_NKgLEIZ0Ed6c-ruPv8woCQ" name="checkMapCollision">
      <ownedParameter xmi:id="_cIzWYIZ0Ed6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_dPJTYIZ0Ed6c-ruPv8woCQ" name="checkGhostCollision">
      <ownedParameter xmi:id="_hhhukIZ0Ed6c-ruPv8woCQ" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_Yo9UsIcfEd6DcbZEFvQ2PA" name="calls Map" memberEnd="_Yo9UsYcfEd6DcbZEFvQ2PA _Yo9UtIcfEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_Yo9UsYcfEd6DcbZEFvQ2PA" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_Yo9UsIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Yo9Us4cfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Yo9UsocfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_Yo9UtIcfEd6DcbZEFvQ2PA" name="dst" type="_okUqoIZuEd6c-ruPv8woCQ" association="_Yo9UsIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Yo9UtocfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Yo9UtYcfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_aSBkQIcfEd6DcbZEFvQ2PA" name="calls Collision" memberEnd="_aSBkQYcfEd6DcbZEFvQ2PA _aSBkRIcfEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_aSBkQYcfEd6DcbZEFvQ2PA" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_aSBkQIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aSBkQ4cfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aSBkQocfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_aSBkRIcfEd6DcbZEFvQ2PA" name="dst" type="_UOItQIZxEd6c-ruPv8woCQ" association="_aSBkQIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aSBkRocfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aSBkRYcfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_csbKIIcfEd6DcbZEFvQ2PA" name="creates Ghosts and FatMan and handles them" memberEnd="_csbKIYcfEd6DcbZEFvQ2PA _csbKJIcfEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_csbKIYcfEd6DcbZEFvQ2PA" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_csbKIIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_csbKI4cfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_csbKIocfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_csbKJIcfEd6DcbZEFvQ2PA" name="dst" type="_9u9rIIZoEd6c-ruPv8woCQ" association="_csbKIIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_csbKJocfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_csbKJYcfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_kj3ngIcfEd6DcbZEFvQ2PA" name="calls PlayerInput" memberEnd="_kj3ngYcfEd6DcbZEFvQ2PA _kj3nhIcfEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_kj3ngYcfEd6DcbZEFvQ2PA" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_kj3ngIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kj3ng4cfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kj3ngocfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_kj3nhIcfEd6DcbZEFvQ2PA" name="dst" type="_jroIQIZsEd6c-ruPv8woCQ" association="_kj3ngIcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kj3nhocfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kj3nhYcfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_tQNskIcfEd6DcbZEFvQ2PA" name="Rules">
    <ownedOperation xmi:id="_uMRsMIcfEd6DcbZEFvQ2PA" name="mayMove">
      <ownedParameter xmi:id="_v7UA4IcfEd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
    <ownedOperation xmi:id="_wUy34IcfEd6DcbZEFvQ2PA" name="mayChangeDirection">
      <ownedParameter xmi:id="_yGW8IIcfEd6DcbZEFvQ2PA" direction="return"/>
    </ownedOperation>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="__Veo0IcfEd6DcbZEFvQ2PA" memberEnd="__Veo0YcfEd6DcbZEFvQ2PA __Veo1IcfEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="__Veo0YcfEd6DcbZEFvQ2PA" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="__Veo0IcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Veo04cfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Veo0ocfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="__Veo1IcfEd6DcbZEFvQ2PA" name="dst" type="_tQNskIcfEd6DcbZEFvQ2PA" association="__Veo0IcfEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Veo1ocfEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Veo1YcfEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_XAW30IciEd6DcbZEFvQ2PA" name="GFXHandler"/>
  <packagedElement xmi:type="uml:Class" xmi:id="_aT_LwIciEd6DcbZEFvQ2PA" name="GameGFX"/>
  <packagedElement xmi:type="uml:Class" xmi:id="_gpEegIciEd6DcbZEFvQ2PA" name="MenuGFX"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_n-iQMIciEd6DcbZEFvQ2PA" name="creates GameGFX" memberEnd="_n-iQMYciEd6DcbZEFvQ2PA _n-iQNIciEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_n-iQMYciEd6DcbZEFvQ2PA" name="src" type="_XAW30IciEd6DcbZEFvQ2PA" association="_n-iQMIciEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n-iQM4ciEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n-iQMociEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_n-iQNIciEd6DcbZEFvQ2PA" name="dst" type="_aT_LwIciEd6DcbZEFvQ2PA" association="_n-iQMIciEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n-iQNociEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n-iQNYciEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_qUnWwIciEd6DcbZEFvQ2PA" name="calls GFXHandler on every Loop" memberEnd="_qUnWwYciEd6DcbZEFvQ2PA _qUnWxIciEd6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_qUnWwYciEd6DcbZEFvQ2PA" name="src" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_qUnWwIciEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qUnWw4ciEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qUnWwociEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_qUnWxIciEd6DcbZEFvQ2PA" name="dst" type="_XAW30IciEd6DcbZEFvQ2PA" association="_qUnWwIciEd6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qUnWxociEd6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qUnWxYciEd6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_EAZBUIc3Ed6DcbZEFvQ2PA" name="creates Handler" memberEnd="_EAZBUYc3Ed6DcbZEFvQ2PA _EAZBVIc3Ed6DcbZEFvQ2PA">
    <ownedEnd xmi:id="_EAZBUYc3Ed6DcbZEFvQ2PA" name="src" type="_-ypAkIZmEd6c-ruPv8woCQ" association="_EAZBUIc3Ed6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EAZBU4c3Ed6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EAZBUoc3Ed6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
    <ownedEnd xmi:id="_EAZBVIc3Ed6DcbZEFvQ2PA" name="dst" type="_IFHfQIZsEd6c-ruPv8woCQ" association="_EAZBUIc3Ed6DcbZEFvQ2PA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EAZBVoc3Ed6DcbZEFvQ2PA" value="1"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EAZBVYc3Ed6DcbZEFvQ2PA" value="1"/>
    </ownedEnd>
  </packagedElement>
</uml:Package>
