parameters/Twilight

From ggc

Jump to: navigation, search

001 package parameters;
002 
003 import wiki.Wiki;
004 import fang.*;
005 import java.awt.*;
006 import java.awt.geom.*;
007 import java.util.*;
008 
009 /**
010  * All about my game here.
011  @author Alyday
012  */
013 public class Twilight extends GameLoop
014 {
015   //sets the stage to 0
016   private int stage=0;
017   //sets up the Sprites
018   private StringSprite signature;
019 
020   private StringSprite title;
021 
022   private StringSprite title2;
023 
024   private StringSprite clickHere=new StringSprite("Click Here To Start!");
025   {
026     clickHere.setLineHeight(0.07);
027     clickHere.setFontFamilyName("Bauhaus 93");
028     clickHere.setColor(Color.BLUE);
029     clickHere.setLocation(0.50.5);
030   }
031   private ImageSprite dog1=new ImageSprite("Barking.jpg");
032   {
033     dog1.setScale(0.37);
034     dog1.setLocation(0.50.75);
035   }
036   private ImageSprite dog2=new ImageSprite("Chihuahua.jpg");
037   {
038     dog2.setScale(0.37);
039     dog2.setLocation(0.50.25);
040   }
041   private ImageSprite cat1=new ImageSprite("Cat.jpg");
042   {
043     cat1.setScale(0.37);
044     cat1.setLocation(0.20.5);
045   }
046   private ImageSprite cat2=new ImageSprite("Meow.jpg");
047   {
048     cat2.setScale(0.37);
049     cat2.setLocation(0.80.5);
050   }
051   private RectangleSprite button=new RectangleSprite(20.5);
052   {
053     button.setScale(0.68);
054     button.setColor(new Color(235,0,255));
055     button.setLocation(0.50.5);
056   }
057   //sets up the sounds
058   private Sound bark=new Sound ("Doggrowl.wav");
059   private Sound highBark=new Sound ("Dogbark.wav");
060   private Sound meow=new Sound ("Catmeow2.wav");
061   private Sound otherMeow=new Sound ("Catyell.wav");
062   //sets up the tracker
063   private ProjectileTracker tracker1;
064   private ProjectileTracker tracker2;
065   private ProjectileTracker tracker3;
066   private ProjectileTracker tracker4;
067 
068   /**sets up the game*/
069   public void startGame()
070   {
071     setHelpText("This is a fun game that creates animal melodies.  Press a,s,d, or f to play the animal sounds");
072     signature=new StringSprite("by Abbie Lyday");
073     setupSignature();
074     title=new StringSprite("Melodic Meows and");
075     setupTitle();
076     title2=new StringSprite("Beautiful Barks");
077     setupTitle2();
078     canvas.addSprite(signature);
079     canvas.addSprite(title);
080     canvas.addSprite(title2);
081     canvas.addSprite(button);
082     canvas.addSprite(clickHere);
083   }
084 
085   private void setupTitle2()
086   {
087     title2.setFontFamilyName("Curlz MT");
088     title2.setColor(new Color(0,255,200));
089     title2.topJustify();
090     title2.setLineHeight(1.0);
091     title2.setWidth(0.7);
092     title2.setLocation(0.50.15);
093   }
094 
095   private void setupTitle()
096   {
097     title.setFontFamilyName("Curlz MT");
098     title.setColor(new Color(0,255,200));
099     title.topJustify();
100     title.setLineHeight(1.0);
101     title.setWidth(1.0);
102     title.setLocation(0.50.01);
103   }
104 
105   private void setupSignature()
106   {
107     signature.setLineHeight(0.07);
108     signature.setFontFamilyName("Blackadder ITC");
109     signature.setColor(new Color(200,255,0));
110     signature.leftJustify();
111     signature.bottomJustify();
112     signature.setLocation(0.011);
113   }
114 
115   /**adds the sprites to the screen*/
116   private void addSprites()
117   {
118     canvas.addSprite (cat1);
119     canvas.addSprite (cat2);
120     canvas.addSprite (dog1);
121     canvas.addSprite (dog2);
122   }
123   class GoAway implements Alarm
124   {
125     int timesToExecute=50;
126 
127     public void alarm()
128     {
129       timesToExecute--;
130       fade();
131       if(timesToExecute>&& getPlayer().getKeyboard().getLastKey()!='q')
132         scheduleRelative(this0.01);
133       else
134       {
135         canvas.removeAllSprites();
136         doStage1();
137       }
138     }
139   }
140   private void doStage1()
141   {
142     addSprites();
143     stage=1;
144   }
145 
146   private void fade()
147   {
148     Sprite[] all=canvas.getAllSprites();
149     for(Sprite single: all)
150     {
151       Color color=single.getColor();
152       single.setColor(new Color(color.getRed(), color.getGreen(),
153                                 color.getBlue(),
154                                 Math.max(0, color.getAlpha()-4)));
155     }
156   }
157   private void beginStage0()
158   {
159     Point2D.Double click=getPlayer().getMouse().getClickLocation();
160     if(click!=null)
161     {
162       scheduleRelative(new GoAway()1);
163       stage=-1;
164     }
165   }
166 
167   private void handleCat(Sprite cat, int trackerNumber, Sound sound, char letter)
168   {
169     ProjectileTracker tracker;
170     if(trackerNumber==1tracker=tracker1;
171     else if(trackerNumber==2tracker=tracker2;
172     else if(trackerNumber==3tracker=tracker3;
173     else tracker=tracker4;
174     if(getPlayer().getKeyboard().getLastKey()==letter)
175     {
176       sound.play();
177       tracker=new ProjectileTracker(
178                   random.nextDouble()-0.5,
179                   random.nextDouble()-0.5);
180       if(trackerNumber==1tracker1=tracker;
181       else if(trackerNumber==2tracker2=tracker;
182       else if(trackerNumber==3tracker3=tracker;
183       else tracker4=tracker;
184       tracker.setAngularVelocity(1.0);
185       cat.setTracker(tracker);
186     }
187     if(cat.getLocation().y>|| cat.getLocation().y<0)
188     {
189       Point2D.Double direction=tracker.getVelocity();
190       direction.y*=-1;
191       tracker.setVelocity(direction);
192       tracker.setAngularVelocity(-tracker.getAngularVelocity()*0.95);
193     }
194     if(cat.getLocation().x>|| cat.getLocation().x<0)
195     {
196       Point2D.Double direction=tracker.getVelocity();
197       direction.x*=-1;
198       tracker.setVelocity(direction);
199       tracker.setAngularVelocity(-tracker.getAngularVelocity()*0.95);
200     }
201   }
202 
203   private void beginStage1()
204   {
205     handleCat(dog1, 1, bark, 'a');
206     handleCat(dog2, 2, highBark, 's');
207     handleCat(cat1, 3, meow, 'd');
208     handleCat(cat2, 4, otherMeow, 'f');
209   }
210   /**handle input and game events*/
211   public void advanceFrame(double timePassed)
212   {
213     if(stage==0)
214     {
215       beginStage0();
216     }
217     if(stage==1)
218     {
219       beginStage1();
220     }
221   }
222 }


Download/View parameters/Twilight.java





Views
Personal tools
Add to 
del.icio.usAdd to 
diggAdd to 
FacebookAdd to 
favoritesAdd to 
GoogleAdd to 
MySpaceAdd to 
PrintAdd to 
SlashdotAdd to 
StumbleUponAdd to 
Twitter