//Jonathan Hoag //Hour 4 //http://stein.cshl.org/jade/distrib/docs/java.awt.event.KeyListener.html#keyPressed(java.awt.event.KeyEvent) //http://stein.cshl.org/jade/distrib/docs/java.awt.event.KeyEvent.html#_top_ //http://java.sun.com/docs/books/tutorial/applet/appletsonly/index.html //http://java.sun.com/docs/books/tutorial/index.html //show life //stary background //*reset baddy spots //life=life-1!!!! //36 is max number of bullets on screen //shield import java.awt.*; import java.awt.event.*; import java.applet.*; import java.awt.image.*; public class Orangey extends Applet implements ActionListener, MouseMotionListener, MouseListener, Runnable, KeyListener{ Color color = Color.orange; private int showlife; private int charged=1; private int recharge; private int keepgoin; private int lasertakedown; private int currentbullet=1; private int rangeallowance=4; private int laserallowance=5; private int life=3; private int gameStart=0; private int rand; private int ob; private int tob=1000; private int oxc; private int obx; private int oby; private int obm; private int ox=300; private int oy=530; private int od; private int odc; private Color background; private int timer; private int btimer; private int direction=10; private int nbob=29; private int mp=0; private int firstclick=0; private int bdeadall; private int leftoff=1; private int yell; private int key; private int enter; private int keyt; private int starmove; BufferedImage bi; Graphics2D big; private orangeClass o2[] = new orangeClass[nbob+1]; private bullet o[] = new bullet[tob]; public void reSetBackground (Graphics g){ g.setColor(Color.black); g.fillRect(0,0,780,600); g.setColor(Color.white); starmove=starmove-2; if(starmove<=0)starmove=200; for(int s=1;s<=10;s++){ for(int t=1;t<=8;t++){ g.fillOval((s*150)-25,(t*200)-75-starmove,3,3); g.fillOval((s*150)-100-2,(t*200)+25-starmove+2,8,4); g.fillOval((s*150)-100,(t*200)+25-starmove,4,8); } } } public void Exit(Graphics g){ g.setColor(Color.orange); g.drawLine(400,200,450,200); g.drawLine(400,175,450,175); g.drawLine(450,175,450,200); g.drawLine(400,175,400,200); g.setColor(Color.green); g.drawString("PLAY ",410,195); yell=o2[1].tough; g.drawString(""+yell,240,195); //g.drawString(""+key,280,195); } //orangey stuff.... public void DrawOrangey (Graphics g){ g.setColor(Color.blue); if(charged==1)g.fillOval(ox-7,oy-20,15,4); g.setColor(Color.orange); g.drawLine(ox+16,oy,ox-16,oy); g.drawLine(ox,oy-16,ox+20,oy+4); g.drawLine(ox,oy-16,ox-20,oy+4); g.drawLine(ox-8,oy-8,ox+20,oy+4); g.drawLine(ox+8,oy-8,ox-20,oy+4); g.drawLine(ox+8,oy-8,ox-8,oy-8); if (ox<20){ g.drawLine(780+ox+16,oy,780+ox-16,oy); g.drawLine(780+ox,oy-16,780+ox+20,oy+4); g.drawLine(780+ox,oy-16,780+ox-20,oy+4); g.drawLine(780+ox-8,oy-8,780+ox+20,oy+4); g.drawLine(780+ox+8,oy-8,780+ox-20,oy+4); g.drawLine(780+ox+8,oy-8,780+ox-8,oy-8); } if (ox>760){ g.drawLine(ox+16-780,oy,ox-16-780,oy); g.drawLine(ox-780,oy-16,ox+20-780,oy+4); g.drawLine(ox-780,oy-16,ox-20-780,oy+4); g.drawLine(ox-8-780,oy-8,ox+20-780,oy+4); g.drawLine(ox+8-780,oy-8,ox-20-780,oy+4); g.drawLine(ox+8-780,oy-8,ox-8-780,oy-8); } } public void init(){ Thread thread = new Thread(this); for(int i=0;i19){ o2[i].baddyx=o2[i].baddyx-950; o2[i].baddyy=120; } if (o2[i].pbn>10&&o2[i].pbn<=19){ o2[i].baddyx=o2[i].baddyx-475; o2[i].baddyy=80; } if (o2[i].pbn<=10){ o2[i].baddyy=40; } } timer=3; thread.start(); addMouseListener(this); addMouseMotionListener(this); addKeyListener(this); } public void actionPerformed(ActionEvent ae){ } //space=32 //ctrl=17 //left=37 //right=39 //shift=16 //enter=10 //esc=27 public void keyPressed(KeyEvent ke){ key=ke.getKeyCode(); if(key==37)ox=ox-15; if(ox<0)ox=780; if(key==39)ox=ox+15; if(ox>780)ox=0; if(key==10)enter=1; if(key==32){ if(charged==1)mp=1; if(charged==1&&keepgoin==0)firstclick=1; } } public void keyReleased(KeyEvent ke){ } public void keyTyped(KeyEvent ke){ keyt=ke.getKeyCode(); } public void mouseClicked(MouseEvent me){ } public void mousePressed(MouseEvent me){ if(charged==1)mp=1; if(charged==1&&keepgoin==0)firstclick=1; } public void mouseReleased(MouseEvent me){ } public void mouseEntered(MouseEvent me){ } public void mouseExited(MouseEvent me){ } public void mouseDragged(MouseEvent me){ //oxc=me.getX(); //if (oxc+20>800)oxc=780; //if (oxc-40<0)oxc=40; } public void mouseMoved(MouseEvent me){ //oxc=me.getX(); //if (oxc+20>800)oxc=780; //if (oxc-40<0)oxc=40; } public void paint(Graphics g){ if(gameStart==1){ keepgoin=keepgoin-lasertakedown; if(keepgoin<0)keepgoin=0; if(keepgoin>0)mp=1; if(keepgoin==0)recharge--; if(recharge==0){ charged=1; recharge=1; } reSetBackground(g); bdeadall=1; g.setColor(Color.yellow); showlife=life-od+1; if(showlife==-1)showlife=0; g.drawString(""+showlife,50,500); for(int i=0;ilife||bdeadall==1){ if(od>life){ g.setColor(Color.red); g.drawString("The End",375,300); g.drawString("Enter to Restart",360,320); } else{ g.setColor(Color.green); g.drawString("You WIN!!!",375,300); g.drawString("Enter to Restart",360,320); } if (enter==1){ od=0; gameStart=0; for (int j=0;j19){ o2[r].baddyx=o2[r].baddyx-950; o2[r].baddyy=120; } if (o2[r].pbn>10&&o2[r].pbn<=19){ o2[r].baddyx=o2[r].baddyx-475; o2[r].baddyy=80; } if (o2[r].pbn<=10){ o2[r].baddyy=40; } } } enter=0; } } for(int i=0;irangeallowance){ if(laserallowance<9&¤tbullet==5)currentbullet=8; else{ currentbullet--; currentbullet--; if (currentbullet==5)currentbullet=1; } } //} enter=0; } if(mp==1){ if(currentbullet>0&¤tbullet<5&&leftoff==1){ for(int i=0;i1) leftoff=2; else leftoff=1; break; } } } if(currentbullet>1&&leftoff>1&&leftoff<4){ if(leftoff==2){ for(int i=0;i2) leftoff=4; else leftoff=1; break; } } } } if(currentbullet>2&&leftoff>3&&leftoff<6){ if(leftoff==4){ for(int i=0;i3) leftoff=6; else leftoff=1; break; } } } } if(currentbullet>3&&leftoff>5&&leftoff<8){ if(leftoff==6){ for(int i=0;i4){ for(int i=0;i4){ for(int i=0;i4){ for(int i=0;ilife){ repaint(); } else{ for (int i=0;io2[i].baddyy){ if(o[e].obx-20+o[e].obho2[i].baddyx){ if(o2[i].baddydead<1+o2[i].tough){ if(o[e].kind<9)o[e].reSetBullet(); } if(o[e].kind<9){ o2[i].baddydead=1+o2[i].baddydead; } else{ o2[i].baddydead=2+o2[i].baddydead; } } } } } if(timer==0){ for (int i=0;i=750)direction=-10; if(o2[i].baddyx<=25)direction=10; } } for (int i=0;i15)ox=ox+10; //if (oxc-ox<15)ox=ox-10; if (timer>0)timer--; repaint(); } } else{ Thread.sleep(20); //if (oxc-ox>15)ox=ox+10; //if (oxc-ox<15)ox=ox-10; repaint(); for (int i=0;io2[i].dyy){ if(o[e].obx-20o2[i].dyx){ if(o2[i].baddydead==0){ o[e].reSetBullet(); } if (o2[i].baddydead==0){ for (int h=0;h400){ if(o[e].oby-20+o[e].ob<200&&o[e].oby-20+o[e].ob>175){ gameStart=1; od=0; } } } } } } catch(Exception e){ } } }