%¤('#¤¥¨¤£'¨¨¥%%$¥##                                     ¨! 
                                                                       ”“’‘ h‰˜—u ‰’—k”—
                           €‰’—k”— —d—p ~ l‰u hw‰˜—’w m‘ k”“” –ˆ’“} q‰’—k”—g l‰m nn| hz g‰–t
                                      q–”‰{‘eg wz‰˜—y‰“v‘xw ‰ˆ– m‰g‘ nm— ™m—‰v–‰u –e—–t h g‰–t
                                                                            q™nm‰ ‰˜—’ ‰ˆ– s™‰˜—p
™nm“• ‰ˆ ‰”mr q™‰˜—p e‘• ’m“k‘‘ ‰o—˜ ‰ˆ– nmj‘e— ’m“k—l ‰kji h‰g˜“™ fe‰d ™“ ‰˜—’ ‰ˆ– •‘ ”“’‘ ‰ˆ‡
                                     vuqe v†v…„uwƒ ‚q €yxwp vuqe tsh rqpihgfed
      assistance of game builder and visual mobile designer.
      This 2nd lab series will take you through the process of developing a mobile game with the
                                                                                  10c2ba`0Y21X
                                         ¢W §V  £(U ¤Q £ §¤T§ BBSR D     $ (§  Q P
                          ¨  £¦#  #  # £¥¤( § (¦¨¤£  ¨  # I $HBDCBA¡©     o
       § (  ¨ §  G£  £¦# F #¦¥  #  # ( ¤#  £¦  ¨ ¨§¦E $5BDCBA¡© o
§  §¦ § §  ( £¥  #  # ( ¤#  §¨¦ ¡  £¦¤© £¦ ¨§¦E $AB DCBA¡©    o
 $ £¦  ¨ § @¡©9  §¨¦   £¦¤ £¦¢ ¨§¦  ¨  £¦¤ ¥¤£ ¢  ¤# 8¤ §¤  ¦  765  •
                                                                                         4213210)
                                              §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                             ¨! z
                           '¨§¦   ¦# ¤Q ¤   #  ¤§¨
                      ‰’—k”—g ‰˜—’ ‘–m“ ‰“• m‰d“’ ‰ˆ– nn| hQ g‰–t
                           '¨§¦   ¦# ¤Q ¤   #  ¤§¨
                    ‰’—k”—g ”“’‘ ‘–m“ ™‰“• z m‰d“’ ‰ˆ– nn| h g‰–t
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
 §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡

–‰i x—j™“F ‘– ™‰n‘” —m‘“–“nn— nn| hR g‰–t

           ql‰“d ¡‰”ej‘tT ‘– ˆ”–“l™ nm— —d—{q–‰i x—j™“F m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e m 

           –™— ‰ˆ– ‰e‘•‰v ™‰n‘” ’m“l‘‘• ‰ˆ– nn|            W   q‰”ej‘™ ‰ˆ– •‘ nm‰ ‰ˆ– –—

   // Additional codes for game over and error mesage
   /**
    * Converts an exception to a message and displays
    * the message..
    */
   public void errorMsg(Exception e) {
       e.printStackTrace();
       if (e.getMessage() == null) {
           getAlert().setString(e.getClass().getName());
           switchDisplayable(getAlert(), getSvgMainMenu().getSvgCanvas());
           alert = null;
       } else {
           getAlert().setString(e.getClass().getName() + : + e.getMessage());
           switchDisplayable(getAlert(), getSvgMainMenu().getSvgCanvas());
           alert = null;
       }
   }

   /**
    * set all the things up when the game is over
    * @param score
    */
   private GameThread myGameThread;
   public void gameOver(int score) {

       lastHighScore = score;
       getScoreTextField().setString(Integer.toString(score));
       if (myGameThread != null) {
           myGameThread.requestStop();//pause();
       }
   }

   /**
    * updates the svg score table image with the high scores
    */
   protected void updateSvgWithHighScores() {
       for (int i = 0; i  highScoreNames.length; i++) {
           getSvgScoresTable().setTraitSafely(Name + (i + 1), #text, highScoreNames[i]);
           getSvgScoresTable().setTraitSafely(Score + (i + 1), #text, Integer.toString(highScoreValues[i]));

       }
   }

   private   final int HIGH_SCORES = 9;
   private   String[] highScoreNames = {Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty};
   private   int[] highScoreValues = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0};
   private   int lastHighScore = 0;




  /**
    * can the high score be add to the high score table?
    * @return
    */
   protected boolean isLastScoreHighEnough() {
       if (lastHighScore  highScoreValues[highScoreValues.length - 1]) {
           return true;
       }
       return false;
   }

   /**
    * this method is used only when the game is in OFFLINE mode (ONLINE == false)
    * adds the high score to high score table
    * @param newScore value
    * @param playerName
    */
   public void addScoreToScoreTable(int newScore, String playerName) {
       int buble = newScore;
       String bubleName = playerName;
       //this is simple buble sort
       for (int i = 0; i  highScoreValues.length; i++) {
           if (highScoreValues[i] == 0) {
               highScoreNames[i] = bubleName;
               highScoreValues[i] = buble;
               break; //we expect that the rest are nulls
           }
           if (buble  highScoreValues[i]) {


 ¨!                            %¤('#¤¥¨¤£'¨¨¥%%$¥##
 §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡

                int temp = highScoreValues[i];
                String tempName = highScoreNames[i];
                highScoreValues[i] = buble;
                highScoreNames[i] = bubleName;
                buble = temp;
                bubleName = tempName;
            }
       }
   }

    /**
    * this method is used only when the game is in ONLINE mode (ONLINE == true)
    * updates the high score table with data from the web service
    * @param scores
    */
   void updateHighScoresTable(String [] scores) {
       for (int i = 0; i  scores.length; i++) {
           int split = scores[i].indexOf(':');
           highScoreNames[i] = scores[i].substring(0, split);
           highScoreValues[i] = Integer.parseInt(scores[i].substring(split + 1, scores[i].length()));
       }
   }


           he‘ee‰ ‰m‘ ˆ–“l –•‰ ‰v nj‘ˆ™ j‘f nm— — ‰d—t




           ¡ # '(¦¨¤£' ¨ ¤Q #¤¥¦ I¡ #( £  § £#¨¦£  # §¤  (¦£P




           '¤   ¤ ¤§   ££¦8   # § ££  ¢V




 ¨! Q                          %¤('#¤¥¨¤£'¨¨¥%%$¥##
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                       ¨!     R
                                                                                              q™n‘ˆ–‰˜
¡ ‰˜j™‰e   nm— ¡ ‰™j—g s¡ mje ‰ˆ– —“d ¡™—dm—¤‰o—x m“  ‰˜—’ ‰ˆ– •‘ m‘“–j”‰D‰ ‰ˆ– ™‘e–m‘” n—‰eˆ‡‰˜—y qz
                                               qm‘“–—˜“m— ‰–“eg™ ‰kjn ‰ˆ– ™‘e–m‘” ¡ ‰–“egt‰–—ngj T
                         q‰m‰”™ ‰ˆ– m“ ‰–“eg™ ™‰kjn ‰ˆ– •‘ –m‰˜‰d‘˜ ‰ˆ– ™‘e–m‘” ¡ ‰d‘x–™‰j1‰e T
                                                                 he‰’—m—˜ e‰f— ‰ˆ– ™“ e‰’—m—x‰o—x q
                                                   q™—dm—¤‰o—x ‰ˆ– nm— n—‰eˆ‡‰˜—y ‰ˆ– se‰’—m—x‰o—x
            ‰ˆ– •‘ ™”“’‘ ‰ˆ– nm—–™e‰nmj ‘– –‰’ ‘– ™‰“• n‰nn— ‰‰eˆ– ‰ˆ– ˆ’j‘eˆ– k‘‘ ‘– ‰˜“– ‰˜‘™ nm‰gt
                                                                            (’m“‘n   ™‰“• ‰™‰ˆ– ‰e— –—ˆX
                                                  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                      ¨!   d
                                                       € ‰––‰— ‘– nn| m‘ k”“¤
               w€ e‰’—m—x ‰––‰—w –”‰‰™ nm— k”“” –ˆ’“e sl‘nm“l ‰––‰— ‰ˆ– m 
ql‰“d ¡l‘T ‘– ˆ”–“l™ nm— —d—{q–‰i x—j™“F m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e m 
                        –m‰m‘g˜‘” ˜‘–™j” — ™— ‰––‰—g ‰ˆ– ‘– ™—dm—¤‰o—x nn| hd g‰–t
                                23§¨X# §¢a¥c¦ 3 2 02 ¥¢¤1¢)3£¢¡ 3 2 ``
           'G£¨§¦¤(( #§  ¢¤ ¤Q  £¦¢  #¥ § G    ( ( G ( ( ( T
' # ¥   ¤(  # #¦8 @§   ¨9 # £¡©£¦ ¤# §#  @9 ¢U #  T
                                                    h ™—dm—” ‰˜—’ ‰ˆ– ™“ ™—dm—¤‰o—x q
                                 §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                            ¨! f
               h–‰’ “l j‘g nm— e‰’—m—x ‰––‰— ‰ˆ– ‰™‘¤
                        ™—dm—¤‰o—xq‰˜—’ h™‰™™—¤ –”‰‰t
                             z‰˜—y‰“v‘x h–”‰{‘e –”‰‰t
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                   ¨! h
 l‰“d ¡l‘T —d—{q–‰i x—j™“F ‰ˆ– ‘–m“ ™—dm—¤‰o—x g‘en nm— ’—ei
                                       sl‘nm“l ‰––‰— ‰ˆ– ˜‘e hf g‰–t
                    §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                              ¨! i
                                      ™“ˆ– hm‘“™™‰egD7 —d—p
                          m‘ k”“¤ h ¡ e‘–”je–™m‘” q  –‰n“˜
                          ™‰“–e‰g‘e –”‰‰™ nm— k”“”p–ˆ’“}
                                        ™—dm—¤‰o—˜ –”‰‰t
                          l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hh g‰–t
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                           ¨  ! ¡
                            h™—dm—¤‰o—˜ ‘– ’—en nm— k”“¤
                      ¡)˜‰– jm‰˜ ~ jm‰xm“—x’d™ –”‰‰t hi g‰–t
                                               ‰™‘¤ k”“¤
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                     ¨  ! 
hn—‰eˆ– — ™— ‰˜—’ ™—dm—¤‰o—˜ ‰ˆ– –e—–™ ‘– n—‰eˆ‡‰˜—y ‰™j ‘– ™‰n‘” ’m“l‘‘• ‰ˆ– nn|
                                                w‰”ej‘t ‘– ‘yw –”‰‰™ nm— k”“”p–ˆ’“}
                                                 ¡)˜‰– jm‰˜ ~ jm‰xm“—x’d™ –”‰‰t
                                                  l‰“d ¡l‘T —d—{q–‰i x—j™“F m  h¡ g‰–t
                                                `¢3Y ¡3£¢¡ 02 23§¨X# §¢a¥c¦  1c%
                                       §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
 §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡


¥32cY  §3¤3§ ¥2c `1¢ 1 c¥3¨3£¢¡ 3 2 02 ©¥¤¨¢§¢¦ ¥¤£¢¡0 Y3 ¢1¢#3%¢#  1c%
—d—{qe‰’—m—x‰o—x ‰ˆ– m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e m  h g‰–t

          n‘ˆ–‰˜ ¡ –“m“ ‰ˆ– e‘• k‘‘
        // Above init()

        GameDesign mazeDesign;    // lab03

pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp rr
        // Inside init()
        mazeDesign = new GameDesign(); // lab03
        jamesSprite = mazeDesign.getJamesS(); // lab03
        dukeSprite = mazeDesign.getDukeS(); // lab03
        dukeSprite.defineReferencePixel(dukeSprite.getWidth() / 2, 0); // lab03
        dukeSpriteAnimator = new SpriteAnimationTask(dukeSprite, false); // lab03
        myWalls = mazeDesign.getMaze1(); // lab03
        mazeDesign.updateLayerManagerForLevel1(this); // lab03

        timer = new Timer(); // lab03
        timer.scheduleAtFixedRate(dukeSpriteAnimator, 0, mazeDesign.dukeSseq001Delay); // lab03




          h’m“l‘‘• ‰ˆ– –‰’ “l j‘g




          he‘ee‰ ‰ˆ– n‰D“

          vjvp–ˆ’“ ‰ˆ– m‘ k”“¤

          wm’“™‰i‰˜—yq‰˜—’ e‘• –e‘g˜“ nn|w –”‰‰t




  ¨  ! z                        %¤('#¤¥¨¤£'¨¨¥%%$¥##
%¤('#¤¥¨¤£'¨¨¥%%$¥##                              ¨  ! 
                         ¨§¦ ¤8 # G               §  ( ££Q #¤§
                       #¤§  ¤( ¨¦T                §  (V #¦U
                                                                                  £¦¦¢ #¤§
                                                                                 ## #  #¦U
¨§¤£ ¤¤# ## #                                     q–”‰{‘eg ‰ˆ– mje nm— n“j¡ hz g‰–t
                               §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                     ¨  ! Q
                                                     ‰e‘”tl‰ue‰–™“’‰e h‰˜—u l‰u
                                     w‰˜—m‰}w –”‰‰™ nm— wn‘ˆ–‰˜w m‘ k”“” –ˆ’“}
–‰i x —j™“F ‘– –m‰m‘g˜‘” w•  ~ l‘w ‰ˆ– g‘en nm— ’—en sl‘nm“l ‰––‰— ‰ˆ– ˜‘e
                                                  l‰“d ¡l‘T —d—{q–‰i x—j™“F m 
                         —d—{q–‰i x—j™“F m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e ‰ˆ– m  h g‰–t
                                                         3Y0b¥  c  0  1c2¢`a ``
                                    §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                     ¨!    R   
           ‰v—‡™‰e‘”t’d™                                       ¡‰™—•T ‰e‘”tl‰ue‰–™“’‰e
m‰‰e”t–“—X™‰e‘”t‰˜—y’d™                                   ¡‰je‡T ‰e‘”tl‰ue‰–™“’‰e
         ‰e‘”tl‰ue‰–™“’‰e               ¡iu|xxr¤)tt7¤¤)tT m‰‰e”t–“—X‰e‘”tl‰u’d™
         ‘‡                                        ˜‘e
     h™l‘‘• ™— ¡˜‰–“ w‘‡w ‰ˆ– ‘– ’—en m‰ˆ– s˜‰–“ w˜‘ew ‰ˆ– m‘ k”“¤  ™˜‰–“ ‰ˆ– –”‰mm‘¤
                                                                ‰v—‡™‰e‘”t’d™
         ‘– ¡iu|xxr¤)tt7¤¤)tT m‰‰e”t–“—X‰e‘”tl‰u’d™ ˜‘e• m‘“–”‰mm‘” ‰ˆ– ‰–‰‰i
                                                       l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hQ g‰–t
                                          §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                             ¨!   d
           w‰”ej‘t ‘‡ ‘y ~ ‰–—’“d—uw –”‰‰™ nm— k”“” –ˆ’“}
                                           ¡ k™—‡–‰’   –”‰‰t
                                     w‰”ej‘t ‘‡ ‘yw –”‰‰t
                    m‰‰e”t–“—X‰e‘”tl‰u’d™ m‘ k”“” –ˆ’“}
                         l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hR g‰–t
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                 ¨  ! f
    h‰v—– ‰e‘”™ ‘– ‰e‘”™ˆ’“ˆ ‰ˆ– nn— ‘– ™‰n‘” ’m“l‘‘• ‰ˆ– nn|
                 §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                              ¨  ! h
                                                w‰™‘¤w k”“¤
           w¡ ˆ’j‘m7ˆ’“‰e‘”t–™—™“uw ˆ–“l w‰je–w ‰”—g‰}
                          h      m‘ k”“” s‰n‘” m‘“–“nm‘¤ e‘
                                          w™‰“–e‰g‘ew –”‰‰t
                              ‰e‘”tl‰ue‰–™“’‰e m‘ k”“” –ˆ’“}
                         l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hd g‰–t
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                           ¨  ! i
           h‰e‘”™ˆ’“ˆ ‰ˆ– ‰–—ngj ‘– ‰n‘” ’m“l‘‘• ‰ˆ– nn|
                                    w‰”ej‘t ‘‡ ‘yw –”‰‰t
                           ‰e‘”tl‰ue‰–™“’‰e m‘ k”“” –ˆ’“}
                         l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hf g‰–t
             §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
