用C语言编写一个“吃草的兔子”的游戏程序代码

【问题描述】
用 C 语言编写一个简单的“吃草的兔子”游戏程序。一只兔子在草地上一边吃草一边逃跑,吃一棵草,得1分,狼追逐兔子,狼追到兔子,则狼获胜,一盘游戏结束;若兔子吃完草地上的草,则兔子获胜,一盘游戏结束。游戏可以玩多盘。
动态显示兔子的得分,和兔子胜利、失败的盘数。
【基本功能要求】
游戏界面如图所示。

一、界面
界面分为三个区域:游戏区、控制区和信息显示区。
游戏区是一个充满方格的矩形区域,随机分布着草(用“/”表示),草的数量和位置是随机产生的,每次产生的草的数量应在方格数的1/4~1/2之间。游戏开始时,兔子(用红色的圆表示)在中央,狼(用蓝色的矩形表示)在区域的一角。(注意:每次游戏开始时,草的数量和位置应有所不同)。
控制区有“开始”、“暂停”、“结束”、“退出”等按钮,扩展功能所需的按钮和同学自己添加功能的按钮也在此区域。
信息显示区显示游戏的状态信息,例如用户名、本盘游戏所得分数、本盘所剩的时间、兔子胜利的盘数和失败的盘数等等。
二、具体要求
1、用户名
程序运行时先输入用户名,再显示游戏界面,并把用户名显示在信息显示区中。
2、控制区按钮(按键功能不是必须的)
鼠标单击“开始”按钮(或按下回车键),本盘游戏开始,狼开始追逐兔子,狼每隔一定时间(例如0.3秒)向兔子的位置纵向或横向移动一格,兔子在游戏玩家的操纵下逃跑。
单击“暂停”按钮(或按下空格键),游戏暂停,保持当前状态,再单击“暂停”按钮或按下空格键,游戏继续。
单击“结束”按钮(或按下F1键),本盘游戏结束,但不结束程序,若再按“开始”按钮,还可开始下一盘游戏。
单击“退出”按钮(或按下Esc键),结束整个程序。
3、兔子的移动
按上、下、左、右箭头键,可使兔子在相应的方向上移动一格,兔子移到有草的方格,则方格中的草被兔子吃掉,加1分。
4、胜负判定
若兔子被狼抓到(撞上),则狼胜利,本盘游戏停止。如果草被兔子吃完,狼仍未抓到兔子,则兔子胜利,本盘游戏停止。不管游戏以何种方式停止,都可再单击“开始”按钮重新开始下一盘游戏。
5、计分
游戏开始后,在信息显示区动态显示本盘游戏兔子的得分,一盘游戏结束时,不论谁获胜,都把兔子的当前得分累加到该用户的总分之中;如果本盘游戏狼胜,则还要从本用户的总分中减去20分。
6、统计胜负情况
在信息显示区显示兔子的胜负盘数和用户的总得分。

尝试写了其中核心代码。楼主看看

if (s == null) return -1;
if (pattern == null) return -1;
if (s.Length == 0) return -1;
if (pattern.Length == 0) return -1;
if ((offset < s.GetLowerBound(0)) || (offset > s.GetUpperBound(0))) return -1;
if ((s.Length - offset) < pattern.Length) return -1;

int slen = s.Length;
int plen = pattern.Length;

int sbound = s.GetLowerBound(0);
int pbound = pattern.GetLowerBound(0);
for (int i = 0; i <= slen - plen - offset; i++)
{
int j;
for (j = 0; j < plen; j++)
{
if (s[sbound + i + j + offset] != pattern[pbound + j]) break;
}
if (j == plen)
{

}
}
return -1;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-19
你这个程序竟然只给100分……
相似回答