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. [ios]如何在ARC代码中混编非ARC代码

    参考 :http://blog.sina.com.cn/s/blog_b595ce9e0101nvvn.html “ios中如果arc和非arc文件混编,可以在build parses中指定compi ...

  2. jq 插件写法

    1.一次声明一个函数 $.fn.函数名 = function([options]){} $.fn.red=function(options){ var defaults = { 'color': 'r ...

  3. <yii 框架学习> yii 框架改为中文提示

    工作需要用到yii框架,但发现yii框架自带的提示都是英文的.上网找资料才发现其实可以自己陪置 . 将项目protected/config/main.php里的app配置加上language=> ...

  4. 雷林鹏分享:C# 事件(Event)

    C# 事件(Event) 事件(Event) 基本上说是一个用户操作,如按键.点击.鼠标移动等等,或者是一些出现,如系统生成的通知.应用程序需要在事件发生时响应事件.例如,中断.事件是用于进程间通信. ...

  5. CSS——标准盒子模型

    在写网页的时候一般都先用Div把网页的框架搭好(用不同的背景颜色来区分不同的Div块),然后填充每一个Div,最后把每个Div的背景颜色去掉 <html> <head> < ...

  6. Eclipse修改已存在的SVN地址

    1.Window---->Show View---->Other...

  7. DB2默认的事务及并发锁机制

    今天有点时间,试验了一下DB2的并发锁机制,结果,和MSSQL的差不多:1.DB2的缺省行为,事务以可执行的SQL开始,以COMMIT或ROLLBACK结束:2.DB2缺省是否提交,以工具的不同而不同 ...

  8. Django(五)在模板中使用静态文件

    location 最后一个文件夹名就是project名,我用了Django_Plan. Application 是自动加入的APP名字,我用了Plan 静态文件相关配置: Django_Plan\se ...

  9. LINUX文件格式化读写(文件指针,缓冲)

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  10. Win7下的flutter环境安装配置

    随着 2018 年底 GOOGLE 正式发布了 flutter1.0,这个原生开发框架大火,试用了一下确实不错,代码状态即时刷新,所见即所得.APP 开发的环境安装,比较复杂,很多初学者在这一步就被 ...