java实现 swing模仿金山打字 案例源码

java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网。http://java.662p.com

代码:

<font size="3">import Java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
public class Main {
        public char c;   //苹果上的字母
        public int x = 60, y = 0; // 敌人出现的坐标
        public final int XSPEED=5,YSPEED=2;  //苹果xy方向移动的速度
        public int center;    //初始中心值
        public boolean turnleft = true;  //是否向左移动
        public boolean alive = true;    //是否活着
        public Random ran = new Random();   //随机数的种子

        public TypeFrame tf=null;    //所属的框架
        public Image appleimg = null;   //苹果的图片
        public Image bg = Toolkit.getDefaultToolkit().getImage("bg.jpg"); //背景图片

        public Main(TypeFrame tf) {
                this.tf=tf;
                x = randomlocation();  //得到随机合格的随机x坐标
                y=ran.nextInt(20);  //得到随机的y坐标
                if(ran.nextInt(2)==0){
                        turnleft=true;
                }else
                {
                        turnleft=false;
                }
                center = x;   //设置初始中心值为x
                c=randomchar();  //得到随机的字母值
                try {
                        appleimg = ImageIO.read(new File("apple.gif"));  //苹果的图片
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

        public void draw(Graphics g) {
                Color color = g.getColor();  //得到上下文颜色
                g.setColor(Color.red);   //设置上下文颜色
                g.setFont(new Font("Dialog", 4, 40));   //设置字体

                if (alive) {
                        g.drawImage(appleimg, x, y, null);    //绘制苹果图片
                        g.drawString(c+ "", x + 20, y + 60);   //绘制苹果字母
                }
                g.setColor(color);  //将上下文颜色设置回去
        }

        public int randomlocation(){  //产生苹果的随机横坐标的函数
                int x1=ran.nextInt(TypeFrame.GAME_WIDTH - 40);
                for (int i = 0; i < tf.apples.size(); i++) {
                        if(Math.abs(x1-tf.apples.get(i).x)<60){
                                return randomlocation();
                        }
                }
                return x1;
        }

        public char randomchar(){   //产生不与存在的苹果字母相同的字母的方法
                char ch=(char)(‘a‘+ran.nextInt(26));
                for (int i = 0; i < tf.apples.size(); i++) {
                        if(ch==tf.apples.get(i).c)
                                return randomchar();
                }
                return ch;
        }
}

                                    </font>

  详细说明:http://java.662p.com/thread-3680-1-1.html

时间: 2024-10-08 15:25:15

java实现 swing模仿金山打字 案例源码的相关文章

swing简单的打字游戏源码

代码如下 import java.awt.*; import java.awt.event.*; public class Main{ public static Frame f =new Frame(); public static void main(String[] agrs){ f.setSize(500, 400); f.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-f.getSize().width)/2

Java利用webservice创建接口案例源码

环境要求: JDK1.7,并配置Java的环境变量 BaseDao  接口: /** * 要使得成为一个可供访问的接口,必须添加:@WebService * */ @WebServicepublic interface BaseDao {    //添加一个加法的接口        @WebResult(name="addddddre")    public int add(@WebParam(name="add01")int a,@WebParam(name=&q

使用jqplot创建报表(一) 初学后写的第一个案例源码

一.初学后写的第一个案例源码 效果图: 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="common.jsp"%> <html> <head> <script type="text/javascript" src=&q

模仿qq客户端应用源码且带安装包

这款源码案例是模仿qq客户端应用源码且带安装包,大家可以参考一下吧,也是比较完整的一款Android源码项目. 源码下载: http://code.662p.com/view/1931.html 00.png (125.02 KB, 下载次数: 0) 01.png (75.01 KB, 下载次数: 0) 1.png (7.24 KB, 下载次数: 0) 02.png (68.52 KB, 下载次数: 0) 10.png (74.72 KB, 下载次数: 0) 20.png (59.99 KB,

JEECG社区 一个微信教育网站案例源码分享

微信教育网站案例演示: http://t.cn/RvPgLcb 源码分享: http://pan.baidu.com/s/1cUImy 截图演示: JEECG社区 一个微信教育网站案例源码分享,布布扣,bubuko.com

Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要  和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码:最后再通过实例来学会使用LinkedList.内容包括:第1部分 LinkedList介绍第2部分 LinkedList数

Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解ArrayList.先对ArrayLis

Java新手练习项目、毕业设计项目源码下载

最近自己做了个技术博客网站,整理了一下学习java过程中做的例子和小项目,都放在了网站了提供下载,有新手入门的例子,也有java web例子,还有本人大学期间的毕业设计源码,都可以下载.地址:微儿博客-Java新手练习项目.毕业设计项目源码下载

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 第1部分 Stack介绍 Stack简介 Stack是栈.它的特性是:先进后出(FILO, F