摘要: Role-Playing Game 简易教程 – 重用 Tile Engine 本文翻译自RPG_Tutorial_2_Engine.doc 文章所提RPG示例可在此下载 简介 这篇教程会告诉你如何在Role-Playing Game (RPG)示例中提取二维贴图及碰撞系统,并将它添加到一个XNA Game Studio创建的全新游戏里。此教程有以下假设: 1) 你将可以使用C#语言轻易写出...
阅读全文
posted @ 2011-12-21 12:38 养狗的老鼠 阅读(450) 评论(0)
编辑
//by 养狗的老鼠
//猜数
//2010.3.11创建 3.12修正小数问题 3.14修正时序逻辑问题 3.16修改未完成 3.28完成16号的修改 但同时发现在输入字母时会死掉
//相对于上一个多调用了一个函数...类还没学到也许用类也可以解决也说不定.学到再改啦
#include < iostream >
#include < cstdlib > //rand(), srand(), 在该头文件里
#include < ctime > //产生格林尼治时间.做srand()的种子
using namespace std;
char q;
long tim = time(0);
double n;//定义要猜的数,在main函数和decide函数中都有用到,故定义为全局变量
double t;//定义t;t就是要产生的随机数
bool flag = false;//控制多次猜数
bool quit = false;
int comeRand();//声明comeRand()函数;
void decide(double a,double b);//声明decide()函数
double main()
{
cout << "随机产生一个1-100的整数 你能猜的到么?(如若输入为小数..小数部分会被截去(^o^)/~)" << endl << "你猜:";
cin >> n;//由输入设备读取一个1-100的数
while ( !quit )
{
while ( !flag ) //while循环与flag共同控制多次猜数
{
n = ( int ) n;//强制类型转换.若n输入为小数.取整
if ( n >=1 && n <= 100 ) //如果输入的数在1-100范围内,则进行判断。如果不在则输出else的,提示用户重新输入
{
t = comeRand();//将产生的随机数赋给参数t;
decide( n,t );
}
else
{
cout << "因感冒引发了发烧.嘿嘿..该数不在范围.请重新输入:";
cin >> n;//所输入的数不在范围,重新输入
}
}
}
return 0;//主函数结束
}
int comeRand()//产生一个随机数
{
int k;
srand ( tim );
k = 1 + rand() % 100;
return k;
}
void decide(double a,double b)//decide函数判断所输入的数与要猜的数的大小关系
{
if ( a > b ) //如果输入的数大于要猜的数,提示过大,重新猜
{
cout << a << "过大" << endl << "再猜:";
cin >> n;
}
if ( a < b ) //如果输入的数小于要猜的数,提示太小,重新猜
{
cout << a << "太小" << endl << "再猜:";
cin >> n;
}
if ( a == b )
{
cout << "太好啦,你猜对啦" << endl;
flag = true;//flag = true !flag = 0 终止while循环
cout << "再来一次? ***(y for YES;n for NO)***" << endl;
cin >> q;
if ( q == 'n' )
quit = true;
else if ( q == 'y' )
{
tim = time(0);
cout << "请猜:";
cin >> n;
flag = false;
}
else
{
cout << "输入有错,运行终止..(太懒啦 不想改了)";
quit = true;
}
}
}
posted @ 2011-08-12 17:18 养狗的老鼠 阅读(12) 评论(0)
编辑