失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java实现弹球游戏的简单代码分享

Java实现弹球游戏的简单代码分享

时间:2020-05-12 15:46:07

相关推荐

Java实现弹球游戏的简单代码分享

Java|java教程

Java,代码,简单

Java-java教程

这篇文章主要为大家详细介绍了java实现简单的弹球游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

空包单号网源码,vscode文件怎么放,ubuntu 如何编译,java调出tomcat,用sqlite3查看db,微博爬虫评论制作词云图,php 分销系统源码,重庆seo新站优化价格,公司网站非响应式模板,新闻网页模版,表格展示网页模板lzw

弹球游戏实现原理:

bootstrap css 源码,在vscode中用r画图,ubuntu 主题 设置,tomcat源码分析 三,编程python爬虫,微信支付sdk php,衡阳seo优化方面价格,外贸产品展示网站,简洁大方的电商网站模板lzw

隔一定时间(小于1秒)重新绘制图像,因为Graphics类是一个抽象类,创建子类的时候需要把所有涉及的方法都得重写,所以这里使用的是创建Canvas的子类,只需要重写它的paint()方法来实现。这里我们用了键盘监听事件、Timer类等。

海外游门户源码带采集,ubuntu代码的运行,虚拟机上tomcat部署,爬虫电影项目,原生php架构,梁平区智能化seo推广代运营lzw

游戏说明:

该弹球游戏中的小球会随着时间增加速度且速度最多是横向速度和垂直速度为10。当小球的y坐标(垂直坐标)大于球拍的y坐标(垂直坐标)即判断游戏结束。控制台显示的是小球的x方向的速度和y方向的速度。

import java.awt.*;import java.util.Random;import javax.swing.Timer;import java.awt.event.*; public class PinBall { private Frame f=new Frame("弹球游戏"); Random rand=new Random(); //桌面的宽度以及高度 private final int TABLE_WIDTH=300; private final int TABLE_HEIGHT=400; //球拍的宽度以及高度以及水平位置、垂直位置 private final int RACKET_WIDTH=60; private final int RACKET_HEIGHT=20; private int racketX=rand.nextInt(24)*10; private int racketY=300; //小球的大小、运行速度、坐标 private final int BALL_SIZE=16; private int ySpeed=1; private double xyRate=1; private int xSpeed=(int)(xyRate*ySpeed); private int ballX=rand.nextInt(284); private int ballY=1; //创建画布 private MyCanvas tableArea=new MyCanvas(); //定义时间类 Timer timer; //游戏是否结束的旗标 private boolean isLose=false; //设置游戏等级 private int time_times=1; public void init(){ tableArea.setPreferredSize(new Dimension(TABLE_WIDTH,TABLE_HEIGHT)); f.add(tableArea); //定义键盘监听器 KeyAdapter keyProcessor=new KeyAdapter() { public void keyPressed(KeyEvent ke){ if(ke.getKeyCode()==KeyEvent.VK_LEFT){if(racketX>0)racketX-=10; } if(ke.getKeyCode()==KeyEvent.VK_RIGHT){if(racketX

{ //小球碰到左边框或右边框 if(ballX=TABLE_WIDTH-BALL_SIZE){ xSpeed=-xSpeed; } if(ballY>racketY-BALL_SIZE&&(ballXracketX+RACKET_WIDTH-BALL_SIZE)){ timer.stop(); isLose=true; tableArea.repaint(); }else if(ballY=racketY-BALL_SIZE&&ballX>racketX&&ballX<=racketX+RACKET_WIDTH)){ ySpeed=-ySpeed; } ballY+=ySpeed; ballX+=xSpeed; tableArea.repaint(); if((xSpeed-10)&&(ySpeed-10)){ time_times++; } if(time_times==10){ if(xSpeed>0){xSpeed++; }else{xSpeed--; } if(ySpeed>0){ySpeed++; }else{ySpeed--; } time_times-=10; System.out.println(xSpeed+" "+ySpeed); } }; timer=new Timer(100,taskPerformer); timer.start(); f.pack(); f.setVisible(true); } class MyCanvas extends Canvas { public void paint(Graphics g){ if(isLose){ g.setColor(new Color(255,0,0)); g.setFont(new Font("Times",Font.BOLD,30)); g.drawString("游戏结束",50,200); }else{ g.setColor(new Color(240,240,80)); g.fillOval(ballX,ballY,BALL_SIZE,BALL_SIZE); g.setColor(new Color(80,80,200)); g.fillRect(racketX,racketY,RACKET_WIDTH,RACKET_HEIGHT); } } } public static void main(String[] args) { new PinBall().init(); }}

如果觉得《Java实现弹球游戏的简单代码分享》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。