首页 > 代码库 > Java写的第一个小程序

Java写的第一个小程序

大二刚开学,开始学习Java,结合假期里学到的一些知识,写了一个简单的程序。

 

有点像之前很火的”别踩白块儿“,但是简单的多,暂时就把它叫做“静止的别踩白块儿”。

 

【玩法】鼠标点击出现色块的地方,点对加10分,点错减100分,负分游戏结束。

 

现在的不足和问题:

            点击错误时,不能马上显示Game Over,必须再点对一次才能显示。我原想应该是if(grade<0)那个程序段的位置不对,但是调试不出来。

            另外,方块永远只能按同一速度出现,一个点完才会出现下一个,这也是个问题,现在我的水平还不能写出来。

 

下面是程序代码:

 1 import java.awt.*; 2 import java.awt.event.MouseEvent; 3 import java.awt.event.MouseListener; 4  5 import javax.swing.*; 6  7 public class fangkuan { 8     public static void main(String[] args) { 9         JFrame w = new JFrame();10         w.setSize(600, 700);11         12         MyPanel4 mp = new MyPanel4();13         mp.setBackground(Color.WHITE);14         mp.addMouseListener(mp);15         w.add(mp);16         17         w.setVisible(true);18     }19 }20 21 class MyPanel5 extends Panel implements MouseListener{22     int []x= {0,200,400};23     int []j= new int[10];24     int a,b,X,Y;25     int grade=0;26     27     public MyPanel5(){28         for(int i=0;i<10;i++){29             j[i]=(int)(Math.random()*10);30             a=(int)(Math.random()*3);31             b=(int)(Math.random()*3);32         }33     }34     public void paint(Graphics g){35         super.paint(g);36         37         if(grade<0){38             g.setColor(Color.RED);39             Font f =new Font("",Font.BOLD,20);40             g.setFont(f);41             g.drawString("Game over", 400, 650);42             return;43         }44         45         Font f= new Font("",Font.BOLD,20);46         g.setFont(f);47         g.drawString("Score: "+grade, 400, 620);48         49         50         g.setColor(new Color((new Double(Math.random()*128)).intValue()+128,(new Double(Math.random()*128)).intValue()+128,(new Double(Math.random()*128)).intValue()+128));51         g.fillRect(x[a], x[b], 200, 200);52         53     }54     55     56     @Override57     public void mouseClicked(MouseEvent e) {58         // TODO Auto-generated method stub59         60     }61     @Override62     public void mouseEntered(MouseEvent e) {63         // TODO Auto-generated method stub64         65     }66     @Override67     public void mouseExited(MouseEvent e) {68         // TODO Auto-generated method stub69         70     }71     @Override72     public void mousePressed(MouseEvent e) {73         // TODO Auto-generated method stub74         X=e.getX();75         Y=e.getY();76         if(X>=x[a]&&X<=(x[a]+200)&&Y>=x[b]&&Y<=(x[b]+200)){77             a=(int)(Math.random()*3);78             b=(int)(Math.random()*3);79             grade+=10;80             repaint();81         }else{82             grade-=100;83         }84     }85     @Override86     public void mouseReleased(MouseEvent e) {87         // TODO Auto-generated method stub88         89     }90 }

 

Java写的第一个小程序