C++程序设计课程主页-2012级

2012级C++教学 同时被 2 个专栏收录
187 篇文章 2 订阅
452 篇文章 464 订阅

本课2014级的方案更完整,视频更清晰,请有需求的人士,请移步到---->2014C++

看贺老师的所有课程的教学资源,就到----->贺利坚教学链接


这门课的主人

  教师:贺利坚——为同学设计学习任务的人,为全班学习把握节奏的人,谁不往前走踢谁屁股的人。常混迹CSDN博客新浪博客,也可以上人人网加我好友,我的《IT学子成长指导》博客专栏,或许有些观点能够对你有用。

  学生——计124-3.4班56名同学,一群渴望有美好未来的同学,可能会吃点苦头,但不管是否愿意,将和贺老师一起享受这一年快乐的学习之旅的同学们。对了,他们还是帮助贺老师实现“大一的孩子会编程”梦想的人,关注他们,为他们加油、解惑、喝彩。

  这56名同学是:

  杨腾飞  王 磊  黄兆宽  李全港  刘明亮  王 飞  庄子豪

  徐汉玉  田 宇  杨绍宁  张 浩  刘清远  徐本锡  李 蒙

  尹成真  石晓涛  孙培培  王 静  刘 杰  隋 鑫  李慧慧

  王 俊  董 慧  赵晓晨  谷志恒  李一丹  田 凤  赵 兰

  纪子龙  王 鼎  张中华  徐凯旋  邱学伟  荆世琛  王立强

  孙 永  董万鹏  樊露露  李 洋  杨 晨  王昕彤  刘元龙

  赵 洋  赵冠哲  王锴英  杨 蕾  袁 静  李巧丽  孙红蕾

  王筱菀  胡 颖  王心垚  刘卫丽  耿 娜  刘玉金  王 蕾  + 李 果

  结课了,他们一年的表现,见统计数据:2012级学生C++程序设计课程发表博文情况统计。对比2011级数据(2011级用了半年新浪博客后才搬到CSDN),见我的学生在CSDN上发表博文情况统计

课程内容 

上大学了,要读些书,推荐:给计算机专业的大一新生准备的阅读链接

共享:我的大学——为20岁的大学生讲我20多年前20岁的故事,我的大学经历,可以为同学们提供一些启示。

讲课视频全集:链接

