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     @Override
57     public void mouseClicked(MouseEvent e) {
58         // TODO Auto-generated method stub
59         
60     }
61     @Override
62     public void mouseEntered(MouseEvent e) {
63         // TODO Auto-generated method stub
64         
65     }
66     @Override
67     public void mouseExited(MouseEvent e) {
68         // TODO Auto-generated method stub
69         
70     }
71     @Override
72     public void mousePressed(MouseEvent e) {
73         // TODO Auto-generated method stub
74         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     @Override
86     public void mouseReleased(MouseEvent e) {
87         // TODO Auto-generated method stub
88         
89     }
90 }

 

posted @ 2014-10-01 13:20  码码怡  阅读(1602)  评论(0编辑  收藏  举报