(急救)面试题。。。

风影萧诺 2010-10-13 01:32:34
刚接到一家公司发过来的面试题。。
题如下:

程序设计(程序语言种类不限)
现有一大小为10*10的游戏地图(左上坐标{0,0}),程序开始时,兔子默认出现在{0,2}坐标;
编程控制兔子移动,要求:
1 .兔子位置初始化为{0,2};
2 .提示用户输入数字,用户每次输入一次后,兔子按照规则移动一次。
3 .当用户输入的数字为奇数时,兔子移动3格
4 .当用户输入的数字为偶数时, 兔子移动1格;
5 .兔子逆时针方向绕地图边沿移动;


希望哪位高手给个完整一点的答案。。。。。
...全文
262 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun0322 2010-10-15
  • 打赏
  • 举报
回复
里面也可以写脚本控制。
sun0322 2010-10-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sxzlc 的回复:]

flash
[/Quote]

Macromedia Flash MX 2004
sun0322 2010-10-15
  • 打赏
  • 举报
回复
flash
magong 2010-10-15
  • 打赏
  • 举报
回复
一个SWing的

class MovingRabbit extends JFrame implements KeyListener{
int position; //从0到39循环

int getCol(){
if (position <= 10) return position;
else if (position <= 20) return 10;
else if (position <= 30) return 30-position;
else return 0;
}

int getRow(){
if (position <= 10) return 0;
else if (position <= 20) return position-10;
else if (position <= 30) return 10;
else return 40-position;
}

public MovingRabbit(){
this.setTitle("兔子游戏");
this.setBounds(0, 0, 200+20, 200+40);
this.position = 2; //兔子起始位置
this.addKeyListener(this);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setVisible(true);
}

@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.DARK_GRAY);
g.fillRect(10, 30, 200, 200);
g.setColor(Color.RED);
g.fillOval(getCol()*20+5,
getRow()*20+25,
5,5);
}

public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){
char c = e.getKeyChar();
if (c=='\u001B') System.exit(0);
int num = c - '0';
if (num>=0 && num<=9)
if (num%2==0) position -= 1;
else position -= 3;
if (position<0) position += 40;
this.repaint();
}

public static void main(String[] args){
JFrame f = new MovingRabbit();
}
}
风影萧诺 2010-10-14
  • 打赏
  • 举报
回复
还有给答案的么、、、、、 没有我结贴了。。。
剑鱼 2010-10-13
  • 打赏
  • 举报
回复
#include<stdio.h>
main()
{
int map[10][10];
int x=0;//兔子的初始x坐标
int y=2;//兔子的初始y坐标
int a;//用户输入的数字
int b=0;//0:向左移,1:向下移,2:向右移,3:向上移
int step;//移动格数
printf("请输入一个整数: ");
while(scanf("%d",&a)!=EOF)
{
if(a%2!=0)step=3;//用户输入的是奇数
else step=1;//用户输入的是偶数
while(step!=0)
{
if(b==0)
{
if(y!=0)
{
y--;
step--;
}
else b=1;
}
else if(b==1)
{
if(x!=9)
{
x++;
step--;
}
else b=2;
}
else if(b==2)
{
if(y!=9)
{
y++;
step--;
}
else b=3;
}
else
{
if(x!=0)
{
x--;
step--;
}
else b=0;
}
}
printf("兔子的坐标(%d,%d)\n",x,y);
printf("请输入一个整数: ");
}
}
yjflinchong 2010-10-13
  • 打赏
  • 举报
回复
用js控制吧。 给每个点用一个a标签控制。 默认用一种背景图片。 兔子站在上面用一种图片。 兔子的移动用图片的替换来显示。 坐标的合法性判断就用 x==10||y==10||x==0||y==0 判断。 其他的自己搞定。。
yjflinchong 2010-10-13
  • 打赏
  • 举报
回复
一个算法的问题。 唉。。 总不能要我们在这里打代码吧。
cnmb1 2010-10-13
  • 打赏
  • 举报
回复
下面的接上
a619225471 2010-10-13
  • 打赏
  • 举报
回复
下面的帮下
YangWenChaoX 2010-10-13
  • 打赏
  • 举报
回复
楼下的帮 写写代码....

50,542

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