2012-2013学年第2学期:

 第7章  自定义类型   PPT   讲课视频:1 - 2 - 3 - 4(杯具:3 4 录制失败)

  (第1周)上机1 - 温故知新:上机内容

       参考解答:项目2-日期结构体  项目3-结构体数组处理学生成绩

  (第2周)上机2 - 结构体应用:上机内容

       参考解答:项目1-有序的结构体数组 项目2-读取数据到结构体数组 项目3-用结构体数组作计算 项目4-动态链表初试 

            项目6-点结构体与枚举 项目5-玩日期-在编程练习中学会设计和使用测试程序

 第8章 类和对象      PPT  讲课视频:1 - 2 - 3 - 4(又一次录制失败,应该是使用前的一个提示没有认真对待,求后续不再出问题)

  (第3周)上机1 - 第一次见对象 上机内容

       参考解答:项目2——修旱冰场的类 项目3——时间类 项目4——长方柱类 

  (第4周)上机2 - 和对象进一步相处 上机内容

       参考解答:项目1 - 三角形类 项目2 - 三角形类2 项目3 - 多文件组织程序 项目4 - 正整数类
            项目5 - 数组作数据成员  扩展1:动态开辟空间  扩展2、3:引入文件


 第9章 关于类和对象的进一步讨论  PPT    讲课视频:1 - 2 - 3 - 4 - 5 - 6

  (第5周)上机1 - 用构造函数初始化 上机内容

       参考解答:项目1 - 设计三角形类  项目2 - 分数类  项目3 - 长方柱类  项目4 - 指针操作学生类

  (第6周)上机2 - const用法与指针数据成员 上机内容

       参考解答: 项目1 - 改错  项目2 - 程序填空   项目3 - 平面坐标点类   项目4 - 用点类做成员的三角形类 
             项目5 - 多文件组织三角形类   项目6 - 有指针成员的工资类 

  (第7周)上机3 - 静态成员、友元、类模板  上机内容

       参考解答:项目1 - 静态成员应用于时间类 项目2 - 成员函数、友元函数和一般函数之区别 项目3 - 友元类 

            项目4 - 复数模板类 项目5 - 模板类中使用友元函数


 第10章 运算符重载     PPT     讲课视频: 1 -  2 - 3 - 4 

  (第8周)上机1 -运算符的重载  上机内容

       参考解答:项目1 - 实现复数类中的运算符重载  项目2 -Time类中的运算符重载  项目3 - 分数类中的运算符重载  
            项目4 -分数类和整型数的四则运算   项目5 - 扩充String类         【C++程序设计课期中师生交互

  (第9周)上机 - 运算符的重载之二 上机内容

       参考解答:项目1 - 实现复数类中的运算符重载  项目2 - 实现时间类中的运算符重载 项目3 - 实现分数类中的运算符重载
            项目4 - 一元一次方程类  项目5 - -二维数组类Douary 

 第11章 继承与派生  PPT    讲课视频:1 - 2 - 3 - 4 

  (第11周)上机1 - 继承与派生初步  上机内容

       参考解答:项目1、2 - 点类派生出直线类  项目3 - CEmployee类继承自CPerson类  项目4 - 点类、圆类、圆柱类

  (第13周)上机2 - 继承与派生(二) 上机内容

       参考解答:项目2 - 多重继承教师类和干部类  项目3 - 车辆类多重继承中使用虚基类  项目4 - 多重继承出日期时间类  项目5 - 类的组合与继承


 第12章 多态性与虚函数    PPT    讲课视频:1 - 2 

  (第14周)上机1 - 多态性和虚函数  上机内容

       参考解答:项目1 - 动物怎么叫  项目2 - 形状类族的中的纯虚函数  项目3 -立体类族共有的抽象类 

  (第15周)上机2-综合提高  上机内容

       参考解答:项目1 -数组类  项目1扩展1 -数组类  项目2 -链表类  项目3 -约瑟夫环

 第13章 输入输出流     PPT    讲课视频:1 - 2 - 3 

  (第16周)上机1 - 输入输出与ASCII文件操作 上机内容

       参考解答:项目1 -旧题再做涨工资  项目2 -挂科的不进新名单  项目3 -电子词典
            项目4 -处理C++源代码 -(1)有没有main函数?     (2)花括号单独占一行    (3)自动加注释

  (第17周)上机2 - 二进制文件读写及大结局 上机内容

       参考解答:项目1 - 二进制文件读写及大结局   补充:C++程序显示二进制文件“内容”

 第14章 C++工具  PPT

       (全课完)




