N-134基于java实现捕鱼达人游戏

开发工具eclipse,jdk1.8 

文档截图:

 

package com.qd.fish;

import java.awt.Graphics;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.imageio.ImageIO;

public class Fishes {
  
	//定义一个集合来管理鱼
    List<Fish> fishes=new ArrayList<>();
    //定义鱼群的帧数数组
    int[] fishNum={8,8,8,8,8,10,10,12,12,12,12,12};
    //定义不同鱼的宽高数组
    int[][] fishSize={
    		{55,296/8},{78,512/8},{72,448/8},
    		{77,472/8},{107,976/8},{92,1510/10},
    		{178,1870/10},{105,948/12},{174,1512/12},
    		{166,2196/12},{509,3240/12},{516,3276/12}
    };
    //定义一个不同鱼的概率数组
    int[] rate={2,3,4,5,6,7,8,9,10,11,15,20};
    //定义渔场对象
    FishPool fp;
    //定义分值数组
    int[] point={2,3,8,15,20,40,50,60,100,120,150,200};
    
	public Fishes(FishPool fp){
		this.fp=fp;
	    addFish();
		
	}
	public void addFish(){
		try {
			for(int i=1;i<=12;i++){
				Fish fish=new Fish(
						ImageIO.read(
								new File("images/fish"+i+".png")),
			            fishNum[i-1],
			            fishSize[i-1][0],
			            fishSize[i-1][1],
			            rate[i-1],point[i-1]
			         );
						fishes.add(fish);
			}
		} catch (Exception e) {
			
		}
	}
	
	public void move(){
		for(int i=0;i<fishes.size();i++){
			fishes.get(i).move();
			
		}
	}
	public void draw(Graphics g){
		for(int i=0;i<fishes.size();i++){
			Fish fish=fishes.get(i);
			fish.draw(g);
			//判断被捕捉并且已播放完被捕捉动画,删除
			if(fish.isCatch&&
					fish.frameIndex>=fish.num){
				fishes.remove(fish);
				//创建金币
				Money money=new Money(
						fish.x, fish.y, fp);
				fp.moneys.add(money);
				//加分
				fp.point=fp.point+fish.point;
				//如果渔场中的鱼少于5条,再次初始化鱼群
				if(fishes.size()<5){
					addFish();
				}
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT教程资源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值