栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于java+swing的贪吃蛇游戏(java+swing)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于java+swing的贪吃蛇游戏(java+swing)

基于java+swing的贪吃蛇游戏(java+swing)
功能简介:
贪吃蛇游戏

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

		this.color = color;
	}
	
	
	public void changeDir(int direction){
		this.direction = direction;
	}
	
	
	 * 此处只负责鱼的角度的变化,不负责鱼的重绘。
	 * 重绘在鱼池中实现。
* 这样的好处:保证鱼的绘制和步伐分开。显示层和逻辑层单独处理。(面向对象的责任问题)。 * @param e 事件对象 */ public void actionPerformed(ActionEvent e) { if(isOpen){ monthsize -= 2; if(monthsize<=0) isOpen = false; }else{ monthsize += 2; if(monthsize>=maxMonth) isOpen = true; } } private void initEye(){ switch (direction) { case 0: eyeposx = posx+size/7; eyeposy = posy+size/2-eyesize; break; case 1:
	public void paint(Graphics g){
		//保存画笔的颜色
		Color c = g.getColor();
		//绘制鱼脸
		g.setColor(color);
		//从(posx,posy)点开始,绘制宽为size,高为size,开始角度为(direction%2==0?(direction+1):(direction-1))*90+monthsize,弧度为360-2*maxMonth的弧形
		g.fillArc(posx, posy, size, size, (direction%2==0?(direction+1):(direction-1))*90+monthsize, 360-2*monthsize);
		//绘制鱼眼
		initEye();
		g.setColor(eyecolor);
		g.fillOval(eyeposx, eyeposy, eyesize, eyesize);
		//恢复画笔颜色
		g.setColor(c);
	}
	
	
	public void move(){
		switch (direction) {
			case 0:
				posy--;
				break;
			case 1:
				posx++;
				break;
			case 2:
				posy++;
				break;
			case 3:
				posx--;
				break;
			default:
				break;
		this.size = size;
		if(direction==1 || direction==2 || direction==3 || direction==4)
			this.direction = direction;
		this.color = color;
		this.speed = speed;
		eyesize = size/7;
		initEye();
		
		time = new Timer(FishPool.reTime,this);
		time.start();
	} 
	
	
	public void move(){
		switch (direction) {
			case 0:
				posy--;
				break;
			case 1:
				posx++;
				break;
			case 2:
				posy++;
				break;
			case 3:
	
	public int size = 50;
	
	public int direction = RIGHT;
	
	private Color color = Color.CYAN;
	
	public int posx = 80;
	
	public int posy = 80;
	
	public int speed = 4;
	
			default:
				break;
		}
	}
	
	
	public void changeColor(Color color){
		this.color = color;
	}
	
	
	public static int randomInt(int a,int b){
		int t,n=0;
		if(a>b)
		{
			t=a;a=b;b=t;
		}
		t=(int)(Math.ceil(Math.log10(b)));//对b向上取整
		while(true)
		{
			n=(int)(Math.random()*Math.pow(10,t));//随机数*10的t次方
			if(n>=a && n<=b)
				break;
		}
		//System.out.println("生成的随机数如下:"+n);
		return n;
	}
	
	
	public BigMouthFish(int posx,int posy,int size,int direction,Color color,int speed) {
		this.posx = posx;
		this.posy = posy;
		this.size = size;
		if(direction==1 || direction==2 || direction==3 || direction==4)
			this.direction = direction;
		this.color = color;
		this.speed = speed;
		eyesize = size/7;
		initEye();
		
		time = new Timer(FishPool.reTime,this);
		time.start();
	} 
	
	private Color color = Color.CYAN;
	
	public int posx = 80;
	
	public int posy = 80;
	
	public int speed = 4;
	
	private int eyesize = size/5;
	
	private int eyeposx = posx+size/2;
	
	private int eyeposy = posy+size/5;
	
	private Color eyecolor = Color.RED;
	
	private int maxMonth = 30;
	
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/826786.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号