%¤('#¤¥¨¤£'¨¨¥%%$¥##                                       ¨  ! ¡z
                                                              q–”‰{‘eg ‰ˆ– mje nm— n“j¡ hh g‰–t
qj‘f e‘• ‰™“”e‰D‰ m— ™— x m‘ ‰d‘eg˜“ ‘– ™—‰e— e‰ˆ–‘ l‰• — n‰“•“–m‰n“ ‘™— ‰d—ˆ ‰l sz g‰–™ m  www
                                         §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡

Mgd10 lab03

  • 1.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! ”“’‘ h‰˜—u ‰’—k”— €‰’—k”— —d—p ~ l‰u hw‰˜—’w m‘ k”“” –ˆ’“} q‰’—k”—g l‰m nn| hz g‰–t q–”‰{‘eg wz‰˜—y‰“v‘xw ‰ˆ– m‰g‘ nm— ™m—‰v–‰u –e—–t h g‰–t q™nm‰ ‰˜—’ ‰ˆ– s™‰˜—p ™nm“• ‰ˆ ‰”mr q™‰˜—p e‘• ’m“k‘‘ ‰o—˜ ‰ˆ– nmj‘e— ’m“k—l ‰kji h‰g˜“™ fe‰d ™“ ‰˜—’ ‰ˆ– •‘ ”“’‘ ‰ˆ‡ vuqe v†v…„uwƒ ‚q €yxwp vuqe tsh rqpihgfed assistance of game builder and visual mobile designer. This 2nd lab series will take you through the process of developing a mobile game with the 10c2ba`0Y21X ¢W §V  £(U ¤Q £ §¤T§ BBSR D $ (§  Q P  ¨  £¦#  #  # £¥¤( § (¦¨¤£  ¨  # I $HBDCBA¡© o  § (  ¨ §  G£  £¦# F #¦¥  #  # ( ¤#  £¦  ¨ ¨§¦E $5BDCBA¡© o §  §¦ § §  ( £¥  #  # ( ¤#  §¨¦ ¡  £¦¤© £¦ ¨§¦E $AB DCBA¡© o $ £¦  ¨ § @¡©9  §¨¦   £¦¤ £¦¢ ¨§¦  ¨  £¦¤ ¥¤£ ¢  ¤# 8¤ §¤  ¦  765 • 4213210)  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 2.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! z '¨§¦   ¦# ¤Q ¤   #  ¤§¨ ‰’—k”—g ‰˜—’ ‘–m“ ‰“• m‰d“’ ‰ˆ– nn| hQ g‰–t '¨§¦   ¦# ¤Q ¤   #  ¤§¨ ‰’—k”—g ”“’‘ ‘–m“ ™‰“• z m‰d“’ ‰ˆ– nn| h g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 3.
     §¨¦ ¡  £¦¤© £¦¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡ –‰i x—j™“F ‘– ™‰n‘” —m‘“–“nn— nn| hR g‰–t ql‰“d ¡‰”ej‘tT ‘– ˆ”–“l™ nm— —d—{q–‰i x—j™“F m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e m  –™— ‰ˆ– ‰e‘•‰v ™‰n‘” ’m“l‘‘• ‰ˆ– nn| W q‰”ej‘™ ‰ˆ– •‘ nm‰ ‰ˆ– –— // Additional codes for game over and error mesage /** * Converts an exception to a message and displays * the message.. */ public void errorMsg(Exception e) { e.printStackTrace(); if (e.getMessage() == null) { getAlert().setString(e.getClass().getName()); switchDisplayable(getAlert(), getSvgMainMenu().getSvgCanvas()); alert = null; } else { getAlert().setString(e.getClass().getName() + : + e.getMessage()); switchDisplayable(getAlert(), getSvgMainMenu().getSvgCanvas()); alert = null; } } /** * set all the things up when the game is over * @param score */ private GameThread myGameThread; public void gameOver(int score) { lastHighScore = score; getScoreTextField().setString(Integer.toString(score)); if (myGameThread != null) { myGameThread.requestStop();//pause(); } } /** * updates the svg score table image with the high scores */ protected void updateSvgWithHighScores() { for (int i = 0; i highScoreNames.length; i++) { getSvgScoresTable().setTraitSafely(Name + (i + 1), #text, highScoreNames[i]); getSvgScoresTable().setTraitSafely(Score + (i + 1), #text, Integer.toString(highScoreValues[i])); } } private final int HIGH_SCORES = 9; private String[] highScoreNames = {Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty}; private int[] highScoreValues = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0}; private int lastHighScore = 0; /** * can the high score be add to the high score table? * @return */ protected boolean isLastScoreHighEnough() { if (lastHighScore highScoreValues[highScoreValues.length - 1]) { return true; } return false; } /** * this method is used only when the game is in OFFLINE mode (ONLINE == false) * adds the high score to high score table * @param newScore value * @param playerName */ public void addScoreToScoreTable(int newScore, String playerName) { int buble = newScore; String bubleName = playerName; //this is simple buble sort for (int i = 0; i highScoreValues.length; i++) { if (highScoreValues[i] == 0) { highScoreNames[i] = bubleName; highScoreValues[i] = buble; break; //we expect that the rest are nulls } if (buble highScoreValues[i]) {  ¨! %¤('#¤¥¨¤£'¨¨¥%%$¥##
  • 4.
     §¨¦ ¡  £¦¤© £¦¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡ int temp = highScoreValues[i]; String tempName = highScoreNames[i]; highScoreValues[i] = buble; highScoreNames[i] = bubleName; buble = temp; bubleName = tempName; } } } /** * this method is used only when the game is in ONLINE mode (ONLINE == true) * updates the high score table with data from the web service * @param scores */ void updateHighScoresTable(String [] scores) { for (int i = 0; i scores.length; i++) { int split = scores[i].indexOf(':'); highScoreNames[i] = scores[i].substring(0, split); highScoreValues[i] = Integer.parseInt(scores[i].substring(split + 1, scores[i].length())); } } he‘ee‰ ‰m‘ ˆ–“l –•‰ ‰v nj‘ˆ™ j‘f nm— — ‰d—t ¡ # '(¦¨¤£' ¨ ¤Q #¤¥¦ I¡ #( £  § £#¨¦£  # §¤  (¦£P '¤   ¤ ¤§   ££¦8   # § ££  ¢V  ¨! Q %¤('#¤¥¨¤£'¨¨¥%%$¥##
  • 5.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! R q™n‘ˆ–‰˜ ¡ ‰˜j™‰e nm— ¡ ‰™j—g s¡ mje ‰ˆ– —“d ¡™—dm—¤‰o—x m“  ‰˜—’ ‰ˆ– •‘ m‘“–j”‰D‰ ‰ˆ– ™‘e–m‘” n—‰eˆ‡‰˜—y qz qm‘“–—˜“m— ‰–“eg™ ‰kjn ‰ˆ– ™‘e–m‘” ¡ ‰–“egt‰–—ngj T q‰m‰”™ ‰ˆ– m“ ‰–“eg™ ™‰kjn ‰ˆ– •‘ –m‰˜‰d‘˜ ‰ˆ– ™‘e–m‘” ¡ ‰d‘x–™‰j1‰e T he‰’—m—˜ e‰f— ‰ˆ– ™“ e‰’—m—x‰o—x q q™—dm—¤‰o—x ‰ˆ– nm— n—‰eˆ‡‰˜—y ‰ˆ– se‰’—m—x‰o—x ‰ˆ– •‘ ™”“’‘ ‰ˆ– nm—–™e‰nmj ‘– –‰’ ‘– ™‰“• n‰nn— ‰‰eˆ– ‰ˆ– ˆ’j‘eˆ– k‘‘ ‘– ‰˜“– ‰˜‘™ nm‰gt (’m“‘n ™‰“• ‰™‰ˆ– ‰e— –—ˆX  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 6.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! d € ‰––‰— ‘– nn| m‘ k”“¤ w€ e‰’—m—x ‰––‰—w –”‰‰™ nm— k”“” –ˆ’“e sl‘nm“l ‰––‰— ‰ˆ– m  ql‰“d ¡l‘T ‘– ˆ”–“l™ nm— —d—{q–‰i x—j™“F m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e m  –m‰m‘g˜‘” ˜‘–™j” — ™— ‰––‰—g ‰ˆ– ‘– ™—dm—¤‰o—x nn| hd g‰–t 23§¨X# §¢a¥c¦ 3 2 02 ¥¢¤1¢)3£¢¡ 3 2 `` 'G£¨§¦¤(( #§  ¢¤ ¤Q  £¦¢  #¥ § G    ( ( G ( ( ( T ' # ¥  ¤(  # #¦8 @§   ¨9 # £¡©£¦ ¤# §#  @9 ¢U #  T h ™—dm—” ‰˜—’ ‰ˆ– ™“ ™—dm—¤‰o—x q  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 7.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! f h–‰’ “l j‘g nm— e‰’—m—x ‰––‰— ‰ˆ– ‰™‘¤ ™—dm—¤‰o—xq‰˜—’ h™‰™™—¤ –”‰‰t z‰˜—y‰“v‘x h–”‰{‘e –”‰‰t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 8.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! h l‰“d ¡l‘T —d—{q–‰i x—j™“F ‰ˆ– ‘–m“ ™—dm—¤‰o—x g‘en nm— ’—ei sl‘nm“l ‰––‰— ‰ˆ– ˜‘e hf g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 9.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! i ™“ˆ– hm‘“™™‰egD7 —d—p m‘ k”“¤ h ¡ e‘–”je–™m‘” q  –‰n“˜ ™‰“–e‰g‘e –”‰‰™ nm— k”“”p–ˆ’“} ™—dm—¤‰o—˜ –”‰‰t l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hh g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 10.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! ¡ h™—dm—¤‰o—˜ ‘– ’—en nm— k”“¤ ¡)˜‰– jm‰˜ ~ jm‰xm“—x’d™ –”‰‰t hi g‰–t ‰™‘¤ k”“¤  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 11.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! hn—‰eˆ– — ™— ‰˜—’ ™—dm—¤‰o—˜ ‰ˆ– –e—–™ ‘– n—‰eˆ‡‰˜—y ‰™j ‘– ™‰n‘” ’m“l‘‘• ‰ˆ– nn| w‰”ej‘t ‘– ‘yw –”‰‰™ nm— k”“”p–ˆ’“} ¡)˜‰– jm‰˜ ~ jm‰xm“—x’d™ –”‰‰t l‰“d ¡l‘T —d—{q–‰i x—j™“F m  h¡ g‰–t `¢3Y ¡3£¢¡ 02 23§¨X# §¢a¥c¦  1c%  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 12.
     §¨¦ ¡  £¦¤© £¦¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡ ¥32cY §3¤3§ ¥2c `1¢ 1 c¥3¨3£¢¡ 3 2 02 ©¥¤¨¢§¢¦ ¥¤£¢¡0 Y3 ¢1¢#3%¢#  1c% —d—{qe‰’—m—x‰o—x ‰ˆ– m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e m  h g‰–t n‘ˆ–‰˜ ¡ –“m“ ‰ˆ– e‘• k‘‘ // Above init() GameDesign mazeDesign; // lab03 pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp rr // Inside init() mazeDesign = new GameDesign(); // lab03 jamesSprite = mazeDesign.getJamesS(); // lab03 dukeSprite = mazeDesign.getDukeS(); // lab03 dukeSprite.defineReferencePixel(dukeSprite.getWidth() / 2, 0); // lab03 dukeSpriteAnimator = new SpriteAnimationTask(dukeSprite, false); // lab03 myWalls = mazeDesign.getMaze1(); // lab03 mazeDesign.updateLayerManagerForLevel1(this); // lab03 timer = new Timer(); // lab03 timer.scheduleAtFixedRate(dukeSpriteAnimator, 0, mazeDesign.dukeSseq001Delay); // lab03 h’m“l‘‘• ‰ˆ– –‰’ “l j‘g he‘ee‰ ‰ˆ– n‰D“ vjvp–ˆ’“ ‰ˆ– m‘ k”“¤ wm’“™‰i‰˜—yq‰˜—’ e‘• –e‘g˜“ nn|w –”‰‰t   ¨ ! z %¤('#¤¥¨¤£'¨¨¥%%$¥##
  • 13.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! ¨§¦ ¤8 # G §  ( ££Q #¤§ #¤§  ¤( ¨¦T §  (V #¦U  £¦¦¢ #¤§ ## #  #¦U ¨§¤£ ¤¤# ## # q–”‰{‘eg ‰ˆ– mje nm— n“j¡ hz g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 14.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! Q ‰e‘”tl‰ue‰–™“’‰e h‰˜—u l‰u w‰˜—m‰}w –”‰‰™ nm— wn‘ˆ–‰˜w m‘ k”“” –ˆ’“} –‰i x —j™“F ‘– –m‰m‘g˜‘” w•  ~ l‘w ‰ˆ– g‘en nm— ’—en sl‘nm“l ‰––‰— ‰ˆ– ˜‘e l‰“d ¡l‘T —d—{q–‰i x—j™“F m  —d—{q–‰i x—j™“F m‘ k”“” ‰vj‘n sl‘nm“l ™–”‰{‘e ‰ˆ– m  h g‰–t 3Y0b¥  c  0  1c2¢`a ``  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 15.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! R ‰v—‡™‰e‘”t’d™ ¡‰™—•T ‰e‘”tl‰ue‰–™“’‰e m‰‰e”t–“—X™‰e‘”t‰˜—y’d™ ¡‰je‡T ‰e‘”tl‰ue‰–™“’‰e ‰e‘”tl‰ue‰–™“’‰e ¡iu|xxr¤)tt7¤¤)tT m‰‰e”t–“—X‰e‘”tl‰u’d™ ‘‡ ˜‘e h™l‘‘• ™— ¡˜‰–“ w‘‡w ‰ˆ– ‘– ’—en m‰ˆ– s˜‰–“ w˜‘ew ‰ˆ– m‘ k”“¤  ™˜‰–“ ‰ˆ– –”‰mm‘¤ ‰v—‡™‰e‘”t’d™ ‘– ¡iu|xxr¤)tt7¤¤)tT m‰‰e”t–“—X‰e‘”tl‰u’d™ ˜‘e• m‘“–”‰mm‘” ‰ˆ– ‰–‰‰i l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hQ g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 16.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##  ¨! d w‰”ej‘t ‘‡ ‘y ~ ‰–—’“d—uw –”‰‰™ nm— k”“” –ˆ’“} ¡ k™—‡–‰’ –”‰‰t w‰”ej‘t ‘‡ ‘yw –”‰‰t m‰‰e”t–“—X‰e‘”tl‰u’d™ m‘ k”“” –ˆ’“} l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hR g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 17.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! f h‰v—– ‰e‘”™ ‘– ‰e‘”™ˆ’“ˆ ‰ˆ– nn— ‘– ™‰n‘” ’m“l‘‘• ‰ˆ– nn|  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 18.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! h w‰™‘¤w k”“¤ w¡ ˆ’j‘m7ˆ’“‰e‘”t–™—™“uw ˆ–“l w‰je–w ‰”—g‰} h m‘ k”“” s‰n‘” m‘“–“nm‘¤ e‘ w™‰“–e‰g‘ew –”‰‰t ‰e‘”tl‰ue‰–™“’‰e m‘ k”“” –ˆ’“} l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hd g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 19.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! i h‰e‘”™ˆ’“ˆ ‰ˆ– ‰–—ngj ‘– ‰n‘” ’m“l‘‘• ‰ˆ– nn| w‰”ej‘t ‘‡ ‘yw –”‰‰t ‰e‘”tl‰ue‰–™“’‰e m‘ k”“” –ˆ’“} l‰“d ¡l‘T —d—{q–‰i x—j™“F m  hf g‰–t  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡
  • 20.
    %¤('#¤¥¨¤£'¨¨¥%%$¥##   ¨ ! ¡z q–”‰{‘eg ‰ˆ– mje nm— n“j¡ hh g‰–t qj‘f e‘• ‰™“”e‰D‰ m— ™— x m‘ ‰d‘eg˜“ ‘– ™—‰e— e‰ˆ–‘ l‰• — n‰“•“–m‰n“ ‘™— ‰d—ˆ ‰l sz g‰–™ m  www  §¨¦ ¡  £¦¤© £¦ ¨§¦    £¦¤© ¨§¦¥¤£ ¢ ¡