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
java实现 swing模仿金山打字 案例源码的更多相关文章
- android向web提交参数的4种方式总结,附带网站案例源码
第一种:基于http协议通过get方式提交参数 1.对多个参数的封装 public static String get_save(String name, String phone) { /** * ...
- ThreadLocal 简介 案例 源码分析 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- JAVA模拟Spring实现IoC过程(附源码)
前言:本人大四学生,第一次写博客,如果有写得不好的地方,请大家多多指正 一.IoC(Inversion of Control)反转控制 传统开发都是需要对象就new,但这样做有几个问题: 效率低下,创 ...
- SpringBoot 项目搭建(详细介绍+案例源码)
SpringBoot 项目搭建 SpringBoot 项目整合源码 SpringBoot 项目整合 一.项目准备 1.1 快速创建 SpringBoot 项目 1.2 标准项目结构图如下 1.3 添加 ...
- Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 05 Vector详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
随机推荐
- js鼠标事件、键盘事件实例代码
讲述了:鼠标的哪个按键被点击.当前鼠标的光标坐标是多少.被按下键的unicode码是多少.当前鼠标的光标相对于屏幕的坐标是多少.当前鼠标的光标坐标是多少.shift键是否按下.当前被点击的是哪一个元素 ...
- MYSQL批量插入数据库实现语句性能分析
假定我们的表结构如下 代码如下 CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value ...
- IntelliJ IDEA 注册码
IntelliJ IDEA 注册码 *.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀 请搭建自己的IntelliJ IDEA授权服务器,教程在http ...
- C# 文件压缩与解压(ZIP格式)
在企业开发过程中经常会遇到文件的压缩与解压,虽然网上很多流行的压缩文件格式都是RAR的,但是由于RAR不是一个开放的标准,因此ZIP成了更多人的选择.如果你不想自己开发的话可以选择开源的项目,比如Sh ...
- 【原】Nginx添加Content-MD5头部压测分析
如需转载,必须注明原文地址,请尊重作者劳动成果. http://www.cnblogs.com/lyongerr/p/5048464.html 本文介绍了webbenck安装,但是最后使用的是ab工具 ...
- 《Code Complete》ch.22 开发者测试
WHAT? 单元测试(Unit Testing):是将一个程序员或一个开发团队所编写的,一个完整的类.子程序或者小程序,从完整的系统中隔离出来进行测试 组件测试(Component Testing): ...
- 内网安装ubuntu包
到http://packages.ubuntu.com搜索包下载下来, 再安装.
- selenium和Firefox版本不兼容
selenium8.py coding = utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.get(' ...
- 翻译的技巧(The Technique of Translation)——前言
曰:你要发文章才能毕业! 答:谨遵圣命-- 缘起 研三了,要找工作了,要离开学校了,又要像浮萍般飘荡在世上了,还是学校好呀!本以为写个毕业论文就可以了,谁知老板幽幽地说写篇文章发了吧.我竟无言以对.不 ...
- ctags 文章
http://blog.csdn.net/wuziqi4/article/details/1709722