java编写猫抓老鼠程序_Java抓鱼程序
package com.tarena.fish;
//只要类不是在java.lang下面的包,都要导包
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Pool extends JPanel implements
MouseMotionListener,MouseListener{
public static void main(String[] args) {
JFrame f = new JFrame();//创建窗口
f.setTitle("My捕鱼达人");//设置窗口标题
f.setSize(800, 600);//设置窗口大小
f.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);//当窗口关闭,程序就结束
f.setLocationRelativeTo(null);//窗口居中
f.setResizable(false);//取消默认布局
Pool p = new Pool();//创建面板Pool对象
f.addMouseListener(p);//增加鼠标监听器
f.addMouseMotionListener(p);//增加鼠标监听器
f.add(p);//把面板放到窗口里
f.setVisible(true);//设置窗口可见
p.action();//调用执行鱼游动的方法
}
BufferedImage bg;//背景图片
// Fish fish;//一条鱼
Fish[] fishs;//所有的鱼
Net net;//鱼网
int score = 0;//积分
//构造器,用来加载图片
public Pool() {
try {
//加载背景图片
bg = ImageIO.read(
new File("src/images/bg.jpg"));
//创建鱼
// fish = new Fish(
// "src/images/fish08_02.png");
// fish = new Fish(
// "src/images/fish08");
//初始化所有的鱼
fishs = new Fish[11];
for (int i=0; i < fishs.length; i++){
if(i < 9){
fishs[i] = new Fish(
"src/images/fish0"+(i+1));
}else{
fishs[i] = new Fish(
"src/images/fish"+(i+1));
}
}
//加载鱼网图片
net = new Net("src/images/net.png");
} catch (IOException e) {
e.printStackTrace();
System.out.println("加载图片失败!");
}
}
//画背景
public void paint(Graphics g) {
//填冲背景
g.drawImage(bg,0,0,getWidth()
,getHeight(),null);
//画一鱼
// fish.draw(g);
//画多条鱼
for (Fish fish : fishs) {//新的for循环
fish.draw(g);
}
//画鱼网
net.draw(g);
//画积分
g.setColor(Color.white);
g.setFont(new Font("宋体",Font.BOLD,30));
g.drawString("积分:"+score,20,30);
}
//执行鱼游动的方法
public void action(){
//把鱼放到线程里,并启动线程
// new Thread(fish).start();
//每条鱼分配一个线程
for (Fish fish : fishs) {
new Thread(fish).start();
}
while(true){
repaint();//重新绘画面板
}
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
//让鱼网同步鼠标
@Override
public void mouseMoved(MouseEvent e) {
net.x = e.getX();//把鼠标的当前坐标赋给鱼网的坐标
net.y = e.getY();
repaint();//重新绘画
}
@Override
public void mouseClicked(MouseEvent e) {
Random r = new Random();
for (Fish fish : fishs) {
//如果鱼在网里,就重新生成鱼
if(net.contain(fish)){
fish.x = 800;
fish.y = r.nextInt(550)+20;
fish.step = r.nextInt(4)+1;
score += 10;
}
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}
java编写猫抓老鼠程序_Java抓鱼程序相关推荐
- java 模拟时钟程序_java模拟时钟程序
} clock_revise(); } final_print_out(); //时钟修正 //仿真结果打印输出 下图表示了 GPSS/JAVA 的运行逻辑初始化 程序 1. 设定仿真开始时间 2.初 ...
- java编写超市收银系统_java编写的超市收银系统
[实例简介] 用java编写的超市收银系统, [实例截图] [核心代码] ad9ea874-4694-4cc4-b634-760c9c1b6b65 └── 超市收银系统 ├── sql │ ├── ...
- 用java编写租车系统代码_java实现租车系统
今天用java编写了一个租车系统,过程中主要遇到的两个问题: 1.输出数组信息问题: 在得到cars[]数组后,要生成租车信息表,目前有两种思路:一是用循环输出:二是用arrays.tostring( ...
- 用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历
实训要求: 1.使用BorderLayout 进行总体布局 2.在North 位置放置包含两个按钮( 上月和下月)的Panel 3.在South 位置放置一个Label 用于显示当前年份和月份 4.在 ...
- java编写脚本校验修改密码_java编写一个更改密码校验程序,有两个密码框,一个用于输入新密码,另一个请输入确认密码……...
展开全部 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JBu ...
- java编写摄氏度转华氏度_JAVA题:编写一个能够转换华氏温度和摄氏温度的程序。在“摄氏温度”文本域输入一个值并点击华氏按钮(两...
展开全部 import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListe ...
- JAVA编写提示用户输入投资额_java(计算银行存款总额(要求输入错误时,提示重新输入))...
[任务一]:编写一个简单 Java 程序,计算银行年存款的本息. 要求:程序运行后要求用户输入存款本金.年利率和存款年限,最后程序计算并输出相应年限后存款的金额.相应 的计算公式为:存款总额=本金 * ...
- java编写抖音上图片转文字的程序
看着有趣就花了点时间,找相关demo拼凑在一起了. 逻辑是读取图片像素,根据像素RGB值区分深浅,然后再用文字替换,输出成text的文档.最后改变字体到合适的大小. 话不多说,直接贴主代码.为防伸手党 ...
- java编写主类什么意思_Java中什么是类及类的定义
本章节主要介绍java中类的定义及定义所用的关键字 类是 Java 中的一种重要的复合数据类型,也是组成 Java 程序的基本要素,因为所有的 Java 程序都是基于类的.本节介绍如何定义类. 在 J ...
最新文章
- 刘小京 | 与盐碱地和谐共生-关于盐碱地改良利用的思考
- Linux下Makefile的automake生成全攻略--转
- Linux高级文本处理之sed(三)
- template里面要做数据渲染,但是数据还没有出来
- python运行报错_请教大神python运行书上源码报错,请指点,谢谢
- Android 5.0+(RecycleView、CardView、Palette)
- 计算机网络领悟摩尔定,计算机网络等133信息技术展望P15-P17.PPT
- JAVA基础--JAVA语言组成01
- 《计算机系统:核心概念及软硬件实现(原书第4版)》——3.1 无符号二进制表示...
- 【已完美解决】由于找不到MSVCR100.dll,无法继续执行代码。重新安装程序可能会解决此问题。DirectX修复工具下载
- Ubuntu修改源镜像方法(22.04也能用)附带常用源镜像地址
- pycharm 隐藏或显示文件类型
- 《有一种错过叫作遗憾》
- 在Ubuntu 22.04 Jammy Jellyfish Linux上流畅安装VMware tools
- pgsql 使用技巧
- DNS,二级域名泛解析
- python的简单使用_用python简单处理图片
- 无向图、深度优先搜索(无向图)、广度优先搜索(无向图)、无向图路径查找(基于深度优先搜索)
- 二叉排序树的特点以及实现代码
- Chained Predictions Using Convolutional Neural Networks
热门文章
- 像拍电影一样做软件(译者序)原创
- linux服务器配置jdk1.8
- mysql show 翻页_mysql show操作
- [TaskList] 省选前板子补完计划
- LAMP架构mariadb/apache的安装及基本使用
- 3D印花芭蕾舞鞋为舞者科学地保护双脚
- SpringBoot2.0.3 + SpringSecurity5.0.6 + vue 前后端分离认证授权
- (转)用 Maven 部署 war 包到远程 Tomcat 服务器
- C Primer Plus 第9章 函数 9.4 多源代码文件程序的编译
- Oracle索引简单介绍与示例