C++ 程序设计—宠物小精灵实验报告

D录
1设计任务的描述 2
2运行环境 2
3功能需求说明 2
3.1第一阶段 2
3.2第二阶段 2
3.3第三阶段 2
4具体实现 3
4.1第一阶段 3
4.1.1基类设计 3
4.1.2子类实现 5
4.2第二阶段 5
4.2.1数据结构 5
4.2.2服务器端实现 7
4.2.3客户端实现 9
4.3第三阶段 9
4.3.1数据结构(详见第二阶段 4.2.1) 9
4.3.2服务器端 9
4.3.3客户端实现 10
5使用说明 11
5.1第一阶段 11
5.2第二阶段 14
5.3第三阶段 16
6实验总结 21

2 运行环境
1.系统:kali
2.编程环境:qt5.7
3.数据库:mysql
3.1第一阶段
3 功能需求说明
实现小精灵类的设计,包括小精灵种类,各种属性及攻击方式设计,同时编写测试函数进行是测试。
3.2第二阶段
1.每个用户需要注册一个账号,用户名全局唯一,不能有任何两个用户名相同,要考虑注册失败的场景时的反馈。
2.实现注册、登录、登出功能,均采用 C/S 模式,客户端和服务端用 socket 进行通信,服务端保存所有用户的信息。
3.每个用户拥有:用户名、拥有的精灵,两个属性。用户注册成功时,系统自动随机分发三个 1 级精灵给用户。
4.用户可以查看所有成功注册用户拥有的精灵,也可以查看所有当前在线的用户。
3.3第三阶段
1.实现用户小精灵与系统进行升级赛,升级可获得经验,进而升级。
2.实现用户小精灵与系统进行决斗赛,战胜可获得此精灵,战败则系统从用户的精灵中随机选三个(不够三个精灵的情况就选择他所有的精灵),然后由用户选一个送出。
3.用户如果没有精灵(比如总是失败,已经全部送出去),则系统会随机放给给他一个初级精灵。
4.实现用户可查看某一用户胜率的功能。
5.用户增加新属性:本文转载自http://www.biyezuopin.vip/onews.asp?id=14930宠物个数徽章(金银铜)和高级宠物徽章(金银铜),分别根据拥有的宠物个数的多少和拥有高级宠物(15 级)个数的多少颁发。

4具体实现
4.1第一阶段
4.1.1基类设计
主要数据类型:

enum KIND// 四种类型
{HIGH_ATTACK,HIGH_BLOOD, HIGH_DEFENSE, HIGH_SPEED
};
const QList<QString> POKEMONNAME={ ” F e r a l i g a t r ” , // 大力鳄
” Charizard ” , // 喷火龙
” Noivern ” , // 音波龙
” Bagon” , // 宝贝龙
” Glaceon ” , // 冰伊布” Pikachu ” , // 皮卡丘”Wynaut” , // 小果然”Doduo” , // 嘟嘟
}; // pokemon 名字enum SKILL// 技能
{HydroCannon , // 加农水炮
Cut   ,   //   居合斩Leech Life , // 吸血FocusEnergy , // 聚气Barrier  ,  // 屏障Light Screen , // 光墙Counter , // 双倍奉还Tri Attack , // 三重攻击
NormalAttack , // 普通攻击
};enum QUALIFICATION{ S , SS , SSS
}; // 属性等级class Pokemon : public QObject
{Q_OBJECTpublic :
Pokemon ( ) : l e v e l ( 1 ) , e x p e r i e n c e ( 0 ){}
virtual ~Pokemon (){}virtual uint Attack ( ) { return 0 ; } // 精灵技能
void Experience Up ( uin t value ) ;
virtual void LevelUP (){}QString getName ( ) ; uint g e t Le ve l ( ) ;
QString g e t I n f o r m a t i o n ( ) ;
protected :
QString  name ; // 名字
uint  l e v e l ;   //  等级uint  e x p e r i e n c e ;   //  经验uint  attack ;    // 攻击属性
uint  blood ;   // 生命属性
uint current Blood ; // 实时血量 , 对决时使用
uint  d e f e n s e ;   // 防御属性
uint  speed ;   // 敏捷属性
uint  kind ;    // 种类
uint  a t t r ; // 稀有度
SKILL   s k i l l ; // 技能void s e t Va l u e s ( uint base Attack , uint base Blood , uin t  base Defense , uint base Speed ) ;s i g n a l s :public s l o t s :
};
主要函数:
void Pokemon : : Experience Up ( uin t value ) // 增加经验函数QString Pokemon : : getName ( ) // 小精灵名字的 get 函数uint Pokemon : : g e t Le ve l ( ) // 小精灵等级的 get 函数QString Pokemon : : g e t I n f o r m a t i o n ( ) // 小精灵各种属性的 get 函数void Pokemon : : s e t Va l u e s ( uin t base Attack , ui nt base Blood , ui nt base Defense ,
uint base Speed ) // 小精灵各种属性的 s e t 函数4.1.2子类实现
以 HighAttack 子类为例:
uint HighAttack : : Attack ( ) // 攻击函数
{qsrand ( QTime : : currentTime ( ) . msec ( ) ) ; uint p r o b a b i l i t y=qrand ()% 10 ;
i f ( p r o b a b i l i ty <8) // 普通攻击
return NormalAttack ;
else    //20% 几率使用技能
return this −> s k i l l ;
}void HighAttack : : LevelUP ( ) // 升级函数
{this −>l e v e l ++;this −>a ttack +=100;
this −>b lood +=50;
this −>c urrent Blood=this −>b lood ; // 升级后当前的血量回复满血
this −>d e f e n s e +=50;
this −>s peed +=50;
}




























基于QtGUI的宠物小精灵对战游戏设计相关推荐

  1. 基于QTGUI图像界面的空战游戏设计

    基于图形界面的空战游戏 设计内容设计一个基于图形界面的空战游戏,使用 qt 的 GUI 框架下图为最终的游戏过程截图 设计目标(功能介绍) 加载界面 主窗口可伸缩 提供菜单界面 背景音乐(可切换) 游 ...

  2. 基于python的游戏设计与实现-基于Python的网络中国象棋游戏设计与实现

    基于Python的网络中国象棋游戏设计与实现 摘要中国象棋是一种家喻户晓的棋类游戏,随着互联网时代的到来,人们的娱乐方式也逐渐向PC端和移动端上发展.本文将传统的中国象棋游戏和当下的互联网技术结合作为 ...

  3. 【java毕业设计】基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码)——飞机大战游戏

    基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Eclipse的飞机大战游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  4. 基于android平台的24点游戏设计与实现需求分析,基于Android平台的24点游戏设计与实现需求分析_毕业设计论文.doc...

    基于Android平台的24点游戏设计与实现 摘要 随着移动设备的普及以及移动设备的硬件的提升,移动设备的功能越来越完善,移动设备的系统平台也日渐火热起来.目前国内最常见的移动开发平台有Symbian ...

  5. 基于Java实现的Android拼图游戏设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/85638665 基于Java实现的Android拼图游戏设计 游戏效果 一.Android ...

  6. 【java毕业设计】基于java+swing+GUI的连连看游戏设计与实现(毕业论文+程序源码)——连连看游戏

    基于java+swing+GUI的连连看游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+GUI的连连看游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  7. java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏

    基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的贪吃蛇游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  8. unity基于NetWork的局域网对战游戏制作

    现在的游戏大体分为2种,要么就是单机游戏,要么就是联网游戏.像现在比较火的游戏,比如手机游戏王者荣耀,比如端游LOL,这些都是联网游戏.再比如求生之路系列,鬼泣系列,生化危机系列这些都是单机游戏.但是 ...

  9. 基于Unity3D的体素沙盒游戏设计与实现(上)

    基于Unity3D的体素沙盒游戏设计与实现 摘    要 随着计算机硬件和软件技术的逐步发展,世界游戏开发行业也在日益壮大,涌现出不少优秀的作品,逐渐成为各国文化创意领域一张闪亮的名片.本文以全球知名 ...

  10. java 2048游戏_JAVA2048游戏 本课程设计是基于java语言的2048小游戏设计 联合开发网 - pudn.com...

    JAVA2048游戏 所属分类:游戏 开发工具:Java 文件大小:789KB 下载次数:4 上传日期:2020-11-23 10:57:11 上 传 者:滴滴滴大萌 说明:  本课程设计是基于jav ...

最新文章

  1. 在Ubuntu 16.04.3 LTS上玩转QUIC开源项目proto-quic
  2. winform父窗体实现多个子窗体只能显示一个
  3. java虚拟内存扩展_Java 8虚拟扩展方法
  4. Android系统和内核编译命令
  5. mac 安装 mongo 及基本命令
  6. 腾讯体育php面试题,腾讯php程序员面试题目及答案分享!
  7. FreeFileSync 免费文件同步软件 实时自动备份重要资料
  8. 单片机简易时钟开发(protues)
  9. 万年历php程序含数据库,php之万年历
  10. 巴巴运动网学习笔记(76-80)
  11. 用产品思维设计API(二)——数据解耦,才是前后分离的本质
  12. 泰坦尼克号生还率预测分析
  13. C++ 知识补给(二)
  14. vue开发银行流水查询系统--基于巨杉数据库
  15. 读书笔记——我知道的杨振宁(葛墨林/2022)
  16. fixture 'xxx' not found
  17. 下一代 iPhone 似乎会有长亮屏幕功能,改款 MacBook Pro 更会在年内亮相
  18. python观察者模式
  19. 学IT最重要的东西是什么?
  20. 一念逍遥一直说服务器维护,一念逍遥bug修复 一念逍遥最新更新计划

热门文章

  1. python pillow库画图_Pillow画图
  2. 绝地反击:我的战胜贫困的经历01(转载、整理)
  3. 图解积分法_计算机模拟图解积分法求气相吸收总传质单元数
  4. 计算机辅助翻译 摘要,翻译实践中计算机辅助翻译技术的使用-应用语言学论文-语言学论文.docx...
  5. Java程序员的工资标准是多少
  6. 在什么情况下需要用矿物质防火电
  7. 《彩虹屁》快夸夸我!彩虹屁生成器
  8. 百度地图绘制3D棱柱
  9. 小型企业有必要引进ERP系统?
  10. 思科模拟器的远程连接交换机的实现