Henrylgz的Blog

学习,生活,思考,一切都在继续。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

抛棋子游戏(C语言实现)

Posted on 2009-04-17 12:22  追求卓越  阅读(545)  评论(0编辑  收藏  举报

这是一道面试题目,很有意思,于是花了几个小时,将它完成。

 题目:

请应用任何你最熟悉的语言,设计如下程序


在屏幕上画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但一定要是可以运行的程序。 不强求完全做完这个游戏,但是你的实现程度和具体的编码情况会影响你的成绩。


除了用程序实现这个小游戏,如果你有兴趣,请描述如何在这个基本的创意下,让这个游戏变得更有吸引力。

 

代码实现:

/Files/henrylgz/work.rar