请应用任何你最熟悉的语言,设计如下程序
在屏幕上画8  X 8 的一个棋盘(整个棋盘的宽度长度都是100米),一共是64个格子,并请产生64个棋子,我们假设编号是1,2,3, 一直到64, ,每个棋子上面写上自己的编号。 你让用户可以输入3个命令:
1.      布局, 用户输入一个小于65大于10的数字,为了描述,我们用N代替,(比如N = 15), 那么你从64个棋子里面随机的挑选N个棋子,随机的决定他们分别在棋盘上的位置,并在屏幕上显示出来。 
2.      取棋子: 用户输入一个小于65大于0的数字,这个数字代表用户想要的棋子,比如 I, 这儿有两种情况,一种情况是I代表的棋子在棋盘中,另一种情况是不在棋盘中。 
3.      抛棋子: 这个命令把用户选中的棋子(取棋子命令选中的棋子),从一定的高度往下做重力加速度运动,这个高度是由这个选中的其中的编号决定的,公式是
高度 Height = I*(I-1) : 这儿I是棋子的编号, 高度的单位是米
        棋子在这个高度的下落速度是0, 同时我们会有水平的风在吹,我们定义风的速度有三种: 分别是 0.1 米每秒, 0.5 米每秒, 1米每秒。 用户在用这个命令的时候,可以选择具体的风速度,并请定义4种风向,让用户选择。
如果碰到棋盘,那么这个下落的棋子会碰到0到4个棋子, 把碰到的棋子移走,同时自己取代棋子的一个棋子放在棋盘上。
这个无聊的游戏的目标是让用户把棋盘上的棋子全部移走。
 
注意事项: 你可以利用javascript+ html 页面实现,也可以用C/C++, C#, Java, Perl, Lua但一定要是可以运行的程序。 不强求完全做完这个游戏,但是你的实现程度和具体的编码情况会影响你的成绩。
除了用程序实现这个小游戏,如果你有兴趣,请描述如何在这个基本的创意下,让这个游戏变得更有吸引力。

解决方案 »

  1.   

    这个公司 肯定不行 绿绦工作室http://www.lvtaostudio.com
      

  2.   

    想问一下,“那么这个下落的棋子会碰到0到4个棋子”除了0和1可以理解之外,这个棋子怎么碰到2-4个棋子?难道棋子掉到棋盘上还会滑行一段?
    至于其他的还好,毕竟每个棋子的下落距离是一定的,垂直方向上:h=g*(t^2)/2;水平方向上:s=v*t就可以算出下落的具体位置。
    问题是棋盘是100×100,8×8格,所以每格是12.5×12.5大小,棋子下落一定能碰到格子里的棋子吗?好,这个有点钻牛角尖了
      

  3.   

    如果是面试那么分开两种,一是比试。
    其实这就很好应付的,因为比试码,写个伪码就差不多了。从题目上看,1、2都不难,3有点难度,但实际上仔细分析,也就是那个貌似自由落的条件可能能虎虎人。其实不要紧的,高度和风力实际上不就是改变了一下棋子的下落效果(我没从题目上看出还能影响啥),这两个东西封装一个函数,哪怕自己创一个牛顿定律也没有关系的。
    二是机考,如果是机考,我觉得这个题目要全部调通,花上5小时是正常的。另外说一下,这个题目并不适合机考。我们公司在代码鉴定的时候的机考才叫让人崩溃!
    因为它的题目要求做的程序,输入是一个格式化的文本,输出也是一个格式化的文本。
    而评分呢,是约定一定的输入(有多少输入情况我不知道,反正是n多)文本,然后另外一个程序拉起你的程序,运行,最后检查你的输出文本是否和预订的正确结果文本相同?相同则通过,不相同就不通过,最后计算你所有用力的通过百分比就是你的得分!
    崩溃吧,完“全机器阅卷”,全自动化。不要说你的思路什么的,就算输出文本多一个回车,都算不通过。而且输入文本尽会那些什么空啊,格式错误啊,之类的变态非法输入考。看看你的程序健壮性。总之就是变态啊!
    另外,说一个和本题目不相干的,可以上来看看http://www.1000100hui.com/bulletin/biggift.html