资源描述
C++猜单词游戏课程设计报告(完整版)
(文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载)
VC++课程设计报告
课程:
VC++课程设计
系别:
计算机系
班级:
学号:
姓名:
选题名称:
猜单词游戏
选题难易级别:
A
起止时间:
指导教师:
2021年 12 月
15日
1. 程序功能介绍
这是一个猜单词的游戏,这个猜单词游戏分为俩种模式,一个是人人对抗模式,一种是人机对抗模式。玩家可根据自己的要求选择不同的模式进行游戏。
如果是俩个人玩游戏,可选择人人对抗模式,在该模式下,先由一个玩家输入一个单词(该单词只有该玩家知道),然后由另一个玩家猜单词,猜错次数可以根据自己的要求改变。
如果是一个人玩游戏,可选择人机对抗模式,在该模式下,由计算机随机给出一个单词,玩家根据组成单词字母的个数猜出单词,猜错的次数可以指定,若在规定次数内没猜出单词,显示一个上吊的人形。
2. 课程设计要求
1.将猜单词的函数与相应的数据封装到类中,并改写主程序,使程序简化。
2.根据所猜单词的字母个数,给出指定几率的提示字母,显示于单词中的正确位置。
3.在进入猜单词的过程后,首先显示菜单询问是开始猜单词还是修改设置,默认的修改次数为4,默认显示字符的几率为20%,若要修改这个设置,在菜单选项中选择设置选项进行修改。
4.在人人对抗时,一个玩家给出单词时,单词不显示在屏幕上,字符用*号表示。
5.猜单词时,输入一个单词,判断函数改为判断输入单词的字符是否与所猜单词一一对应,将猜中的字符显示出来。
6.在人机对抗时,可以选择随机读取单词,也可以选择向单词库输入单词,同时,将单词库中单词的个数显示出来,并根据单词库中单词个数的多少决定随机选取的范围。
3. 对课程题目的分析与注释
类的封装的关键代码:
class GuessGame//进行类的封装
{
private:
string Word;//欲猜的单词
double Proba;//显示字符概率 (0,1)
int GuessNum;//总共可猜次数
int WrongNum;//猜错的次数
string DisplayWord;// 欲显示的单词
string GuessWord;//第二个玩家输入猜想的单词
int nLen;// 输入单词的长度
int choice;
int option;
public:
int exit;
int iloop;
public:
GuessGame();
void InitialSet();//修改设置值
int getChoice()
{return choice;}
void saveWordFile();//输入单词
void play();
void instruction();//主菜单
void subMenu();//子菜单
void usergame(int i);
void compgame(int i);
void drawman(int numguess,int numwrong,int i);
void lchosen(char letter,string & letterchosen,int &check,int &chosencounter,int i);
void test(string word,char letter,int & numwrong,string& temp);
void rnd(string &word,int i);
};
inline istream & Flush(istream & stream);
GuessGame::GuessGame()
{
Proba = 20.0 / 100;
GuessNum = 4;
exit = 0;
iloop = 0;
}
4. 程序设计和说明(说明算法思想、设计思路,给出重要的、关键的代码)
算法思想
1)类的封装 主要是对人人对抗和人机对抗操作部分类的封装
2)程序主体结构的设置
主菜单:
a) 人人对抗(注释:以人人对抗对象的引用作为参数调用子程序)
b) 人机对抗(注释:以人机对抗对象的引用作为参数调用子程序)
c) 退出
人人对抗菜单
1. 开始猜单词
2. 设置系统
3. 退出
人机对抗菜单
1. 开始猜单词
2. 设置系统
3. 向单词库添加单词
4. 退出
3)人人对抗时输入欲猜单词的隐藏
4)C++用于处理字符串变量的新的数据类型——字符串类型(string类型)
设计思路
进入程序后,通过switch语句进行选择所要进入的函数,即可输入选项,选择人人对抗、人机对抗、修改提示字母个数或退出。当输入的选项不符合要求时,提示输入错误,请重新输入。
进入人人或人机对抗后,首先询问是否重新设置可猜次数。默认可猜次数为4次,若选择修改,可将其改为4-10之间的某值。进入游戏对抗部分,人人对抗时,提示玩家2输入单词,输入完毕后将其转换为“*”,人机对抗时,从单词库中随机抽取一个单词,以“*”的形式给出。按照设置的显示百分率给出提示字母,并显示在正确的位置上。玩家开始进行猜单词。若输入的字母为组成单词的字母,则显示在正确的位置;若输入的字母不是组成单词的字母,则提示“wrong letter”,并逐步显示上吊人形。将已输入过的字母显示在界面上方,当玩家再次输入已输入字母时,提示该字母已输入过,请重新输入。当玩家猜出单词或达到可猜次数时,游戏结束,返回选择菜单。若以上输入不符合要求,重新输入。若选择退出选项,则退出程序。
人人对抗
人机对抗
退出
主菜单
是否修改设置?
是否修改设置?
是
否
否
是
修改
修改
玩家2 输入单词
计算机抽取单词
玩家开始猜单词
错
对
输出上吊人形
Right【 】
返回主菜单
关键代码:
class GuessGame//进行类的封装
{
private:
string Word;//欲猜的单词
double Proba;//显示字符概率 (0,1)
int GuessNum;//总共可猜次数
int WrongNum;//猜错的次数
string DisplayWord;// 欲显示的单词
string GuessWord;//第二个玩家输入猜想的单词
int nLen;// 输入单词的长度
int choice;
int option;
public:
int exit;
int iloop;
public:
GuessGame();
void InitialSet();//修改设置值
int getChoice()
{return choice;}
void saveWordFile();//输入单词
void play();
void instruction();//主菜单
void subMenu();//子菜单
void usergame(int i);
void compgame(int i);
void drawman(int numguess,int numwrong,int i);
void lchosen(char letter,string & letterchosen,int &check,int &chosencounter,int i);
void test(string word,char letter,int & numwrong,string& temp);
void rnd(string &word,int i);
};
inline istream & Flush(istream & stream);
GuessGame::GuessGame()
{
Proba = 20.0 / 100;
GuessNum = 4;
exit = 0;
iloop = 0;
}
5. 课程设计中遇到的问题及解决方法
在进行类的封装及参数调用时遇到了一些问题
通过与同学讨论和查阅相关资料解决了
6. 课程设计中所增加的功能模块(选做)
未增加
7. 课程设计结果
程序运行开始界面:
输入1进入人人对抗模式界面:
输入1开始游戏界面:
玩家2输入单词asd后玩家1猜单词界面:
玩家1猜错单词界面:
玩家1用完猜的次数失败界面:
玩家1猜对单词界面:
玩家进入人机对抗模式界面:
玩家输入3向单词库输入单词:
8. 还存在的不足之处
由于在函数rand()中,不能保证每次抽取的随机值都不同,即显示字符的位置可能相同,所以给出随机提示字母的百分率可能小于设置值。
如果所猜单词中有重复字母,猜对一次只能显示出一个。
第一次运行游戏返回主菜单后第二次要输入俩次才有作用
界面不够清晰简洁。
9. 对课程设计的感想和心得体会
就编写的程序而言,虽然能达到预期的结果,但在运行时所需的时间比较长,而且总体结构还不够简洁,不太容易去理解。许多问题还需要继续研究,许多技术还需要更多的改进。去图书馆借了不少书,也去网上看了些资料,只是对大概的知识有了点了解,但还是很难着手于写代码,后来就按照老师说的,先搞清楚原理,再考虑如何去实现!后来又去上网查看相关资料,又到图书馆借了很多书看,总算有头绪了。但在调试过程中,还是遇到了很多困难,后来通过了很多同的帮助才把问题解决了。
通过这次的课程设计,让我了解了猜单词游戏的问题。同时让我更好地掌握了栈思想以及一维数组等等知识,以及一些书本上没有的东西,这对我以后的学习生涯以及将来步入社会起到很大的帮助。这次课程设计虽然花了我很多时间和精力,但很值得,因为它对我能力提高起到很大帮助。这次课程设计也提醒我以前知识的匮乏,它给我敲响了警钟,让我意识到自己基础的不扎实.当然这次实验还是有很多问题的。比如程序设计的界面不够好,一些程序并非自己所写,而是修改某些程序而成,但这些不该,在下次课程设计时不会再发生.
内部资料
仅供参考
9JWKffwvG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ^!djs#XuyUP2kNXpR
WXmA&UE9aQ@Gn8GK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^G89AmUE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ^!djs#XuyUP2kNXpRWXmA&UE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^GjqvadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%MadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*adNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%MzadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@adNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wE
展开阅读全文