1. 1.       JAVA开发环境安装和配置

a)         下载JDK(Java  Development  Kit)

b)         安装JDK、 JRE(Java  Runtime  environment)

c)         配置环境变量:

i.              path(系统通过path指定的目录寻找相关的可执行文件!)

右键单击我的电脑à属性à高级à环境变量à修改path即可!

ii.              classpath(系统通过classpath寻找类文件)

JDK1.5之后,可以不设置!

  1. 2.       Eclipse的使用(目前使用最多的IDE:integrated development environment集成开发环境)

a)         下载

b)         解压即可

  1. 3.       新建一个JAVA项目

a)         New  Java  Projectà只需要输入project name,回车即可!

  1. 4.       新建一个JAVA

a)         右键单击srcànew àClassà键入类名:BallGame

b)         输入代码:

public class BallGame {

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

}

}

c)         运行java程序的三种方式:

i.              右键单击àRun asàjava application

ii.              Alt+shift+X,再按J

iii.              Ctrl+F11

iv.              单击运行按钮

开始开发我们的小游戏

  1. 增加窗口

import java.awt.*;

public class BallGame extends Frame {

void launchFrame(){

setSize(500, 300);

setLocation(50, 50);

setVisible(true);

setTitle("尚学堂---张三作品");

setBackground(Color.black);

}

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

new BallGame().launchFrame();

}

}

  1. 加载图片

在项目下新建images文件夹,将sun.jpg拷贝到images下面

import java.awt.*;

public class BallGame extends Frame {

Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg");  //这种写法并不好,但是是最简单的!

public void paint(Graphics g){

g.drawImage(sun, 100, 100, null);

}

void launchFrame(){

setSize(500, 300);

setLocation(50, 50);

setTitle("尚学堂---张三作品");

setBackground(Color.black);

setVisible(true);

}

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

new BallGame().launchFrame();

}

}

注意:运行时,第一次打开窗口看不到图片。需要将窗口最小化再打开即可看到!

  1. 学习画各种曲线、形状、字符串:

import java.awt.*;

public class BallGame extends Frame {

Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg");  //这种写法并不好,但是是最简单的!

public void paint(Graphics g){

g.drawImage(sun, 100, 100, null);

g.setColor(Color.blue);

       g.drawLine(100, 100, 200, 200);

       g.drawRect(50, 50, 100, 80);

       g.drawOval(50, 50, 100, 80);

       g.setColor(Color.yellow);

       g.drawString("游戏开始啦!!", 80, 80);

}

void launchFrame(){

setSize(500, 300);

setLocation(50, 50);

setTitle("尚学堂---张三作品");

setBackground(Color.black);

setVisible(true);

}

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

new BallGame().launchFrame();

}

}

  1. 增加动画

import java.awt.*;

public class BallGame extends Frame {

Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg");  //这种写法并不好,但是是最简单的!

int x=100;

int y=100;

public void paint(Graphics g){

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

g.drawImage(sun, x, y, null);

    x = x+2;

}

void launchFrame(){

setSize(500, 300);

setLocation(50, 50);

setTitle("尚学堂---张三作品");

setBackground(Color.black);

setVisible(true);

new PaintThread().start();

}

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

new BallGame().launchFrame();

}

class PaintThread extends Thread {

       public void run(){

           while(true){

              repaint();  //重画窗口!

              try{

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

              }catch (Exception e) {

                  e.printStackTrace();

              }

           }

       }

    }

}

  1. 通过我们掌握的数学函数(抛物线、正弦曲线、椭圆等),控制游戏中物体的运动

import java.awt.*;

public class BallGame extends Frame {

Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg");  //这种写法并不好,但是是最简单的!

double x=100;

double y=100;

double degree = 0;

public void paint(Graphics g){

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

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

x =150+ 100*Math.cos(degree);

y = 150+100*Math.sin(degree);

degree = degree + 0.1;

}

void launchFrame(){

setSize(500, 300);

setLocation(50, 50);

setTitle("尚学堂---张三作品");

setBackground(Color.black);

setVisible(true);

new PaintThread().start();

}

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

new BallGame().launchFrame();

}

