java编程例子源码(狐狸与兔子)

java编程例子源码(狐狸与兔子)

ID:39549692

大小:71.50 KB

页数:8页

时间:2019-07-06

java编程例子源码(狐狸与兔子)_第1页
java编程例子源码(狐狸与兔子)_第2页
java编程例子源码(狐狸与兔子)_第3页
java编程例子源码(狐狸与兔子)_第4页
java编程例子源码(狐狸与兔子)_第5页
资源描述:

《java编程例子源码(狐狸与兔子)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、--------------------------------------------animalpackageanimal;importjava.util.ArrayList;importfield.Location;publicabstractclassAnimal{privateintageLimit;privateintbreedableAge;privateintage;privatebooleanisAlive=true;publicAnimal(intageLimit,intbreedableAge)

2、{this.ageLimit=ageLimit;this.breedableAge=breedableAge;}protectedintgetAge(){returnage;}protecteddoublegetAgePercent(){return(double)age/ageLimit;}publicabstractAnimalbreed();publicvoidgrow(){age++;if(age>=ageLimit){die();}}publicvoiddie(){isAlive=false;}public

3、booleanisAlive(){returnisAlive;}publicbooleanisBreedable(){returnage>=breedableAge;}publicLocationmove(Location[]freeAdj){Locationret=null;if(freeAdj.length>0&&Math.random()<0.02){ret=freeAdj[(int)(Math.random()*freeAdj.length)];}returnret;}@OverridepublicStrin

4、gtoString(){return""+age+":"+(isAlive?"live":"dead");}publicAnimalfeed(ArrayListneighbour){returnnull;}protectedvoidlongerLife(intinc){ageLimit+=inc;}}-----------------------------------------------Cellpackagecell;importjava.awt.Graphics;publicinterface

5、Cell{voiddraw(Graphicsg,intx,inty,intsize);}-----------------------------------------------Locationpackagefield;publicclassLocation{privateintrow;privateintcol;publicLocation(introw,intcol){this.row=row;this.col=col;}publicintgetRow(){returnrow;}publicintgetCol

6、(){returncol;}}-----------------------------------------------Foxpackageanimal;importjava.awt.Color;importjava.awt.Graphics;importjava.util.ArrayList;importcell.Cell;publicclassFoxextendsAnimalimplementsCell{publicFox(){super(20,4);}@Overridepublicvoiddraw(Grap

7、hicsg,intx,inty,intsize){intalpha=(int)((1-getAgePercent())*255);g.setColor(newColor(0,0,0,alpha));//(int)((20-getAge())/20.0*255)));g.fillRect(x,y,size,size);}@OverridepublicAnimalbreed(){Animalret=null;if(isBreedable()&&Math.random()<0.05){ret=newFox();}retur

8、nret;}@OverridepublicStringtoString(){return"Fox:"+super.toString();}@OverridepublicAnimalfeed(ArrayListneighbour){Animalret=null;if(Math.random()<0.2){ret=neighbour

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。