S*******C 发帖数: 822 | 1 battleShip game, 一个二维数组,里面有ship,1表示ship,ship可以是垂直的也可以
是横向的,然后有不同type的ship(根据长度不同而不同),写一个方法,判断是否击
中,写第二个方法,判断是击中了,还是Miss了,还是击沉了(全部长度都击中了),
方法参数是x,y 表示二维数组的坐标 |
t**r 发帖数: 3428 | |
d********t 发帖数: 9628 | 3 谁叫你们狂刷题哈哈哈
【在 t**r 的大作中提到】 : 现在面试怎么真么变态
|
S*******C 发帖数: 822 | 4 不刷题更没戏,连ICC都要刷题
【在 d********t 的大作中提到】 : 谁叫你们狂刷题哈哈哈
|
d********t 发帖数: 9628 | 5 那就水涨船高啊
【在 S*******C 的大作中提到】 : 不刷题更没戏,连ICC都要刷题
|
j********l 发帖数: 325 | 6 这题我面微软刚做过,当时我写了出来,面试官还是比较满意。待会写一个,大家评评
【在 S*******C 的大作中提到】 : battleShip game, 一个二维数组,里面有ship,1表示ship,ship可以是垂直的也可以 : 是横向的,然后有不同type的ship(根据长度不同而不同),写一个方法,判断是否击 : 中,写第二个方法,判断是击中了,还是Miss了,还是击沉了(全部长度都击中了), : 方法参数是x,y 表示二维数组的坐标
|
j********l 发帖数: 325 | 7 enum AttackResponse {
HIT, MISS, SUNK, END
}
class Ship {
private List parts;
GameBoard board;
void addPart(Coordination coor) {
parts.add(coor);
}
void removePart(Coordination coor) {
parts.remove(coor);
}
boolean hasSunk() {
return parts == null || parts.size() == 0;
}
}
class Coordination {
private int x;
private int y;
}
class Player {
int id;
GameBoard board;
AttackResponse Attack(GameBoard rivalBoard, Coordination shot) {
if(!rivalBoard.checkCoordinationInfo(shot)) {
return AttackResponse.MISS;
}
else {
Ship hittedShip = rivalBoard.getRelatedShip(shot);
rivalBoard.removeRelation(shot);
if(!rivalBoard.isShipSunk(hittedShip)) {
return AttackResponse.HIT;
}
else if(!rivalBoard.isGameEnd()){
return AttackResponse.SUNK;
}
else {
return AttackResponse.END;
}
}
}
}
class GameBoard {
//List ships;
//boolean[][] hasPart;
private HashMap relations;
private Player player;
boolean checkCoordinationInfo(Coordination coor) {
return relations.containsKey(coor);
}
void removeRelation(Coordination coor) {
relations.remove(coor);
}
Ship getRelatedShip(Coordination coor) throws Exception {
if(relations.containsKey(coor)){
return relations.get(coor);
}
else {
throw new Exception("wrong coordination!");
}
}
boolean isShipSunk(Ship ship) {
return !relations.containsValue(ship);
}
boolean isGameEnd() {
return relations == null || relations.size() == 0;
}
}
跟面试问的比起来,简化了不少 |
S*******C 发帖数: 822 | 8 微软居然可以用JAVA面试?
【在 j********l 的大作中提到】 : enum AttackResponse { : HIT, MISS, SUNK, END : } : class Ship { : private List parts; : GameBoard board; : void addPart(Coordination coor) { : parts.add(coor); : } : void removePart(Coordination coor) {
|
p***0 发帖数: 233 | 9 我怎么感觉这是我大一上cs101的大作业。。
当时就是写一个击沉battleship的游戏。。。用c++ 好怀念~ |
S*******C 发帖数: 822 | 10 能把代码翻出来吗?
有参考答案吗
【在 p***0 的大作中提到】 : 我怎么感觉这是我大一上cs101的大作业。。 : 当时就是写一个击沉battleship的游戏。。。用c++ 好怀念~
|
|
|
s********l 发帖数: 998 | 11 我忍了很久了
一直都想说
你的头像太太可爱了
哪里找的啊?
【在 S*******C 的大作中提到】 : battleShip game, 一个二维数组,里面有ship,1表示ship,ship可以是垂直的也可以 : 是横向的,然后有不同type的ship(根据长度不同而不同),写一个方法,判断是否击 : 中,写第二个方法,判断是击中了,还是Miss了,还是击沉了(全部长度都击中了), : 方法参数是x,y 表示二维数组的坐标
|
S*******C 发帖数: 822 | 12 水木
【在 s********l 的大作中提到】 : 我忍了很久了 : 一直都想说 : 你的头像太太可爱了 : 哪里找的啊?
|
i*****h 发帖数: 1534 | 13 现在好像特别流行问game,各种类别的。。。真变态 |
t********5 发帖数: 522 | |
i*****h 发帖数: 1534 | 15 这是什么?leecode类网站?
晕,老的没搞完又出来个新的。。。逼死人的节奏
【在 t********5 的大作中提到】 : 这是codecademy原题
|
t********5 发帖数: 522 | 16 是个教编程的网站 我在上面已经找不到这个题了
update: 仔细看了一下 lz这个要变态一些 原版的题目船是没有长度的(一个x, y 就表
示一个船)。。。
【在 i*****h 的大作中提到】 : 这是什么?leecode类网站? : 晕,老的没搞完又出来个新的。。。逼死人的节奏
|
h*******0 发帖数: 270 | |