学习java很久了,很少完完全全的自己编写一个有难度点的程序。又正好赶上一门课程任务,所以前段时间自己决定用java写一个小游戏,既可以当设计作品又可以练习巩固所学。
这个游戏具体规则如下:
1. 在窗体中央有一座塔,塔的左边或右边会有梯子,但左右不能同时有梯子。
2. 小球初始在最下面的梯子上,按下左键或右键小球向上跳跃。
3. 小球向上跳跃一次,则所有梯子下降一个单位,上方将出现一个方向随机的梯子。
4. 若小球的上方梯子在塔的左方就应该按下左键,若小球的上方梯子在塔的右方就应该按下右键。
5. 若按错方向键,则游戏结束。
6. 小球走过的梯子经过短时间就会断裂消失。
7. 若小球所站的梯子断裂,则游戏结束。
8. 小球走过一个梯子,分数加1。
下面贴上游戏的主流程图(主要是课程要求):
游戏开始后的流程图:
好了,下面给上代码:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class Climb extends JFrame implements KeyListener, ActionListener{
private draw d;
private Timer timer;
private char key;
private int score,bestscore;
private JLabel lscore,lbestscore;
public Climb()
{
super(