自己写的打字游戏的源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1/*
2 * 代码的目标:写一个打字游戏。
3 * 描述如下:
4 *1、每隔0.5秒产生一个气球,气球的颜色、位置和里面的字母都是随机的。
5 *2、气球会往屏幕下方沉淀。如果沉到最下面的一条线,则气球消失
6 *3、如果玩家在圆圈还没有沉淀到最下方时,正确的按键。则气球爆炸消失。玩家得分+1
7 *4、一局游戏的时间是30秒,30秒之后显示最终击中的气球的比例。并停止游戏
8 *5、空格键可以暂停和继续游戏
9 */
10
11package Game_1;
71e.printStackTrace();
72}
73}
74
75public void makeBubble()
76{
77//这个x是最初bubble的x坐标
78int x=(int) (Math.random()*750);
79bubble=new Bubble(x,0,3);
80vectorbubble.add(bubble);
81Thread threadbubble=new Thread(bubble);
82threadbubble.start();
83}
84
85public void paint(Graphics g)
86{
87super.paint(g);
88
89//画一条下界线
90g.setColor(Color.BLACK);
91g.drawLine(0, 500, 800, 500);
92
93//画一个魔法球
94g.setColor(Color.red);
95g.fillArc(390, 520, 40, 40,360,360);
96
97this.drawBomb(bomb, g);
98
99//在右上角写出得分
100g.setColor(Color.black);
101g.setFont(new Font("华文新魏",Font.BOLD,20));
102g.drawString("总数:", 710, 40);
103g.drawString(Bubble.totalNumber+"", 760, 40);
104
105g.drawString("得分:", 710, 80);
106g.drawString(Recorder.achievement+"", 760, 80);
107
108
109for(int i=0;i 110{ 111bubble=vectorbubble.get(i); 112if(bubble.isLive==true) 113{ 114this.drawBubbleAndLetter(bubble.x, bubble.y, bubble.color, bubble.letter, g); 115}else 116{ 117vectorbubble.remove(bubble); 118} 119} 120} 121 122//画出炸弹 123public void drawBomb(Bomb bomb, Graphics g) 124{ 125for(int i=0;i 126{ 127bomb = vectorbomb.get(i); 128if (bomb.life > 8) { 129g.drawImage(image1, bomb.x, bomb.y, 30, 30, this); 247} 248} 249 250} 251 252@Override 253public void keyReleased(KeyEvent e) { 254 255} 256 257@Override 258public void keyTyped(KeyEvent arg0) { 259 260} 261} 262 14 61this.speed = speed; 62 63rd = new Random(); 64letter = A_Z[rd.nextInt(25)]; 65color = colors[rd.nextInt(12)]; 66} 67 68public void moveDown() { 69y += speed; 70} 71 72@Override 73public void run() { 74 75while (true) { 76try { 77Thread.sleep(30); 78} catch (InterruptedException e) { 79// TODO Auto-generated catch block 80e.printStackTrace(); 81} 82this.moveDown(); 83 84// 当bubble越过下界线,则isLive=false 85if (this.y > 500) { 86this.isLive = false; 87} 88} 89} 90} 91