Wilson/MontyHall

From ggc

Jump to: navigation, search

001 package Wilson;
002 
003 import fang.*;
004 import java.awt.*;
005 import java.awt.geom.*;
006 import java.lang.*;
007 
008 /**
009  * All about my game.
010  @author Wilson Green
011  */
012 public class MontyHall extends Game
013 {
014   ImageSprite door1=new ImageSprite("President_Security_Door.jpg");
015   ImageSprite door2=new ImageSprite("President_Security_Door.jpg");
016   ImageSprite door3=new ImageSprite("President_Security_Door.jpg");
017   ImageSprite money=new ImageSprite("Moneystackss.jpg");
018   ImageSprite fail=new ImageSprite("FAIL.jpg");
019   StringSprite welcome=new StringSprite("Click any Door.");
020   StringSprite again=new StringSprite("Click again please.");
021   StringSprite win=new StringSprite("You win!");
022   StringSprite lose=new StringSprite("You lose!");
023   boolean opened=false;
024   int doorNumber, doorOpened;
025   int random=((int)(Math.random()*3)+1);
026   /**sets up the game*/
027   public void setup()
028   {
029     if(random==1)
030     {
031       money.setLocation(.5,.5);
032       money.setSize(.5);
033       addSprite(money);
034       money.setVisible(true);
035       doorNumber=1;
036     }
037     else if(random==2)
038     {
039       money.setLocation(.15,.5);
040       money.setSize(.5);
041       addSprite(money);
042       money.setVisible(true);
043       doorNumber=2;
044     }
045 
046     else if(random==3)
047     {
048       money.setLocation(.85,.5);
049       money.setSize(.5);
050       addSprite(money);
051       money.setVisible(true);
052       doorNumber=3;
053     }
054 
055     //(for debugging) welcome=new StringSprite("Door: " + doorNumber);
056     welcome.setLocation(.5,.9);
057     welcome.setSize(.5);
058     addSprite(welcome);
059     welcome.setVisible(true);
060 
061     again.setLocation(.5,.9);
062     again.setSize(.9);
063     addSprite(again);
064     again.setVisible(false);
065 
066     win.setLocation(.5,.9);
067     win.setSize(.5);
068     addSprite(win);
069     win.setVisible(false);
070 
071     lose.setLocation(.5,.9);
072     lose.setSize(.5);
073     addSprite(lose);
074     lose.setVisible(false);
075 
076     door1.setLocation(.5,.5);
077     door1.setSize(.5);
078     addSprite(door1);
079     door1.setVisible(true);
080 
081     door2.setLocation(.15,.5);
082     door2.setSize(.5);
083     addSprite(door2);
084     door2.setVisible(true);
085 
086     door3.setLocation(.85,.5);
087     door3.setSize(.5);
088     addSprite(door3);
089     door3.setVisible(true);
090   }
091   public void montyHall(int doorMania)
092   {
093     if(doorMania==doorNumber)
094     {
095       int randomD=((int)Math.random()*1);
096       if(doorMania==1)
097       {
098         if(randomD==0)
099         {
100           door2.setVisible(false);
101           doorOpened=2;
102         }
103         else if(randomD==1)
104         {
105           door3.setVisible(false);
106           doorOpened=3;
107         }
108       }
109       else if(doorMania==2)
110       {
111         if(randomD==0)
112         {
113           door1.setVisible(false);
114           doorOpened=1;
115         }
116         else if(randomD==1)
117         {
118           door3.setVisible(false);
119           doorOpened=3;
120         }
121       }
122       else
123       {
124         if(randomD==0)
125         {
126           door1.setVisible(false);
127           doorOpened=1;
128         }
129         else if(randomD==1)
130         {
131           door2.setVisible(false);
132           doorOpened=2;
133         }
134       }
135     }
136     else if(doorMania==&& doorMania!=doorNumber)
137     {
138       if(doorNumber==2)
139       {
140         door3.setVisible(false);
141         doorOpened=3;
142       }
143       else
144       {
145         door2.setVisible(false);
146         doorOpened=2;
147       }
148     }
149     else if(doorMania==&& doorMania!=doorNumber)
150     {
151       if(doorNumber==3)
152       {
153         door1.setVisible(false);
154         doorOpened=1;
155       }
156       else
157       {
158         door3.setVisible(false);
159         doorOpened=3;
160       }
161     }
162     else if(doorMania==&& doorMania!=doorNumber)
163     {
164       if(doorNumber==2)
165       {
166         door1.setVisible(false);
167         doorOpened=1;
168       }
169       else
170       {
171         door2.setVisible(false);
172         doorOpened=2;
173       }
174     }
175     welcome.setVisible(false);
176     again.setVisible(true);
177   }
178 
179   /**handle input and game events*/
180   public void advance()
181   {
182     if(!opened)
183     {
184       if(getClick2D()!=null  && door1.intersects(getClick2D()))
185       {
186         montyHall(1);
187         opened=true;
188       }
189       else if(getClick2D()!=null  && door2.intersects(getClick2D()))
190       {
191         montyHall(2);
192         opened=true;
193       }
194       else if(getClick2D()!=null  && door3.intersects(getClick2D()))
195       {
196         montyHall(3);
197         opened=true;
198       }
199     }
200     else if(opened)
201     {
202       if(getClick2D()!=null  && door3.intersects(getClick2D()) && doorOpened!=3)
203       {
204         again.setVisible(false);
205         door3.setVisible(false);
206         if(doorNumber==3)
207         {
208           win.setVisible(true);
209           money.setVisible(true);
210         }
211         else
212         {
213           lose.setVisible(true);
214         }
215       }
216       if(getClick2D()!=null  && door2.intersects(getClick2D()) && doorOpened!=2)
217       {
218         again.setVisible(false);
219         door2.setVisible(false);
220         if(doorNumber==2)
221         {
222           win.setVisible(true);
223           money.setVisible(true);
224         }
225         else
226         {
227           lose.setVisible(true);
228         }
229       }
230       if(getClick2D()!=null  && door1.intersects(getClick2D()) && doorOpened!=1)
231       {
232         again.setVisible(false);
233         door1.setVisible(false);
234         if(doorNumber==1)
235         {
236           win.setVisible(true);
237           money.setVisible(true);
238         }
239         else
240         {
241           lose.setVisible(true);
242         }
243       }
244 
245 
246     }
247   }
248 }


Download/View Wilson/MontyHall.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