⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 game.java

📁 介绍有关java的资料 课件 相当一本书籍 里面都是很基础的知识
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*;import java.awt.event.*;import java.applet.*;import java.util.*;class Style{public int cusor_x,cusor_y;public int style;public Rectangle rect[];private int width= 15,height= 15;public int totle= 4;public int rect_turn=2;public Style(int style,int cusor_x){this.style= style;this.cusor_x= cusor_x;create(style);}void create(int st){switch(st){case 0:rect= new Rectangle[4];rect[0]= new Rectangle((cusor_x- width),0,width,height);rect[1]= new Rectangle((cusor_x- width),height,width,height);rect[2]= new Rectangle(cusor_x,0,width,height);rect[3]= new Rectangle(cusor_x,height,width,height);break;case 1:rect= new Rectangle[4];rect[0]= new Rectangle(cusor_x,0,width,height);rect[1]= new Rectangle((cusor_x- width),height,width,height);rect[2]= new Rectangle(cusor_x,height,width,height);rect[3]= new Rectangle((cusor_x+width),height,width,height);rect_turn= 4;        break;case 2:rect= new Rectangle[4];rect[0]= new Rectangle(cusor_x,0,width,height);rect[1]= new Rectangle(cusor_x,height,width,height);rect[2]= new Rectangle(cusor_x,2*height,width,height);rect[3]= new Rectangle(cusor_x,3*height,width,height);        break;case 3:rect= new Rectangle[4];rect[0]= new Rectangle(cusor_x-width,0,width,height);rect[1]= new Rectangle(cusor_x,0,width,height);rect[2]= new Rectangle(cusor_x,height,width,height);rect[3]= new Rectangle(cusor_x+width,height,width,height);break;case 4:rect= new Rectangle[4];rect[0]= new Rectangle(cusor_x,0,width,height);rect[1]= new Rectangle(cusor_x+width,0,width,height);rect[2]= new Rectangle(cusor_x,height,width,height);rect[3]= new Rectangle(cusor_x-width,height,width,height);break;        case 5:    totle=5;            rect= new Rectangle[5];    rect[0]= new Rectangle(cusor_x,0,width,height);    rect[1]= new Rectangle(cusor_x,height,width,height);    rect[2]= new Rectangle(cusor_x,2*height,width,height);    rect[3]= new Rectangle(cusor_x,3*height,width,height);            rect[4]= new Rectangle(cusor_x+width,3*height,width,height);    rect_turn=4;            break;        case 6:totle= 5;            rect= new Rectangle[5];    rect[0]= new Rectangle(cusor_x,0,width,height);    rect[1]= new Rectangle(cusor_x,height,width,height);    rect[2]= new Rectangle(cusor_x,2*height,width,height);    rect[3]= new Rectangle(cusor_x,3*height,width,height);rect[4]= new Rectangle(cusor_x-width,3*height,width,height);        rect_turn= 4;            break;}}public void reset(int cx,int cy){    for(int i= 0;i<totle;i++)        rect[i].translate(cx,cy);    return;}public void turn(int turn_i){    switch(style)    {case 0:        return;    case 1:        if(turn_i==0)            rect[3].translate(rect[2].x-rect[3].x,rect[2].y+height-rect[3].y);        if(turn_i== 1)            rect[0].translate(rect[2].x+width-rect[0].x,rect[2].y-rect[0].y);        if(turn_i== 2)            rect[1].translate(rect[2].x-rect[1].x,rect[2].y-height-rect[1].y);        if(turn_i==3)        {            rect[0].translate(rect[2].x-rect[0].x,rect[2].y-height-rect[0].y);            rect[1].translate(rect[2].x-width-rect[1].x,rect[2].y-rect[1].y);            rect[3].translate(rect[2].x+width-rect[3].x,rect[2].y-rect[3].y);        }        return;    case 2:        if(turn_i== 0)        {            rect[0].translate(rect[1].x-width-rect[0].x,rect[1].y-rect[0].y);    rect[2].translate(rect[1].x+width-rect[2].x,rect[1].y-rect[2].y);    rect[3].translate(rect[1].x+2*width-rect[3].x,rect[1].y-rect[3].y);        }        if(turn_i== 1)        {            rect[0].translate(rect[1].x-rect[0].x,rect[1].y-height-rect[0].y);    rect[2].translate(rect[1].x-rect[2].x,rect[1].y+height-rect[2].y);    rect[3].translate(rect[1].x-rect[3].x,rect[1].y+2*height-rect[3].y);        }        break;    case 3:        if(turn_i== 0)        {            rect[0].translate(rect[2].x-width-rect[0].x,rect[2].y-rect[0].y);rect[3].translate(rect[2].x-width-rect[3].x,height+rect[2].y-rect[3].y);        }        if(turn_i== 1)        {            rect[0].translate(rect[2].x-rect[1].x,rect[1].y-rect[0].y);rect[3].translate(rect[2].x+width-rect[3].x,rect[2].y-rect[3].y);        }        break;    case 4:        if(turn_i== 0)        {            rect[1].translate(rect[2].x+width-rect[1].x,rect[2].y-rect[1].y);    rect[3].translate(rect[2].x+width-rect[3].x,height+rect[2].y-rect[3].y);        }        if(turn_i==1)        {            rect[1].translate(rect[0].x+width-rect[1].x,rect[0].y-rect[1].y);    rect[3].translate(rect[2].x-width-rect[3].x,rect[2].y-rect[3].y);        }        break;    case 5:        if(turn_i==0)            rect[4].translate(rect[0].x-width-rect[4].x,rect[0].y-rect[4].y);        if(turn_i==1)        {            rect[0].translate(rect[1].x-width-rect[0].x,rect[1].y-rect[0].y);rect[2].translate(rect[1].x+width-rect[2].x,rect[1].y-rect[2].y);            rect[3].translate(rect[1].x+2*width-rect[3].x,rect[1].y-rect[3].y);            rect[4].translate(rect[1].x-width-rect[4].x,rect[1].y+height-rect[4].y);        }        if(turn_i==2)            rect[4].translate(rect[3].x-rect[4].x,rect[3].y-height-rect[4].y);        if(turn_i==3)        {            rect[0].translate(rect[1].x-rect[0].x,rect[1].y-height-rect[0].y);rect[2].translate(rect[1].x-rect[2].x,rect[1].y+height-rect[2].y);            rect[3].translate(rect[1].x-rect[3].x,rect[1].y+2*height-rect[3].y);            rect[4].translate(rect[1].x+width-rect[4].x,rect[1].y+2*height-rect[4].y);        }        break;    case 6:        if(turn_i== 0)            rect[4].translate(rect[0].x+width-rect[4].x,rect[0].y-rect[4].y);        if(turn_i==1)        {            rect[0].translate(rect[1].x-width-rect[0].x,rect[1].y-rect[0].y);rect[2].translate(rect[1].x+width-rect[2].x,rect[1].y-rect[2].y);            rect[3].translate(rect[1].x+2*width-rect[3].x,rect[1].y-rect[3].y);            rect[4].translate(rect[1].x-width-rect[4].x,rect[1].y-height-rect[4].y);        }        if(turn_i==2)            rect[4].translate(rect[3].x-rect[4].x,rect[3].y+height-rect[4].y);        if(turn_i==3)        {            rect[0].translate(rect[1].x-rect[0].x,rect[1].y-height-rect[0].y);rect[2].translate(rect[1].x-rect[2].x,rect[1].y+height-rect[2].y);            rect[3].translate(rect[1].x-rect[3].x,rect[1].y+2*height-rect[3].y);            rect[4].translate(rect[1].x-width-rect[4].x,rect[1].y+2*height-rect[4].y);        }        break;}}private void paint_one(Graphics g,int x,int y){Color color = Color.red;g.setColor(color);g.fillRect(x,y,width,height);g.setColor(Color.lightGray);g.drawLine(x,y,x+width-1,y);g.drawLine(x+1,y+1,x+width-2,y+1);g.drawLine(x,y,x,y+height-1);g.drawLine(x+1,y+1,x+1,y+height-2);g.setColor(color.darker());g.drawLine(x+width-1,y,x+width-1,y+height-1);g.drawLine(x+width-2,y+1,x+width-2,y+height-2);g.drawLine(x+1,y+height-2,x+width-2,y+height-2);g.drawLine(x,y+height-1,x+width-1,y+height-1);}public void paint(Graphics g){for(int i=0;i< totle;i++)paint_one(g,rect[i].x,rect[i].y);}}class save{    public int pos[];    public int index;    public save(int index)    {        pos= new int[22];        for(int i=0;i<22;i++)            pos[i]=0;        this.index= index;    }    public void clear()    {        for(int i=0;i<22;i++)            pos[i]=0;    }}public class game extends Applet implements Runnable{private Style cool;    private Thread timer;    private TextField aa= new TextField(15);    private Image offscrean_image;private Graphics offscrean_g;    private final static int back_width=15*22,back_height= 15*24;    private save save_h[];    private int turn_i=0;    private int score= 0;private Button begin ,stop;    private boolean restart= false;    private boolean GameOver= false;    private boolean candown= false;private int level= 100;Choice select_level= new Choice();private String textStr = "俄罗斯方块";    private char theChars[];    private int strlen;private int charOffsets[];    private Color colors[];    private Font f;    private FontMetrics fm;    private int phase = 0;    private int yOffset;    public void init()    {setBackground(Color.lightGray);        setLayout(null);        cool= new Style(0,30);    save_h= new save[back_height/15];        for(int i=0;i<back_height/15;i++)            save_h[i]= new save(i);        add(aa);        aa.reshape(340,70,120,25);        begin= new Button("开始");        stop= new Button("停止");        add(begin);        begin.reshape(370,115,60,20);        add(stop);            stop.reshape(370,150,60,20);        String items[]= {"级别","第一级","第二级","第三级","第四级"};add(select_level);select_level.reshape(367,180,66,15);for(int i= 0;i<items.length;i++)select_level.addItem(items[i]);offscrean_image= createImage(back_width,back_height);        offscrean_g= offscrean_image.getGraphics();        f=new Font("ITALIC",Font.PLAIN+Font.BOLD,24);        fm=getFontMetrics(f);        int xPos=335;        yOffset = fm.getAscent()+5;        strlen = textStr.length();        theChars = new char [strlen];        charOffsets = new int [strlen];        textStr.getChars(0,strlen,theChars,0);        colors = new Color[strlen];        float h;        for (int i = 0; i < strlen; i++)        {            h = ((float)i)/((float)strlen);            colors[i] = new Color(Color.HSBtoRGB(h,1.0f,1.0f));            charOffsets[i] = xPos;            xPos+=fm.charWidth(theChars[i]);        }        repaint();}public void sleep(int time){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -