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

📄 game.java

📁 介绍有关java的资料 课件 相当一本书籍 里面都是很基础的知识
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    try{Thread.sleep(time);}catch (InterruptedException e){}}public void run(){    while (timer != null)    {    judge();        cool.reset(0,15);    repaint();sleep(level);        draw_string(getGraphics());        if(candown){judge();cool.reset(0,15);}repaint();sleep(level);draw_string(getGraphics());        if(candown){judge();cool.reset(0,15);}repaint();sleep(level);        draw_string(getGraphics());        repaint();    }timer = null;}public void judge_line(){int bb=0;    for(int i=0;i<back_height/15;i++)    {        int totle= 0;        for(int j=0;j<back_width/15;j++)        {            totle+=save_h[i].pos[j];            if(save_h[0].pos[j]== 1)            {                timer= null;                restart= true;                GameOver= true;break;            }        }        if(totle== 22)        {            save_h[i].clear();            change(i);            score+= 10;            bb++;        }    }    if(bb>1)    score+=bb*15;    aa.setText("你的成绩:"+score);}public void change(int index_i){    for(int i= index_i;i>0;i--)    {        save_h[i]= save_h[i-1];    }    save_h[0].clear();}public boolean judge(){    boolean real2= false;    boolean real= false;    for(int j=0;j<cool.totle;j++)    {        if(((cool.rect[j].y/15)< 23)&&((cool.rect[j].x/15)<22))        if(save_h[(cool.rect[j].y/15+1)].pos[(cool.rect[j].x/15)]==1)            real= true;        if(cool.rect[j].y+15>=back_height)            real2= true;}    if(real2||real)    {        candown= false;save_img(real);        judge_line();        turn_i=0;        int type;        int cu_x;        Random r= new Random();        type= Math.abs(r.nextInt()%7);cu_x= Math.abs(r.nextInt()%22);    cu_x*= 15;        if(cu_x<back_width/2)        cu_x+=30;        else            cu_x-=30;        cool= null;        cool= new Style(type,cu_x);        repaint();judge();real=false;        return true;}    return false;}public void save_img(boolean real){    for(int j=0;j<cool.totle;j++)    {        save_h[(cool.rect[j].y/15)].pos[(cool.rect[j].x/15)]=1;    }    sleep(2*level);}public void draw_string(Graphics g){    g.setFont(f);        int x, y;        phase--;        if (phase < 0)            phase=strlen-1;        for(int i=0;i<strlen;i++)        {            x = charOffsets[i];            g.setColor(colors[(phase+i)%strlen]);            g.drawChars(theChars,i,1,x,yOffset);        }}public void update(Graphics g){    if(GameOver)    {        g.setColor(Color.black);g.fillRect(0,0,back_width,back_height);    g.setFont(new Font("ITALIC",Font.PLAIN+Font.BOLD,18));g.setColor(Color.yellow);    g.drawString("对不起!游戏结束!",80,100);    g.drawString("请按 '开始' 按钮",40,130);    }else{offscrean_g.setColor(Color.green);offscrean_g.fillRect(0,0,back_width,back_height);cool.paint(offscrean_g);for(int j=0;j<back_height/15;j++)    {        for(int i=0;i<back_width/15;i++)        {            if(save_h[j].pos[i]==1)                draw_one(offscrean_g,i*15,j*15);        }        }    g.drawImage(offscrean_image,0,0,this);    g.setColor(Color.darkGray);    g.drawRect(back_width,0,468-back_width-2,360-2);g.setColor(Color.white);g.drawLine(back_width+1,1,back_width+1,360-3);g.drawLine(back_width+1,1,470-3,1);g.drawLine(back_width,360-1,470-1,360-1);g.drawLine(470-1,0,470-1,360-1);}        draw_string(g);}public void draw_one(Graphics g,int x,int y){int width= 15;    int height= 15;    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){showStatus("孙公晨祝你玩出好成绩!");    update(g);}public boolean handleEvent(Event evt){if(evt.id== Event.KEY_ACTION_RELEASE)candown= false;if(evt.id == Event.KEY_ACTION){            switch (evt.key){        case Event.UP:                        boolean dox= false;Style testx= new Style(cool.style,30);for(int j=0;j<testx.totle;j++){testx.rect[j].x=cool.rect[j].x;testx.rect[j].y= cool.rect[j].y;}testx.turn(turn_i%testx.rect_turn);for(int j=0;j<testx.totle;j++)                        {                if(((testx.rect[j].x/15)<=0)||(testx.rect[j].x>=back_width)||((testx.rect[j].y/15)>=23))dox= true;}if(!dox){cool= testx;                        turn_i++;}                    break;        case Event.DOWN:candown= true;                                        break;        case Event.RIGHT:        for(int j=0;j<cool.totle;j++)                        {                            if(((cool.rect[j].y/15)< 23)&&((cool.rect[j].x/15)<22))                                if(save_h[(cool.rect[j].y/15)].pos[(cool.rect[j].x/15)+1]==1)                    return true;                            if(cool.rect[j].x+15>= back_width)                                return true;                        }                        cool.reset(15,0);                repaint();                        break;                case Event.LEFT:                        for(int j=0;j<cool.totle;j++)                        {                        if((cool.rect[j].x/15)>0)                                if(save_h[(cool.rect[j].y/15)].pos[(cool.rect[j].x/15)-1]==1)                            return true;                            if(cool.rect[j].x<=0)                                return true;                        }                    cool.reset(-15,0);                repaint();                        break;            }            return true;        }        if(evt.id == Event.ACTION_EVENT)        {            if(evt.target instanceof Choice){if(evt.arg=="级别")level= 100;if(evt.arg=="第一级")level= 85;if(evt.arg=="第二级")level= 70;if(evt.arg=="第三级")level= 50;if(evt.arg=="第四级")level= 25;}if(evt.target instanceof Button)            {            if(evt.arg=="开始")            {                //if(GaveOver)for(int k=0;k<back_height/15;k++)                    save_h[k].clear();                score= 0;                aa.setText("你的成绩:"+score);                repaint();                if(timer== null)                {                    GameOver= false;timer = new Thread(this);        timer.start();                }            if(restart)                {                    timer.resume();                    restart= false;                }                return true;            }            if(evt.arg== "停止")            {                timer.suspend();                restart= true;                return true;            }            }        }        return super.handleEvent( evt );    }}

⌨️ 快捷键说明

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