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. 【Mac】小技巧:实现ssh服务器别名免密登录

    前言 我们平常使用ssh user@host然后输入密码的方式来远程链接一个服务器,但是,如果要管理的服务器太多,记住这些服务器的IP和用户名.密码就是一个复杂的工作.当然,我们可以把这些信息用文档记 ...

  2. Go开发环境安装配置

    访问下载地址:https://golang.org/dl/ 32位系统下载go1.8.1.linux-386.tar.gz,64位系统下载go1.8.1.linux-amd64.tar.gz, 假定你 ...

  3. English trip V1 - 4.Do you have it? Teacher:Patrick Key: have - has doesn't have

    In this lesson you will learn to describe what you have. STARTER Do you have a ...?  # 你有...吗? car b ...

  4. wacher和acl

      一.wacher    问题      1.集群中有多个机器,当某个通用的配置发生变化 ,怎么让所有服务器的配置都统一生效?       2.当某个集群节点宕机,其它节点怎么知道?   Zk中引入 ...

  5. oracle使用(1)

    纯粹是记录工作中使用的分析函数或是语法点,不做其他用处. (1) with as 先举个例子吧: 有两张表,分别为A.B,求得一个字段的值先在表A中寻找,如果A表中存在数据,则输出A表的值:如果A表中 ...

  6. codeforces 966c//Big Secret// Codeforces Round #477 (Div. 1)

    题意:一个数组,重新打乱后前缀异或和递增.问这样的排列. 将所有元素按照二进制最高位分组.每次选当前前缀和sum的二进制最低的0位,再从分组中挑一个作为答案.先放首1在较低位的再放首1在较高位的总是可 ...

  7. Maven部署web应用到远程服务器

    Maven部署web应用到远程服务器 找到了一个很详细的地址:http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tom ...

  8. Leetcode 77

    //这似乎是排列组合的标准写法了已经class Solution { public: vector<vector<int>> combine(int n, int k) { v ...

  9. OC Foundation框架—结构体

    一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...

  10. 小程序animation动画效果(小程序组件案例)

    WXML <view class="container"> <view class="page-body"> <view clas ...