import java.applet.*; import java.awt.*; import java.awt.event.*; public class c_barrier extends Applet implements Runnable{ Thread th = null; Image os; Graphics og; int td[] = {0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0}; int sw1=1,sw2=1,co=3; int px,py,cs; public void init(){ os = createImage(680,120); og = os.getGraphics(); addMouseListener( new MouseAdapter(){ public void mousePressed(MouseEvent e){ px = e.getX(); py = e.getY(); if((px > 275) && (px < 320)){ if((py > 85) && (td[0] == 0)){ for(int r1 = 0;r1 < 14;r1 ++){ td[r1] = td[r1+1]; } td[14] = 0; }else if((py < 35) && (td[14] == 0) && (sw2 == 1)){ for(int r1 = 0;r1 < 14;r1 ++){ td[14-r1] = td[13-r1]; } td[0] = 0; }else if((py > 35) && (py < 85) && (sw1 == 1)){ td[6] = td[6] * -1; } if(td[7] == 0){ sw1 = 1 ; sw2 = 1; }else if(td[7] == 1){ sw1 = -1 ; sw2 = 1; }else if(td[7] == -1){ sw1 = 1 ; sw2 = -1; } }else if((px > 395) && (px < 440)){ if(py < 35){ co ++; if(co > 7)co = 7; }else if(py > 85){ co --; if(co < 3)co = 3; } for(int d1= 0;d1 < 15;d1 ++)td[d1] = 0; for(int d2= 0;d2 < co;d2 ++)td[6-d2] = -1; sw1 = 1;sw2 = 1; } repaint(); } } ); } public void paint(Graphics g){ og.setColor(Color.white); og.fillRect(0,0,680,120); og.setColor(new Color(152,251,152)); og.fillRoundRect(20,20,630,80,40,40); og.setColor(Color.black); og.drawRoundRect(20,20,630,80,40,40); og.setColor(Color.white); og.fillRoundRect(35,35,603,50,20,20); og.setColor(Color.gray); og.drawRoundRect(35,35,603,50,20,20); og.setColor(Color.blue); og.setFont(new Font("",Font.BOLD,20)); og.drawString(">>>>>>>>>>>>>>>>>>>>>",380,68); og.setColor(Color.black); og.drawOval(328,53,15,15); og.setColor(Color.gray); og.fillOval(330,55,12,12); for(int c1 = 0;c1 < 15;c1 ++){ if(td[c1] != 0){ if(td[c1] == 1){ og.setColor(new Color(0,30,220)); }else if(td[c1] == -1){ og.setColor(new Color(220,0,30)); } og.fillRoundRect(c1*40+37,37,38,46,20,20); og.setColor(Color.gray); og.drawRoundRect(c1*40+37,37,38,46,20,20); og.drawRoundRect(c1*40+39,39,34,42,20,20); } } if(sw1 == 1){ og.setColor(Color.blue); }else if(sw1 == -1){ og.setColor(Color.red); } og.drawRect(275,34,41,52); og.drawRect(277,36,37,48); if(sw2 == 1){ og.setColor(Color.blue); }else if(sw2 == -1){ og.setColor(Color.red); } og.fillRoundRect(347,25,18,10,5,5); og.fillRoundRect(347,85,18,10,5,5); og.setColor(Color.black); og.drawRoundRect(347,25,18,10,5,5); og.drawRoundRect(347,85,18,10,5,5); if(sw2 == -1){ og.setColor(Color.red); og.fillRect(355,35,2,50); og.setColor(Color.black); og.drawRect(355,35,2,50); }else if(sw2 == 1){ og.setColor(Color.lightGray); og.fillRect(355,35,2,50); } og.setFont(new Font("",Font.BOLD,20)); og.setColor(Color.white); og.fillRoundRect(275,5,40,25,10,10); og.fillRoundRect(275,90,40,25,10,10); og.fillRoundRect(395,5,40,25,10,10); og.fillRoundRect(395,90,40,25,10,10); og.setColor(Color.black); og.drawRoundRect(275,5,40,25,10,10); og.drawRoundRect(275,90,40,25,10,10); og.drawRoundRect(395,5,40,25,10,10); og.drawRoundRect(395,90,40,25,10,10); og.drawString(">>>",280,25); og.drawString("<<<",280,110); og.drawLine(405,23,415,13); og.drawLine(425,23,415,13); og.drawLine(406,23,415,14); og.drawLine(424,23,415,14); og.drawLine(405,97,415,107); og.drawLine(425,97,415,107); og.drawLine(406,97,415,106); og.drawLine(424,97,415,106); og.setFont(new Font("",Font.BOLD,48)); cs = 0; for(int c1 = 0;c1 < 7;c1 ++){ cs = cs + td[c1+8]; } og.setColor(Color.black); if(cs >= co)og.drawString("clear!!",122,77); og.setColor(Color.red); if(cs >= co)og.drawString("clear!!",120,75); g.drawImage(os,0,0,this); } public void start(){ if(th == null){ th = new Thread(this); th.start(); } } public void stop(){ th = null; } public void run(){ while(th != null){ try{ Thread.sleep(100); } catch (InterruptedException e){ } } } public void update( Graphics g ){ paint( g ) ; } }