Java & Robocup Rescue(1)
来源:互联网 发布:天津大学软件学院地址 编辑:程序博客网 时间:2024/06/04 01:38
看了两周的Java 核心技术 卷一 是时候将所看所学内化整合一番,本文将结合RoboCop rescue中的一些内容对我这断时间的学习做个小小小小结。
本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
- 继承
- 接口
- 泛型
- 简单的继承
- 接口
- 题外话 五子棋和贪吃蛇的判断代码
- 泛型
简单的继承
``` Javainheritance/Student.javapackage inheritance;import java.util.*;//超类为所有学生public class Student { //超类中含有三个实例private String name;private int grade;private int rank;public Student (String name, int grade, int rank){ this.name = name; this.grade = grade; this.rank = rank;}public String getname(){ return name;}public int getgrade(){ return grade;}public int get rank(){ return rank;}public String toString(){ return getClass.getName() + "[name="+name+",grade="+grade+"rank="+rank+"]";}}package inheritance;//由超类继承而来的子类 middleStupublic class middleStu extends Student {private boolean IsthreeGood;//定义一个超类中没有的实例域public middleStu (String name, int rank, int grade){//用super关键字调用超类的构造函数 super (name, grade, rank); IsthreeGood = false;}public void set ThreeGood(){ IsthreeGood = true;} public String toString(){ return super.toString()+"[ThreeGood?:"+IsthreeGood+"]";}}
接口
//示例为贪吃蛇的部分代码//一个实现了Runnable接口的PaintThread类private class PaintThread implements Runnable{ private boolean running = true;
在Runnable接口中有一个方法 run 需要在类中具体实现
public void run() { while(running) { repaint(); try{ Thread.sleep(100); }catch(InterruptedException e){ e.printStackTrace(); } } } public void gameOver() { running = false; } }
题外话 五子棋和贪吃蛇的判断代码
int continueCount=1;//连续棋子的个数 for(int x=xIndex-1;x>=0;x--){//横向向左寻找 Color c=isBack ? Color.black : Color.white; if(getChess(x,yIndex,c)!=null){ continueCount++; }else break; } //横向向右寻找 Color c=isBack ? Color.black : Color.white; if(getChess(x,yIndex,c)!=null){ continueCount++; }else break; } if(continueCount>=5){ //判断记录数大于等于五,即表示此方获胜 return true; }else continueCount=1; //左右方向找完后必须将计数器归零
上下方向,两个对角方向的算法与上类似不再赘述
运动时随键盘敲入 转向
public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); switch(key) { case KeyEvent.VK_LEFT : // 当按键为左的时候,只要前进方向不是右,即可转向 if(head.dir != Dir.R) head.dir = Dir.L; break; ... ... }
连续运动
private void move() { addToHead(); //头部增加一个结点 deleteFromTail();//尾部同时释放一个结点以达到前进的效果 checkDead();}
泛型
Java中的泛型可以同C++中的template模板相类比
可以有 泛型类, 泛型方法
Public class Pair <T>{ private T first; private T second; public Pair(){ first = null;second = null;} ...}
之后我们可以定义String类型的Pair
class Test{ public static Pair<String> getmin(String[] a) {...}
通过对类型变量T设置限定,可以将T限制为实现某个接口
如:
public static <T extends Comparable> T min(T[]a)//T实现了Comparable 接口{ ...}
阅读全文
0 0
- Java & Robocup Rescue(1)
- RoboCup Rescue Simulator Tutorial core
- 新的征程——《robocup rescue》
- RoboCup
- hdu 1242 Rescue<java>
- robocup小结
- robocup小结
- robocup 搭建
- Rescue
- Rescue
- Rescue
- Rescue
- Rescue
- Rescue
- Rescue
- Rescue
- Rescue
- Rescue
- List升降排序
- 【设计模式学习笔记】原型模式
- CTS测试框架 -- 开篇
- Centos 7.x 系统安装完毕修改网卡名为eth0
- ffmpeg中音视频同步浅析
- Java & Robocup Rescue(1)
- 《重构-改善既有代码的设计》读后总结
- 转载:Spring Boot (八):RabbitMQ详解
- 设置应用内字体大小不跟随系统字体大小
- 355. Design Twitter
- 一步步构建大型网站架构
- Nginx源码剖析--ngx_http_optimize_servers函数分析
- 转载:Spring Boot (九):定时任务
- 概率论与数理统计笔记 第一章 概率论的基本概念