- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.
*;class T extends JFrame implements Runnable{int C=10,R=20,S=R,i,j,r,l,b;int[][]
M=new int[C][R];T(){setBounds(100,100,C*S,R*S);setDefaultCloseOperation(3);t();
new Thread(this).start();}protected void processKeyEvent(KeyEvent e) {int v=e.
getKeyCode();if(v==37)l=1;if(v==39)r=1;repaint();}void n(){b=0;l=0;for(i=0;i<C;i
++)for(j=0;j<R;j++){if (b>0)break;if(M[i][j]==9){if(i>1){M[i][j]=0;M[i-1][j]=9;}
else b=1;}}}void o(){b=0;r=0;for(i=C-1;i>=0;i--)for(j=0;j<R;j++){if(b>0)break;if
(M[i][j]==9){if(i<C-1){M[i][j]=0;M[i+1][j]=9;}else b=1;}}}public void paint
(Graphics g){super.paint(g);for(i=0;i<C;i++)for(j=0;j<R;j++){int m=M[i][j];if(m
!=0)g.drawRect(i*S,j*S,S,S);}}public static void main(String[]a){new T().
setVisible(true);}public void run(){for(;;){try{Thread.sleep(200);}catch(
Exception e){}if(r>0)o();if(l>0)n();b=0;for(i=C-1;i>=0;i--)for(j=R-1;j>=0;j--){
if (b>0)break;if(M[i][j]==9)if(j<R-1){if(M[i][j+1]==0){if(!isCan()){t();b=1;
break;}M[i][j]=0;M[i][j+1]=9;}else{t();b=1;break;}}else{t();b=1;break;}}repaint(
);}}boolean isCan(){int j,i;for(i=0;i<C;i++)for(j=0;j<R;j++){if(j<R-1&&M[i][j]>8
&&M[i][j+1]==1)return false;}return true;}void t(){int i,j;for(i=C-1;i>=0;i--)
for (j=R-1;j>=0;j--)M[i][j] = M[i][j]!=0?1:0;for(j=0;j<R;j++)for(i=0;i<C;i++){}
Random r=new Random();int s=r.nextInt(3);M[4][0]=9;switch(s){case 0:M[5][0]=9;M[
5][1]=9;break;case 1:M[4][1]=9;M[5][0]=9;M[5][1]=9;break;case 2:M[4][1]=9;M[4][2
]=9;M[4][3]=9;break;}}}
TarasB 09.03.2011 22:08 # 0
В нормальном виде выложи.
absolut 09.03.2011 22:14 # 0
danilissimus 09.03.2011 22:23 # 0
я пусть и адепт явы, но нахуя такая хуета нужна? оно без двойного буффера еще и дергается. и фигурки не вертятся. нахуй такой тетрис.
mindfreakthemon 09.03.2011 23:23 # 0
byss 09.03.2011 23:56 # 0
emfs 25.08.2021 21:00 # 0