class PaintThread extends Thread {

public void run(){

while(true){

repaint();  //重画窗口!

try{

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

}catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

  1. 实现台球的运动!

import java.awt.*;

public class BallGame extends Frame {

Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg");  //这种写法并不好,但是是最简单的!

double x=100;

double y=100;

double degree = 3.14/3;

public void paint(Graphics g){

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

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

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

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

      

       if(y>300-30){

           degree = - degree;

       }

       if(x>500-30){

           degree = 3.14-degree;

       }

       if(x<0){

           degree = 3.14-degree;

       }

       if(y<30){

           degree = -degree;

       }

}

void launchFrame(){

setSize(500, 300);

setLocation(50, 50);

setTitle("尚学堂---张三作品");

setBackground(Color.black);

setVisible(true);

new PaintThread().start();

}

public static void main(String[] args){

System.out.println("我是尚学堂的高淇!");

new BallGame().launchFrame();

}

class PaintThread extends Thread {

public void run(){

while(true){

repaint();  //重画窗口!

try{

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

}catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

  1. 通过键盘来控制物体的运动!

[微软用户1]暂时跟我们的游戏无关,但是一些基本的编程知识!

Java项目体验的更多相关文章

  1. 【Github开源项目体验】- ZFile 基于 Java 的在线网盘

    [Github开源项目体验]- ZFile 基于 Java 的在线网盘 在线云盘.网盘.OneDrive.云存储.私有云.对象存储.h5ai.上传.下载 date: 2022-08-02 addres ...

  2. JetBrains Fleet初体验,如何运行一个java项目

    序言 各位好啊,我是会编程的蜗牛,JetBrains 日前宣布其打造的下一代 IDE Fleet 正式推出公共预览版,现已开放下载.作为java开发者,对于JetBrains开发的全家桶可以说是印象深 ...

  3. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  4. Windows Server 2012 R2服务器部署Tomcat JDK、安装Mysql以及将Java项目部署到CVM

    我们平时所调试的Java Web 项目需要在本地Eclipse或者MyEclipse当中开发调试,并且部署到Tomcat上来测试,比如说笔者这里用的eclipse添加tomcat服务器, 但是这里发布 ...

  5. Java项目框架搭建系列(Java学习路线)

    前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...

  6. 细数Java项目中用过的配置文件(YAML篇)

    灵魂拷问:YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot.SpringCloud.Docker 等各大项目.各大组件,在使用过程中几乎都能看到 YAML ...

  7. 从零构建Java项目(Maven+SpringBoot+Git) #02 奥斯丁项目

    前两天我说要写个项目来持续迭代,有好多小伙伴都表示支持和鼓励,项目的第一篇这不就来了么~我给项目取了个名字,英文名叫做:austin,中文名叫做:奥斯丁 名字倒没有什么特别的含义,我单纯觉得这个名字好 ...

  8. eclipse — 导入android项目后识别成java项目的问题及解决

    最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...

  9. owner:轻松管理java项目配置

    前段时间,一同事说在 github 上“活捉了”一个很有趣的开源项目,它是一个超轻量级的 jar 包,能够帮助你在 java 项目中摒弃样板式的 properties 配置代码,让你轻松自如地管理和使 ...

随机推荐

  1. Qt_Android_书

    1. http://bbs.csdn.net/topics/390942701 <<Qt on Android 核心编程>> Qt Quick核心编程 2.

  2. springboot整合redis缓存

    使用springBoot添加redis缓存需要在POM文件里引入 org.springframework.bootspring-boot-starter-cacheorg.springframewor ...

  3. java日期获取前一天和后一天

    import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import j ...

  4. python打印ms

    ct打印的是时间戳,时间戳的小数点后前三位为ms  eg:1555644362.055328   ms = 055 import time ct = time.time() local_time = ...

  5. SAS/SATA/SSD/IDE硬盘介绍区别

    SAS/SATA/SSD/IDE硬盘介绍区别 SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采 ...

  6. dp练习(5)——最长严格上升子序列

    1576 最长严格上升子序列  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 给一个数组a1, a2 ... ...

  7. HttpServletResponse输出的中文乱码

    HttpServletResponse输出有两种格式,一种是字符流,一种是字节流. 1.字符流 // 这句话的意思,是让浏览器用utf8来解析返回的数据,即设置客户端解析的编码 response.se ...

  8. forget word out a~2

        1● an 不,非,无   2● amphi     两个,两种     3● ad 做,加强:  

  9. jsp jstl标签库核心标签

    JSTL标签库介绍 JSTL标签库的使用时为了弥补html标签的不足,规范自定义标签的使用而诞生的.使用标签的目的就是不希望在jsp页面中出现java逻辑代码 全称:JSTL标签库分类 核心标签库使用 ...

  10. ssh的配置,ssh打开密钥登陆,关闭密码登陆。

    刚装玩fedora,那么我们就以fedora为例来说一下怎么配置: 1.先确认是否已安装ssh服务: [root@localhost ~]# rpm -qa | grep openssh-server ...