2012-2013学年第1学期:   

 前言 关于本课 PPT       讲课视频:12

  (第 5周)上机1:第五周上机指导(包括上机前准备工作及上机任务)

       上机2:节前“玩一玩”(过节中有时间也点一点啦)

 第1章   C++的初步知识  PPT     讲课视频:12     

  (第 7周)上机1:任务内容及参考解答 参考解答:项目1:两数正差值  项目2:4个整数中的最大值 项目3:星号图 详解 全解

 第2章  数据类型和表达式  PPT     讲课视频:12 - 3 - 4  - 5  (5是在第3章4之后再讲的)

  (第 8周)上机1:任务内容  项目2-5参考解答:链接 项目2的详解视频

 第3章  程序设计初步  PPT     讲课视频:12  - 3 - 4  - 5 - 6 - 7 (按教材5、6、7的内容更靠前,这样安体现让学生提前体验的原则)

  (第 9周)上机1-分支结构程序设计:任务内容  

       参考解答:项目1-分段函数求值  项目2-个人所得税计算器  项目3参考-利息计算器 

            项目4-本月有几天?     项目5-求一元二次方程的根       趣味题-构造“菜单”

  (第10周)上机2-循环结构程序设计:任务内容 

        参考解答:项目1- 利用循环求和 项目1扩展 - 求和 项目2 - 分数的累加 项目2扩展之2 - 迭代求和 

            项目3 - 乘法口诀表 项目3扩展 - 英尺到米的转换表

            项目4 - 完数  项目5 - 贪财的富翁 项目5扩展 - 在北京买房 项目6 - 打豆豆

  (第11周)上机3-控制结构综合:任务内容

       参考解答:项目2(1)百钱百鸡 (2)换分币 (3)年龄几何 (4)—三色球 (5)委派任务 

               (6)谁是小偷? (7)都要学C (8)软件比拼 (9)污损的数字 

            项目三(1)判断素数  (2)千以内的素数  (3)回文数数 (4)万以内回文5)万以内回文素数 

               (6)万以内可逆素数 (7)n与9n反序 (8)阿姆斯特朗数   (9)亲密数   (10)回文日 

            项目4——大奖赛计分 项目5——体验文件操作 

 第4章  函数  PPT     讲课视频:12 - 3 - 4 - 5 - 6 - 7   

  (第12周)上机1-函数初体验:任务内容

       参考解答:项目1——重温星号图  项目2——分段函数  项目3——四数的最大公约数 项目4——用函数解决素数、回文数等

            项目5——特殊三位数  项目5扩展——求组合数  项目6——太乐了! 项目6扩展——三角函数表
  (第13周)上机2-递归函数,函数进阶:任务内容    【教学调查反馈 new!】

        参考解答:项目1——Fibnacci序列  项目2——进制转换  项目2扩展——最大公约数  项目3——汉诺塔  项目4——多文件组织回文、素数

            项目5——银行系统(v0.1) 用函数组织(v0.2) 支持多用户(v0.3) 多文件组织(v0.31) 多文件组织+包含文件(v0.32)

  第5章  数组   PPT     讲课视频:1-2(忘录了) - 3 - 4 - 5 - 6 
  (第14周)上机1-:任务内容     编程基本功训练:流程图画法及练习
       参考解答:项目1——数组大折腾 项目2——成绩处理 项目3——成绩处理第二季 项目4——数组的排序 项目5——涨工资了 

            项目6——银行系统,真正多用户 项目6——银行系统,用文件永久存储

  (第15周)上机2-:任务内容

       参考解答:项目1——折腾二维数组 项目2——杨辉三角 项目3——带姓名的成绩单 项目4——多科成绩单 项目4扩展——带姓名的多科成绩单

            项目5——-电子词典 项目6——存储棋盘     

  第6章   指针  PPT   讲课视频:1 - 2 - 3 - 4 - 5 - 6

  (第16周)上机-1:任务内容(含字符数组+指针两部分)(感言:本周量少了,一则内容要求在细处;二则面临期末,少做一些缓和下紧张情绪也罢。)

       参考解答:项目1(1)统计字符串/字符数组 (2)复制字符串/字符数组 项目2——带姓名的成绩单(字符数组版) 

            项目4——指来指去 周项目5——填空学指针

  (第17周)上机2-:任务内容

       参考解答:项目1——体会函数参数传递

            项目2——用指针玩字符串(1)连接 (2)删除字符 (3)求字符串长度 (4)统计单词数

                        (5)去前导空格 (6)去多余空格 (7)比较 

            项目3——有相同数字? 项目4——奇数因子 项目5——数组排序指针版 项目6——指针版多科成绩计算

            项目7——用程序玩文件(1)统计单词数 (2)去多余空格

  (第18周)总结 拓展实践 参考代码:利用数组,实现回文数的判断  第2次测验 二维数组行和列和 求第2大值

       去年写的文章《写给计114-34的同学——IT雏鸟即将起飞》,也献给2012级的同学。

实践指导

  不会申请博客?见《如何申请CSDN博客?》,按提示一步步操作。

  同学们在利用博客提交上机报告时,可以参考模板《第一个C++上机报告(示例)》,发布合格的报告,见视频《发布第一个C++上机报告》。

  借助未来IT工程师协会周末的活动,讲了《写CSDN博文方法及可能意外的处理》,也可以看《写给菜鸟:发CSDN博文常见问题处理》,免除乱七八糟的博文再回来的闹心。




这门课的历史

  过去的一年,贺老师和2011级计114-3.4两个班的同学,有过一段令人难忘的学习经历。总结见《这一年,与84个写代码的菜鸟相伴而行》;当初的大一菜鸟学习c++后的精彩总结,见《C++课上的作文题》;学生如何看待这段经历,见《C++课程教学改革问卷调查报告》;一年的学习,有了《我的学生在CSDN上发表博文情况统计》,他们历程,尽在《烟台大学 计114-3.4 班学生的博客地址》。

  参考2011级的教学材料请点击《C++程序设计教学材料-2011级》。需要提醒的是,2012级的教学将会有不少改变,随着课程进展,本文中的链接会记录下所有。


C++精品课链接

浙江工业大学 C++程序设计 http://cjj.jpkc.cc/
杭州电子科技大学 C++程序设计 http://itsoftjpkc.hziee.edu.cn/jpkc/cpp/default.asp



