java小白入门练手小项目:台球游戏。附赠学习教程分享

java小白入门练手小项目:台球游戏。附赠学习教程分享

【项目】台球游戏小项目

练习目标:

1.找到敲代码的感觉

2.收获敲代码的兴趣

3.作出效果,找到自信

4.从一开始就学会调试错误

5.掌握Java代码基本结构

注意:不要求自己理解代码的语法功能,只要按照代码结构输入代码,能够经过调试实现代码的正常运行即可;

项目需求:

桌球在球桌中按照一定线路和角度移动;遇到边框会自动弹回

java小白入门练手小项目:台球游戏。附赠学习教程分享

即使看不太懂,也要照着敲如下游戏代码,至少5遍。要求所有字符和源文件一致。

import java.awt.*;

public class BallGame extends Frame {

//球桌和桌球图片

Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");

Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");

//桌球的起始位置

double x=100;

double y=100;

//桌球移动的初始角度60°

double degree = 3.14/3;

/**

* 绘制一次桌面和桌球

*/

public void paint(Graphics g){

//绘制一次桌面和桌球

System.out.println("窗口被画了一次!");

g.drawImage(desk, 0,0, null);

g.drawImage(ball, (int)x,(int)y, null);

//桌球的下一次坐标位置

x = x+ 10*Math.cos(degree);

y = y+10*Math.sin(degree);

//到了球桌四个边框后桌球角度的变化

//1.如果到了底部,就要变角度

if(y>480-30-40){//480是球桌高度,30是球的直径,40是桌边框宽度

degree = - degree;

}

//2.如果到了右边界,就要变角度

if(x>856-30-40){

degree = 3.14-degree;

}

//3.如果到了上边界,就要变角度

if(x<20+20){

degree = 3.14-degree;

}

//4.如果到了左边界,就要变角度

if(y<20+20){

degree = -degree;

}

}

/**

* 绘制多次次桌面和桌球

*/

void launchFrame(){

//四个方法什么含义,你能根据运行结果看懂吗

setSize(856, 480);

setLocation(50, 50);

setTitle("尚学堂--程旭源作品");

setVisible(true);

//每隔40毫秒绘制一次桌面和桌球

while(true){

repaint(); //重画窗口!

try{

Thread.sleep(40); //40ms 1s=1000ms

}catch (Exception e) {

e.printStackTrace();

}

}

}

public static void main(String[] args){

System.out.println("我是尚学堂的程旭源!");

BallGame bg = new BallGame();

bg.launchFrame();

}

}

java小白入门练手小项目:台球游戏。附赠学习教程分享

柠檬为大家准备了一些适合于1-5年以上开发经验的java程序员面试涉及到的绝大部分面试题及答案做成了文档和学习笔记文件以及架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望可以帮助到大家。

java小白入门练手小项目:台球游戏。附赠学习教程分享
java小白入门练手小项目:台球游戏。附赠学习教程分享

获取方式:请大家关注并私信小编关键词:“资料”即可获取你需要的各类资料。