学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

[求助]想编一个醉汉走路程序!

没看明白
Nothing is impossible

TOP

    继续关注!向高人学习啊。

TOP

以下是引用wangmingqun在2007-11-6 10:03:56的发言:
继续关注!向高人学习啊。

TOP

有没有具体点的

TOP

[em32]

TOP

回复:(hzwnk)[求助]想编一个醉汉走路程序!

不懂那个语言啊,唉

TOP

随便写了一个垃圾的, 你参考看考
import java.math.BigDecimal;

class DrinkedWalker {
static void walk(int[][] road) {
int x = 0, y = 0;

for (int i = 0; i < 1000; i++) {
double randomNum = Math.random();

BigDecimal b = new BigDecimal(randomNum);
float roundNum = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
String strDirect = Long.toString(Math.round(roundNum / 0.25));
int direction = Integer.parseInt(strDirect);

int tmpX = x, tmpY = y;
switch(direction) {
case 0:
case 1:
x = x - 1;
break;
case 2:
y = y + 1;
break;
case 3:
x = x + 1;
break;
default:
y = y - 1;
}

if (x >= 0 && y >= 0 && road[x][y] != 1) {
road[x][y] = 1;
} else {
System.out.println("Stop at x=" + tmpX + "; y=" + tmpY);
return;
}
}

System.out.println("Stop at x=" + x + "; y=" + y);
return;
}

public static void main(String[] args) {
int[][] road = new int[100][100];

for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
road[i][j] = 0;
}
}

walk(road);
}

}

TOP

学习学习

TOP

似乎看不怎么明白~~~

TOP

以下是引用tommi在2007-11-6 16:55:40的发言:

随便写了一个垃圾的, 你参考看考
import java.math.BigDecimal;

class DrinkedWalker {
static void walk(int[][] road) {
int x = 0, y = 0;

for (int i = 0; i < 1000; i++) {
double randomNum = Math.random();

BigDecimal b = new BigDecimal(randomNum);
float roundNum = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
String strDirect = Long.toString(Math.round(roundNum / 0.25));
int direction = Integer.parseInt(strDirect);

int tmpX = x, tmpY = y;
switch(direction) {
case 0:
case 1:
x = x - 1;
break;
case 2:
y = y + 1;
break;
case 3:
x = x + 1;
break;
default:
y = y - 1;
}

if (x >= 0 && y >= 0 && road[x][y] != 1) {
road[x][y] = 1;
} else {
System.out.println("Stop at x=" + tmpX + "; y=" + tmpY);
return;
}
}

System.out.println("Stop at x=" + x + "; y=" + y);
return;
}

public static void main(String[] args) {
int[][] road = new int[100][100];

for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
road[i][j] = 0;
}
}

walk(road);
}

}

请问高手用那种语言编的?Java?大概能看懂,只是有些命令语句没见过。

TOP

发新话题