实验参考

  1.C++课程上机实验常见错误汇集 

  2.C++常见错误小集  

  3.C++名词解释及常见错误

  4. C/C++函数集速查

   5. VC调试功能初步

  6.VC++窗口程序设计启蒙

观点交流

  1. 说下我对C语言的一些看法 ——烟大CSDN俱乐部前主席的看法

  2. 奖学金感想——站在十字路口的选择 ——大一,大二……

  3.关于《学编程,还有必要上大学吗? 》

  4. 如何成为一个编程高手

  

资源

  1. 微软公司VC++开发中心,提供了大量适合初学者的资源,以及VC++开发的指南

  2. MSDN上的 Visual C++ 指导教程,按案例指导,掌握VC++项目开发(MSDN 库为使用 Microsoft® 工具、产品、技术和服务的开发人员提供必不可少的信息资源。)

  3. CSDN, 全球最大中文IT社区,能找到大量的高手和有价值的资料

  4. POJ 是“北京大学程序在线评测系统”(Peking University Online Judge)的缩写,是个提供编程题目的网站,兼容Pascal、C、C++、Java、Fortran、Python等多种语言。有大量的练习机会。

  5. 刘未鹏|C++的罗浮宫

  6. The Archive of Interesting Code 不少好代码

  7. learn-with-open-source 非常好的一个文档。禄学编程者可以看其中学习建议,编程有基础想更深入的追随进入开源世界,那可是一个宝库。



  • 7
    点赞
  • 44
    评论
  • 21
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
课程设计题目:模拟即时通信系统实现 一、题目描述 基于社交的即时通信是腾*公司的主要业务,先后有QQ、微信、微博等服务,可能还将继续推出微商、微唱、微走、微笑等产品。这些软件既可以独立提供服务,又互相辉映关联。腾*公司希望对各系统进行整合形成统一的立体社交软件平台。现请完成该平台的设计并实现。要求如下: 1、用户基本信息: 号码ID,昵称,出生时间,T龄(号码申请时间)、所在地、好友列表、群列表。 微博与QQ共享ID,微信采用独立ID,但是可以与QQ号码绑定对应。其他微X产品也分为这两种情况。 2、好友管理 (1)实现各功能好友信息的添加、修改、删除、查询的功能。 (2)可以查询微X之间各自共同好友。如微信可以添加QQ推荐好友。 3、群管理 (1)设定每个微X功能已有1001、1002、1003、1004、1005、1006等群号。 (2)加入群、退出群、挨T、查询群成员等。 (3)不同微X之间群的理念不同,比如:QQ群可以申请加入,而微信群则只能推荐加入;QQ群允许设置临时讨论组(子群),微信群则不允许;QQ群有以群主为核心的管理员制度而微信群仅有群主为特权账号。 4、开通管理 用户可以选择自己开通该平台的N个微X服务。 5、登录管理 各微X之间只要有一个服务登录,则其它服务简单确认后视为自动登录。 6、功能展示要求(main函数) (1)设计约定。开通服务情况、群成员信息和好友信息可以预先保存到文件中,在系统启动时将这些信息加载到内存中; (2)一个服务登录后,本人开通的其它所有服务均进入开通状态。 (3)服务之间可以依据本人开通的任意另外一个服务的好友添加好友。 (4)展示一个服务当前群的特色功能;在群成员数据不受伤害的前提下,动态变换为其他类型群的管理特色。 (5)实现QQ的点对点的TCP通信的收发功能。(选做)提示: a)需要加载ws2_32.lib静态库,打开头文件winsock.h。 b)百度IP地址、端口等概念; c)百度socket编程,关注bind、listen、accept、connect、send、receive等函数用法。
2018年软件学院C++课程设计 课程设计目的: 1、熟悉利用面向对象的方法以及C++的编程思想来完成系统的设计; 2、锻炼学生在设计的过程中,建立清晰的类层次,应用继承和多态等面向对象的编程思想; 3、通过本课程设计,加深对面向对象程序设计课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,深刻体会面向对象的编程思想,掌握使用面向对象程序设计语言C++,学会编写结构清晰、风格良好的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 课程设计题目:模拟即时通信系统实现 一、题目描述 基于社交的即时通信是腾*公司的主要业务,先后有QQ、微信、微博等服务,可能还将继续推出微商、微唱、微走、微笑等产品。这些软件既可以独立提供服务,又互相辉映关联。腾*公司希望对各系统进行整合形成统一的立体社交软件平台。现请完成该平台的设计并实现。要求如下: 1、用户基本信息: 号码ID,昵称,出生时间,T龄(号码申请时间)、所在地、好友列表、群列表。 微博与QQ共享ID,微信采用独立ID,但是可以与QQ号码绑定对应。其他微X产品也分为这两种情况。 2、好友管理 (1)实现各功能好友信息的添加、修改、删除、查询的功能。 (2)可以查询微X 之间各自共同好友。如微信可以添加QQ推荐好友。 3、群管理 (1)设定每个微X功能已有1001、1002、1003、1004、1005、1006等群号。 (2)加入群、退出群、挨T、查询群成员等。 (3)不同微X之间群的理念不同,比如:QQ群可以申请加入,而微信群则只能推荐加入;QQ群允许设置临时讨论组(子群),微信群则不允许;QQ群有以群主为核心的管理员制度,而微信群仅有群主为特权账号。 4、开通管理 用户可以选择自己开通该平台的N个微X服务。 5、登录管理 各微X之间只要有一个服务登录,则其它服务简单确认后视为自动登录。 6、功能展示要求(main函数) (1)设计约定。开通服务情况、群成员信息和好友信息可以预先保存到文件中,在系统启动时将这些信息加载到内存中; (2)一个服务登录后,本人开通的其它所有服务均进入开通状态。 (3)服务之间可以依据本人开通的任意另外一个服务的好友添加好友。 (4)展示一个服务当前群的特色功能;在群成员数据不受伤害的前提下,动态变换为其他类型群的管理特色。 (5)实现QQ的点对点的TCP通信的收发功能。(选做)提示: a)需要加载ws2_32.lib静态库,打开头文件winsock.h。 b)百度IP地址、端口等概念; c)百度socket编程,关注bind、listen、accept、connect、send、receive等函数用法。 二、技术层次要求及说明 1、基本层次。 完成上述功能要求,所采用技术不限,比如采用纯面向过程思想实现; 2、支持对象层次。 正确完成了类的切割,利用对象技术实现。 (1)容器类主要包括:例如,微X成员管理。 (2)其它主要类包括:例如,微X信息、群信息、好友信息。 3、抽象、封装层次 采用了继承或者组合实现复用,对数据成员提供了必要的接口保护; (1)抽象出了基础类,并被其它功能复用; (2)如好友维护、群信息维护等操作均应该提供接口形式; 4、面向对象层次 支持多态功能,支持依据设计原则的优化。 好友管理、群管理等; 5、优化提高层次 (1)提供简便菜单,以1、2等数字区分几类功能,并允许返回菜单; (2)I/O操作支持。基本功能中,已有设定信息,在初始化时候可以固化在程序代码中,也可以存放在文件中,每次容器实例化时读入,析构时写回文件中,以实现断电保存。 (3)可扩展性支持,需要考虑群、好友等与主要服务之间的关系; (4)灵活性支持。群的管理模式动态可变; (5)程序有必要的注释; (6)可以采用UML工具画出简单类图 (7)为防止不诚信行为,要求类的设计均以独立文件存在,且所有的类名称后面应有自己的姓名缩写,如张三设计的QQ信息类名称:TencentZhS。 三、设计步骤(参考 ): 在清楚上述系统功能要处理是什么的基础上,考虑用如下方式来设计 1、确定所需的类及其相互间的关系。 (1)要从问题中归纳出一个概念或实体,从这些概念或实体出发建立相应的类。 (2)尽量使类小而简单,以使其看起来容易理解。 (3)充分利用封装以增加类的可靠性,以便使用时保证更加可靠。 (4)通过继承建立类族,以方便使用多态性。 2、确定每个类的实现。 (1)考虑类的对象应该如何构造和析构。 (2)考虑类的成员函数的建立。 (3)综合考虑各个类在命名和功能方面有哪些共性。 3、细化有关的类,描述他们之间的相互关系,即类关系和对象关系。 4、描述本系统的界面,通过分别定义成员的不同属性,为抽象和实现提供分离的接口。 四、设计工具 1、
作业04 行为型+其它(以step0_src中代码为基础) 1. 将玩家改为只有两个Player,一个HumanPlayer,一个AutoPlayer。初始时,各玩家都站在map中的第一个Block上,初始的移动方向任意。每轮次HumanPlayer玩家前进3格,AutoPlayer前进2格。前进方向任意,但若前方有格子(前进、左转、右转),必定前进,而不能往回走。HumanPlayer所在的格子用[X]表示,AutoPlayer的格子用(X)表示。请实现代码。 2. 在Players的代码中,通过getFirst和getLast取得两个玩家,但这两个成员函数与Player用deque表示紧密相关,且只能取得前后两个Player。考虑到玩家数量可多个,玩家集合的数据结构可多样,请用迭代器模式重新实现遍历所有玩家的功能,要求分别实现C++风格的外部迭代器和Java风格的外部迭代器。迭代器接口如下: class CppIterator { public: CppIterator( ) {} virtual ~CppIterator( ) {} virtual void first() = 0; virtual void next() = 0; virtual bool isLast() const = 0; virtual void * current() = 0; virtual int count() const=0; }; class JavaIterator { public: JavaIterator() {} virtual ~JavaIterator() {} virtual void* next() = 0; virtual bool hasNext() const = 0; virtual int count() const=0; }; 3. 若玩家前进时,各玩家的前进策略多种多样,如一种策略是各可能方向是等概率的(例如1中的代码),另一种策略是各方向有不同几率:inDir未确定时,向各方向前进的概率相等;inDir确定时,各方向的概率不一定相同。具体可见下表。而且以后可能会添加新的前进策略,如具有AI的策略等;玩家还可能需要动态改变前进策略。请使用策略模式实现。 inDir==NONE时 inDir!=NONE时 连通四个方向 各方向各25% 直行50%,左转25%,右转25% 连通往三方向 各方向各33% 可直行时,直行60%,左转(或右转)40%; 不可直行时,左转和右转各50% 连通两个方向 各方向各50% 与inDir不同的方向为100% 连通一个方向 各方向各100% 100%地转向往回走 4. 为提高趣味性,增加了卡片子系统和魔法子系统, Player可以使用卡片、魔法等,作用于各玩家或系统中的其它对象上。部分类图如下: 这里使用RobCard会抢走指定玩家的一半金钱;使用MeanCard会平均所有玩家的金钱;使用ReturnSpell会使指定玩家直接返回到开始的Block,inDir不定。 1) 修改PlayMenu为: PlayMenu 1. Go… 2. ApplyRobCard 3. ApplyMeanCard 4. ApplyReturnSpell 5. Load 6. Save 7. Back To MainMenu Your selected: 并给Player类添加行为ApplyRobCard(Player * target);、ApplyMeanCard();和ApplyReturnSpell(Player * target),然后实现。 2) 以后肯定要添加其它Card和Spell,还有可能增加道具子系统等。由于Player已有子类AutoPlayer和HumanPlayer,而且未来扩展Card、Spell和道具等时,作用目标target有多种可能,如Player、Block、Player集合,甚至Card类等,所以希望在未来扩展时,避免通过继承Player类或其子类进行扩展。请使用命令模式实现此目地。 5. 若需要增加FlyCard和FreezeSpell。其作用是:当应用FlyCard到某个Player上时,该player将每轮次前进6格,并持续2个轮次;当施加FreezeSpell到某个Player上时,该player将每轮次只前进1格,并持续3个轮次。 考虑到以后还会添加其它类似功能的Card和Spell,但不希望直接从Player类派生子类进行扩展。请使用状态模式实现此目的。 6. 若还需要增加HurtSpell,该Spell会导致被作用的Player,每轮次减少Money的数量5,并持续2个轮次;增加LuckCard, 该Card会导致被作用的Player,保持Luck状态3轮次,在Luck状态时,每轮次还额外增加200金钱;增加ExFlyCard, 除了FlyCard的效果 ,同时在前进时,不受任何Block的阻挡(如BarBlock); 增加SuperCard,其作用为同时有FlyCard和LuckCard的效果,并持续1回合。多个Card或Spell的效果也可能会同时存在,如LuckCard和HurtSpell。请实现. 7. 若某个Player的money小于等于0,则表示该player破产了,需退出游戏过程,其它玩家继续;此时,所有继续游戏的玩家Money会减半,所有TripBlock的惩罚会变成200;若HumanPlayer都已破产,游戏返回mainmenu;若AutoPlayer都破产,且只剩一个HumanPlayer,显示胜利,返回mainmenu。 8. 若各Player又分两种高富帅和白富美等有限几种。应用不同Card、Spell等到不同类型的Player时,效果可有不同效果, 如LuckCard应用到高富帅上,保持Luck状态3轮次;应用到白富美上,保持Luck状态4轮次等。已知Card、Spell等未来会增加和扩展。请以访问者模式设计并实现。
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值