毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++用户猜测藏物位置课程设计代码

更新时间:2011-5-3:  来源:毕业论文

C++用户猜测藏物位置课程设计代码
需求分析:
计算机在10行10列(行号为0到9,列号为0到9)的“棋盘”的某一位置处“藏放一物件”(具体位置通过使用“rand()%10”来随机产生);用户通过输入行列号来“寻找”该物件;若没猜对时计算机要告诉用户与藏放物件的位置有多远(取整后的近似距离)。
程序执行的结果:
 2.3概要设计:

本程设计思路: 随机产生一个x,y坐标在(1,10)范围内的值作为宝物的坐标,每次用户输入坐标与该坐标比较,根据x,y的差值来确定提示方位。


程序流程图(如左图)
 
2.3   详细设计与编码:
见上传程序。
 
2.4  调试分析:

     随机产生坐标要防止随机数前后的关联性,使其更具随机性。

2.5   用户使用说明:

     程序随机产生宝物坐标,用户输入自己猜测的坐标,程序会对此作出判断,并返回一些信息或提示

2.6  设计心得:

首先要理清程序的头绪方可编码,不要到快完成时发现有些东西没考虑到。
#include<iostream>
#include<time.h>
using namespace std;

class vector    //2维向量,用以表示坐标
{
public:
 vector():x(0),y(0) { }
 
 bool operator==(const vector& other) const
 {
  return x==other.x && y==other.y;
 }

 int x;
 int y;
 ~vector() { }
};

class chessboard
{
public:
 chessborad(int x=10,int y=10)
 {
  row=y;
  col=x;
 }
 void reset();      //重置宝物的坐标
 int check(vector& vec) const;    //检测是否是正确坐标
 ~chessboard() { }
private:
 int row;
 int col;
 vector target;
};

void chessboard::reset()
{
 srand(static_cast<unsigned int>(time(NULL)));
 target.x=rand()%10;
 if(!target.x)              //保证x坐标不是0
  target.x=1;
 srand(static_cast<unsigned int>(time(NULL))+rand());
 target.y=rand()%10;
 if(!target.y)   //保证y坐标不是0
  target.y=1;   
 #ifdef _DEBUG
 cout<<"reset ok"<<target.y<<"  "<<target.x<<endl;
 #endif
}

int chessboard::check(vector& vec) const
{
 if(vec==target)
 {
  cout<<"恭喜你,答对了!"<<endl;
  return 0;
 }

 int dx=target.y-vec.x;
 原文请找腾讯752018766六,维-论'文.网http://www.lwfree.cn   cout<<"在你左上!"<<endl;
 else if(dx<0 && dy<0)
  cout<<"在你左下!"<<endl;
 return 1;
}

void main()
{
 chessboard board;
 board.reset();
 vector vec;
 cout<<"现在开始,请依次输入行列号:"<<endl;
 cin>>vec.y>>vec.x;
 while(board.check(vec))
 {
  cin>>vec.y>>vec.x; }1812

C++用户猜测藏物位置课程设计代码下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。