package com.rosa.day03;
/**
* 在运行的对象类
*
* @project date_String
* @author 羅沙
* @date 2012-5-14
* @version 1.0
* @copyright: 2012 www.ls.com . All rights reserved.
*/
public class Obj {
private static int count = 0;
Map map = null;
Action action = new Action();
public Obj(Map map) {
this.map = map;
}
public int[][] run(Position position, int colSize, int rowSize) {
while (count < colSize * rowSize-1 ) {
// 如果可以向右走
while (action.isForward(position, map)) {
map.matrix[position.row][position.col] = count + 1;
action.forward(position);
count++;
}
// 如果可以向下走
while (action.isDown(position, map)) {
map.matrix[position.row][position.col] = count + 1;
action.down(position);
count++;
}
// 如果可以向左走
while (action.isBack(position, map)) {
map.matrix[position.row][position.col] = count + 1;
action.back(position);
count++;
}
// 如果可以向上走
while (action.isUp(position, map)) {
map.matrix[position.row][position.col] = count + 1;
action.up(position);
count++;
}
}
// 因为count是累加的,最后一次超值,要单独给值
map.matrix[position.row][position.col] = count + 1;
return map.matrix;
}
}