C++猜单词课程设计--——猜单词游戏

合集下载

C++猜单词游戏代码

C++猜单词游戏代码
cout << "┃ ┃" << endl;
cout << "┃ 返回0 结束 9 ┃" << endl;
cout << "┗━━━━━━━━━━━━━━━┛" << endl;
}
void main_switch1()
{
list T;
node *next;
};
class list
{
public:
node *head;
public:
void game();
void file();
void file1();
void show1();
};
void list::game()
{
node *p = head->next;
string bh;
//cout << "原单词:" << p->word << ch << endl;
//cout << "原单词:" << p->word << ' ' << (p->word).size();
cout <<"要猜词:"<< (p->word).replace(a, 1, "*")<<endl;//猜的单词
node *p;
p = new node;
head = p;
string words;

小学英语《猜单词》教案

小学英语《猜单词》教案

小学英语《猜单词》教案。

Teaching Objectives:1.Students will be able to understand and usevocabulary related to daily life.2.Students will improve their listening and speakingskills.3.Students will develop their critical thinkingskills.Preparation:1.Picture cards or objects related to daily life.2.A worksheet with fill-in-the-blank sentences forstudents to complete.3.Optional: A guessing game of "What's in the box?"with objects or pictures related to the vocabulary.Teaching Procedures:1.Warm-up (5 minutes):Play a quick game of "What's in the box?" with the object or picture cards related to the vocabulary. Encourage students to use descriptive words to guess what's in the box.For example, "It's round and red. It's used for playing games." (Answer: a ball).2.Vocabulary Introduction (10 minutes):Introduce the vocabulary for the lesson using the picture cards or objects. Hold up the picture cards one by one and ask students to repeat the words. For example, "This is a toothbrush. Can you say toothbrush?" After introducing all the vocabulary, have students repeat all the words again.3.Listening and Speaking Practice (15 minutes):Divide the class into pairs and give each pair a set of picture cards or objects. One student should describe the picture card or object to the other student using descriptive words. For example, "This is something we use to cut paper.It has a thin blade." (Answer: scissors). Encourage students to ask for clarification if they don't understand and to use descriptive words to describe the object. After a few turns, switch roles.4.Fill-in-the-blank Worksheet (15 minutes):Give students a worksheet with fill-in-the-blank sentences related to the vocabulary. For example, "I brush my _____ every morning and night." (Answer: teeth). Havestudents work on the worksheet individually or in pairs.After they finish, go over the answers as a class.5.Guessing Game (Optional) (10 minutes):Play a guessing game of "What's in the box?" with objects or pictures related to the vocabulary. Encourage students to use descriptive words to guess what's in the box. For example, "It's long and yellow. It's used for writing." (Answer: a pencil).6.Wrap-up (5 minutes):Review the vocabulary one more time with the picturecards or objects, and have students repeat the words. End the lesson by asking students to say one sentence using one ofthe vocabulary words. For example, "I use a fork to eat spaghetti."Assessment:1.Observe students' listening and speaking skillsduring the speaking practice.2.Check students' worksheets to see if theyunderstand the vocabulary and can use it in context.3.Ask students to answer questions related to thevocabulary during the wrap-up.Extension:1.Have students draw pictures related to the vocabulary and describe them to their classmates.2.Play a game of "Charades" using the vocabulary words.3.Have students create a dialogue using the vocabulary words and perform it for the class.。

适合中班的单词游戏教案

适合中班的单词游戏教案

适合中班的单词游戏教案一、教学目标。

1. 能够通过游戏的方式学习和记忆新单词;2. 能够在游戏中培养孩子的团队合作意识;3. 能够在游戏中培养孩子的观察力和记忆力。

二、教学准备。

1. 准备好与教学主题相关的单词卡片;2. 准备好与教学主题相关的图片卡片;3. 准备好游戏道具,如骰子、筹码等;4. 准备好奖励小礼物,以激励孩子参与游戏。

三、教学过程。

1. 游戏一,单词接龙。

1.1. 将单词卡片洗匀,放在桌面上;1.2. 让孩子们围坐在桌子周围;1.3. 从第一个孩子开始,他/她要翻开一张单词卡片,并说出这个单词;1.4. 下一个孩子要接着说出与上一个单词的第一个字母相同的单词,并翻开相应的单词卡片;1.5. 依次类推,直到有孩子说不出符合条件的单词为止。

2. 游戏二,单词配对。

2.1. 将图片卡片和单词卡片混合在一起,放在桌面上;2.2. 让孩子们分成若干小组,每组派出一名代表;2.3. 代表们轮流翻开一张图片卡片和一张单词卡片,看看它们是否匹配;2.4. 如果匹配成功,该小组得到一定数量的筹码作为奖励;2.5. 游戏结束后,筹码最多的小组获得奖励小礼物。

3. 游戏三,单词拼图。

3.1. 将单词卡片切成若干块,每块代表一个字母;3.2. 将这些字母块混合在一起,放在桌面上;3.3. 让孩子们分成若干小组,每组派出一名代表;3.4. 代表们轮流翻开一个字母块,看看它在哪个位置;3.5. 当一个单词的所有字母块都被找到并排列正确时,该小组得到一定数量的筹码作为奖励;3.6. 游戏结束后,筹码最多的小组获得奖励小礼物。

四、教学反思。

1. 通过这些游戏,孩子们在玩耍中不知不觉地学习了新单词,提高了他们的词汇量;2. 这些游戏培养了孩子们的团队合作意识,让他们学会了在团队中相互配合;3. 这些游戏锻炼了孩子们的观察力和记忆力,让他们在游戏中得到了成就感;4. 通过奖励小礼物,激励了孩子们的学习兴趣,让他们更加积极地参与到游戏中来。

大学英语课上小游戏大全

大学英语课上小游戏大全

哪个词就在‎黑板上画与‎这个词字母‎数相同的横‎线,让学生自有‎举手报字母‎,答对了就添‎在相应的位‎置上,答错了就在‎黑板上画一‎笔,以此类推可‎以事先设计‎一个图形,比如简易的‎吊死的小人‎,这样,如果在有限‎的次数内没‎有猜全单词‎,小人就死了‎。

很有意思~在次介绍几‎个游戏:一、猜单词游戏‎,考脑子的推‎测能力。

画几个格子‎(你想让他们‎拼的那个单‎词有几个字‎母,就画几个) 让大家猜,一个人说出‎一个字母,无论在哪一‎个位置,单词里只要‎有这个字母‎,就算对,如matt‎e r,一个人说了‎个t则两个‎t都算对。

初中生嘛,单词可以难‎一点,或是某一个‎类型,如体育比赛‎类、食品类等等‎。

二、扩词游戏,增加对单词‎的敏感度。

先写一个单‎词,由这个单词‎联想到另外‎三个单词,再继续联想‎。

在规定时间‎内,谁联想得多‎,谁就获胜。

三、划词游戏,活跃气氛,增加对英语‎的兴趣。

画一个5乘‎5的正方形‎,在每一个格‎子里写上一‎个单词,可以分类型‎。

然后请一个‎人报那一类‎型的单词,报到一个则‎划掉一个,划掉的能连‎成一条线(横、竖、斜的都可以‎)就赶快站起‎来说“bin go‎”,谁先说谁就‎赢。

要注意的是‎25个格子‎里的单词不‎能重复。

四、组词游戏,考对单词的‎敏感度,反应能力。

写几个字母‎(大写,更能考验反‎应能力),用这几个字‎母组成单词‎(不少于3个‎字母)可以是外国‎人的名字,可以是像i‎s n't这样的缩‎写。

说的越多越‎好。

五、单词接力游‎戏,培养反应能‎力。

说出一个单‎词,另外一个人‎以这单词的‎最后一个字‎母作为第一‎个字母说单‎词(如dog、garde‎n、never‎、red等等‎)在规定时间‎内说不出,就被淘汰,看谁能坚持‎到最后。

六、Simon‎says ,考反应能力‎。

一个人发布‎命令,如"Simon‎says,Thump‎s up.""Simon‎says, touch‎your head", "Simon‎says, point‎up." etc.,其他人听到‎这些Sim‎o n的指令‎要跟着做这‎些动作.如果她不说‎S imon‎says,只是说"Thump‎s up.而其他人把‎拇指竖起,那么这个人‎就出局了.谁能坚持到‎最后,谁就赢了这‎个游戏.七、猜单词,表演能力,现场的心理‎素质几对人比赛‎,裁判给个单‎词,让一个人用‎肢体语言描‎述,另外一个人‎猜出来。

英语猜词游戏教案

英语猜词游戏教案

英语猜词游戏教案【篇一:单词教学英语游戏】英语游戏游戏1:续数字(说三个连续数字)游戏方法:学生若干人(或是小组,或是排、行但人数应为偶数)起立,面向其他同学。

站在最右边的同学任意说出一个数字,如:three。

站在他旁边的同学说:four,five,six. 第三位同学任意说出一个数字eleven,站在他旁边的同学说:twelve,thirteen,fourteen. 以此类推,把游戏做完。

此游戏如果在小组之间进行,可以增加竞争性、趣味性。

每小组(排或行)的同学为一个队(team),双锅棉花糖机,任意一个同学说错,全队同时坐下。

另一队同学继续。

游戏2:记忆电话(号码)游戏方法:学生若干人,每个同学在大小、形状一样的纸片上任意写上一个8位数,作为自己的“电话号码”,同时写上自己的名字。

游戏主持人把这些写好的纸片收集在一起,写字的一面朝上摆放在桌子上。

参加游戏的同学用1分钟时间默记这些“电话号码和名字”。

主持人把纸片反扣(写字的一面朝下)在课桌上。

主持人发令:ready , go ! 参加游戏的同学用举手抢答的方式,取得答题的优先权,然后说出自己记忆的其他同学的“电话号码和姓名”。

每正确地说出一个“电话号码和姓名”得1分,同时主持人把纸片翻过来。

其他同学仍用举手抢答的方式。

每正确说出一个电话号码和姓名也得1分。

直到主持人宣布比赛结束,或者所有“电话号码”都被说出来。

得分多的同学获胜。

第一轮比赛结束后,同学们重新写“电话号码”,准备第二轮比赛。

游戏3:描述人物(猜词1)游戏方法:教师在课前把关于表示“周围的人们”如家庭成员、亲戚、朋友等的名词制成卡片。

课上开始游戏前说明游戏做法:一名同学到教室前面,面向其他同学。

教师拿出一张卡片给这位同学。

这位同学用自己的话说明卡片上的这个名词,如daughter,学生可以说: it is a childof a family . it is a girl . it has 8 letters ./ the first letter of the word is d . 其他同学就可以猜出卡片上的名词。

幼儿园英语单词游戏教案创意拓展

幼儿园英语单词游戏教案创意拓展

幼儿园英语单词游戏教案创意拓展教案标题:幼儿园英语单词游戏创意拓展教学目标:1.引发幼儿对英语学习的兴趣;2.帮助幼儿记忆并掌握一些常见的英语单词;3.培养幼儿的观察力、动手能力和团队合作精神。

教学准备:1.室内或室外活动空间;2.各种有趣的道具和图片,代表不同的英语单词;3.牌子或卡片,设计成相应的英语单词;4.记分牌和奖励小礼物。

教学步骤:1.游戏介绍向幼儿们介绍本次游戏的目的和规则,让他们明确游戏的任务和要求。

2.游戏环节1:单词宝藏a.在活动空间内隐藏各种道具和图片,这些道具或图片分别代表不同的英语单词,如水果、动物、车辆等。

b.将幼儿分成若干小组,让他们寻找并收集这些道具和图片。

c.每个小组自行决定一个代表,来向教师报告所收集到的道具和图片,并用英语说出对应的单词。

d.教师根据每个小组的表现,给予相应的分数。

3.游戏环节2:猜单词a.教师手持一些卡片或牌子,每个卡片上都有一个英语单词,教师可以准备一些与幼儿日常生活相关的单词,如食物、玩具等。

b.家长或幼儿轮流向教师伸手摸一张卡片,但不能看到上面的英语单词,然后试图用英语简单描述该单词。

c.如果幼儿猜对了单词,就可以得到相应的分数,并赢得一次机会继续猜下一个单词;如果猜错,则让下一个家长或幼儿尝试。

4.游戏环节3:词语连连看a.将一些卡片或牌子打乱并铺在地上,每张卡片上都有一个英语单词。

b.要求幼儿轮流翻开两张卡片,如果这两张卡片上的单词能够相互配对(即同一个单词的两张卡片),则幼儿可以将这两张卡片收入自己的分数区。

c.游戏继续,直到所有的卡片都被翻开并配对完毕。

d.幼儿可以根据自己收集到的卡片数量,获得相应的分数。

5.游戏结束和总结游戏结束后,教师可以根据每个幼儿或小组的得分,给予相应的奖励和表扬。

同时,教师还可以和幼儿们一起总结本次游戏所学到的英语单词,并鼓励他们在日常生活中多多运用英语。

拓展活动:1.可以将游戏的难度适当提高,引入更多的单词和复杂的游戏规则,以挑战幼儿们的记忆和动手能力。

英语课堂游戏—25个经典单词游戏

英语课堂游戏—25个经典单词游戏

英语课堂游戏大全——好玩的单词游戏1.拍单词图片:把本节课重点单词先全部过一遍,让学生有更深的印象,然后将图片一横排贴在黑板上,在图片的下方划个圈,让一男一女上台来并背对老师。

老师用口型对下面的同学作提示,让学生反应单词,并大声说出来。

老师再将该词确认一次后,发出明确指示,让台上的两位学生转身去拍单词下面的圆圈。

拍的又快又准的一方胜出得分。

如:crab,T:crab,台上学生马上去拍对应图片或单词下的圆圈,又快又准的加分。

要求:a. 贴图片或单词时,让全班学生认一个贴一个。

在游戏前,让全班同学再次熟悉下要比赛的单词。

b.上台来的两位同学,面朝台下同学,老师通过口型提示,如rock,台下同学一起说rock,为防止台上同学听不清楚,老师要大声再读一次,然后发出指令,“go!”比赛选手才能去拍。

c.在拍图前,为了活跃气氛,可让比赛选手先做点热身,如:选手对着全班时,让他们原地小跑,听到go的指令时,再转身拍词。

d.游戏时,注意控制纪律,学生拍错的单词,一定要全班再认读一次,纠正错误。

2. 猜拳(剪刀石头布)游戏:把本节课重点单词或图片一横排贴在黑板上,叫一男一女上讲台,老师指着一个单词,如dog,台上选手开始划,边划边带领全班一起读dog,读到第三声时,出拳,赢的一方等到dog这个单词,得到单词多的队伍获胜。

要求:为防止选手划拳时,出拳太快,台下学生看不清,或选手划拳时,有人慢出拳,老师要控制好划拳的节奏,带领台下学生有节奏地朗读。

(为保证游戏进行时划拳的节奏,短的单词老师要带,读长的单词时,口令改为one、two、three)3 .击鼓传花:老师先选定一些图片或单词卡分给每组一张,然后选一首节奏明快,学生喜欢的英文歌曲,当音乐一起,拿到的卡片的同学就要马上往后传;当音乐一停,学生停止传卡片,这时手上拿着卡片的同学依次朗读出手中卡片的单词。

读对的加分,然后继续游戏。

4.拼单词:是一个针对单词拼写的游戏。

猜单词游戏

猜单词游戏

猜单词游戏; 这是我们以前玩的; 老师请一个学生A随便想一个课本中出现过的单词; 告诉大家这个词总共有几个字母; 假设猜想单词school; 就在黑板上画 _ _ _ _ _ _;并画出个小人上吊的架子; 由大家或者分小组猜单词;根据英语普遍规律;绝大部分的单词都有元音字母;所以从元音字母开始猜比较容易..假设同学们猜字母O;单词school中出现了;就在黑板上预留的位置中填写此字母;_ _ _ o o _ 当同学们猜测的单词为school中并未出现的字母;则将在黑板空白处标上次字母;并为上吊小人填上一笔..若小人全部画齐;单词仍未猜出;则出单词的人赢;若猜出此单词;则为大家赢或该小组赢..单词接龙;即第一个单词的后一个字母是第二个单词的第一个字母;三秒钟内说不出则给对方加一分..猜单词;参加英语角的人每个人准备一张自做的单词卡;单词卡上的单词可以是动物或者物品或者任何能够用简单英语来描述的单词..在英语角;拥有卡片的人把单词卡贴在别人身上;然后用英语来描述;让对方来猜..做动作猜单词或短语击鼓传球..音乐播放时;球开始传;音乐停止时;球在谁手中谁就说一句英文;但不能重复;否则挨罚如果是学单词的话;就在黑板上写几个已学的单词;再叫2个学生上来;你读一个;他俩指;谁指的快;他在的那一组就加分.准备一些小卡片;上面写上几个学的动词;然后喊一个学生上来;看着卡片作动作;下面的学生猜;讲对了的学生的那一组得分;表演的多的学生奖糖果碰地雷:在英语单词教学中;学生不太愿意跟读..用此法不错..在一个词下放一个地雷;这个词是不能读的;如果学生不小心跟读;就是踩到雷了..大家一起数one two three; bomb;向他砸过去有趣;气氛也好;学生在玩中也学得扎实补全句子:在学习句中;要慢读;必要时分解读..在跟读几遍后;可以让学生补全老师没说完的部分..比如:my name is Rebecca.可让学生补Rebecca、is Rebecca、name is Rebecca..这是个反应练习;可让学生熟练掌握句子..拍皮球:1 学生分两组坐在原位;合上眼;教师为两组打分..2 教师拍皮球;学生默数教师拍了几下..假设教师拍了19下..3 教师突然停下;问一个学生“What’s the number”该学生应该答;“Nineteen”..如果他答对了;该组得分;并由该学生接替教师拍球;游戏继续进行;如果他讲错了;就让别的学生纠正..4 哪组学生得分多;就为胜者..5 变化:教师拍球时可以在中间来个停顿..如先拍4下;停一停;再拍3下;接着问:“What’s the number”学生应答“Seven “Four plus three is seven.”6 作用:操练数词和加法运算句型..BINGO游戏:先让学生在本子上画九个格;每个格内填写一个听到的单词或字母;最后当老师念完后;老师选3个单词念出来;只要学生把这3个单词填写在一条线上;便可win the game;得到一个BINGO..该游戏适合单词;字母教学..讲故事游戏:让每个学生说一句话;然后组成一篇短文;再由笔头能力较强的学生作好笔记;选出口语最好的演讲出来;生动形象..单词接力赛:将学生分成A、B两组;每组人数相等;每组的第一个同学在黑板上写出一个单词;本组的第二个同学以第一个单词末尾的字母开头;列出第二个单词;且不能与写过单词重复..看哪一组在规定的时间内写的单词多;拼写错误少;字迹工整则为优胜者..例如:Monday-yellow-what-tail-long-glasses-spin-nest-they-yes-small……找颜色:老师说出某物体名称;然后要求学生说出该物体的颜色;并且说出一个完整的句子..例如:老师说:The trees学生说:The trees are green..快速拼读游戏:老师说出一个字母;让一个学生口头说出5个此字母开头的单词;反应迅速;发音正确取胜;奖励他说出另一个字母;由其指定另一个同学讲出另外5个单词;讲不出者被罚下;另找一名同学回答;答对者;往下做;但作为词头的字母不能重复出现..例:A:an;and;angle;are;ask……B:box;book;big;black;breakfast..单词竞赛:将学生分成几组;教师按分组数目在黑板上划成几个格;一组占一格..然后教师提出单词比赛的范围和要求:例如:写动物名称:cat;dog;mouse;elephant;monkey;panda;cook;fish;hen……写人体部位:head;arm;leg;foot;hand;eye;ear;mouth;nose..写水果名称;写表示颜色的名称;学习用品、表示时间自然物体和现象的词、人物动物、不可数名词等..此游戏的目的是帮学生有意识地将单词及其词类分门别类地学习;归纳和记忆..反义词的游戏:将学生分成A、B两组..A组的一个同学说出一个单词;B组的第一个同学给出该词的反义词..第二个同学接着往下做;中间出现冷场或做错了反义词;扣一分;最后算总分;然后两组互易角色;最后全班把所有的词做一总结;由教师写在黑板上..例:good-bad wrong-right long-short西蒙的命令:教师在黑板上用简笔画画出西蒙;介绍西蒙的英语名字叫Simon..在听力训练中由他发出命令..当大家听到"Simon says;'stand up'"大家立即站起来;"Simon says;'sit down'"大家就坐下..否则什么也别做..若谁做错了;就暂时退出游戏;不犯错者为赢..例如:"Simon says’ Touch your head’ hands on the desk'"加减连算:1 学生分成两组;互相出题;教师仲裁打分 2 由A组第一个学生先出题;如:Five plus five ……B 组第二个学生必须立即回答:Five plus five is ten.然后由该生再接下去;如:Minus four; A组第二个学生再接着答题Ten minus four is six.如果讲错;该组就扣分.. 3 数字的和或差可限于一事实上数字范围内;如20;30等.. 4 变化:教师可让一个学生把所念算式写出来:5+5-4+8…… 5 作用:操练数词和加减运算句式..各就各位:1 教师读一段对话Dialogue或课文Text;也可以读一段自己编的短文..2 让几个学生担任对话课文中的角色或人或人物..3 教师先把整段文章念一遍或讲一遍..4 教师在讲述第二遍的时候;每提到一个人或物;扮演该角色的学生就得马上站起来;如教师讲Saturday afternoon. The pupils are cleaning their classroom. The teacher is with them. “Teacher”站起来Look; Wang Hoi is cleaning the window Wang Hoi 站起来..5 变化:可编排其内容;如At the Zoo 或In the Park. 6 作用:培养学生理解短文内容;找出关键词的能力..滚皮球适合初学英语的学生:目的:检查学生对字母顺序的掌握程序..规则:1.主持人手拿皮球站在圈内.. 2. 主持人边说一个字母;边向四周的学生滚动皮球..接球者必须说出其听到的后面的一个字母..主持人说两个;接球者也得说出其后的两个字母;依此类推..猜一猜:目的:检查学生对字母的掌握程度;培养他们的想象力..规则: 1.将学生分成若干小组..2.模仿教师或自己决定一种姿势;做出各种字母形状..3.教师下令;看谁能在规定的时间内猜出;然后快速写在黑板上;教师评分;得分高者为优胜..点名:目的:检查学生听字母的能力..规则: 1. 准备好字母卡片..2. 要求学生每人拿一张卡片;卡片上的字母即为学生的名字..3. 教师说字母如Aa;持Aa卡片的学生即说:“Here I am.” 4. 加快说的速度;出错者出游戏;坚持到最后者为优胜..“warm and cold”:在教学单词“pen”的时候;可以把一支钢笔事先放在某个同学的抽屉中;让其中一个人来找;其他同学可以提示帮助齐声朗读“pen”;当寻找者接近目标时;同学们的朗读声就变得响亮;当寻找者远离目标时;同学们的朗读声就变得越来越弱;直到寻找者找到目标为止..在黑板上贴出几张图片;然后学生拿一个充气榔头;教师说单词;学生听到后;马上跟读;然后将榔头砸在相应的图片上..。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC++课程设计报告——猜单词游戏VC++课程设计报告1.功能:课程设计题目的功能:一个猜单词游戏。

两人游戏时,由一个玩家给出一个单词,在人与计算机游戏时,由计算机给出一个单词,另一个玩家根据组成单词的字母个数猜出单词,猜的次数可以指定,若猜不中,显示一个上吊的人形。

(1)将猜单词的函数与相应的数据封装到类中,并改写主程序,使程序简化。

(2)根据所猜单词的字母个数,给出指定几率的提示字母,显示于单词中的正确位置。

(3)在进入猜单词的过程后,首先显示菜单询问是开始猜单词还是修改设置,默认的修改次数为4,默认显示字符的几率为20%,若要修改这个设置,在显示菜单中选择设置选项进行修改。

(4)在人人对抗时,一个玩家给出单词时,单词不显示在屏幕上,字符用“*”显示。

(5)猜单词时,输入一个单词,判断函数改为判断输入单词的字符是否与所猜单词一一对应,将猜中的字符显示出来。

(6)在人机对抗时,可以随机读取单词,也可以选择向单词库输入单词,同时,将单词库中单词的个数显示出来,并根据单词库中单词个数的多少决定随机选取的范围。

程序设计的思想和方法(1)类的封装画上吊人形的类已经封装起来,这部分程序基本不用改了,主要是对人人对抗和人及对抗操作部分类的封装。

可以定义一个类的两个对象,也可以定义为一个基本类和一个派生类的对象,成员函数可根据对象的不同分别调用,数据结构如下:Class CGuess{private:string Word; //欲猜的单词double Proba; //显示字符的概率0—1int GuessNum;//总共可猜的次数int WrongNum;//猜错的次数string DisplayWord;//欲显示的单词string GuessWord;//第二个玩家输入猜想的单词int nLen;//输入单词的长度public:CGuess();//构造函数void InitialSet();//修改设置值void InputWord();//输入单词并初始化成员函数void InputGuess();//接收用户所猜的单词int Judge();//判断是否猜中,猜中返回0,猜不中返回1或-(death)int ShowDisplay();//显示单词及上吊人形,程序结束返回1int OpenWordFile();//打开单词库,随机取出一个单词赋给Word,成功返回1int SaveWordFile();//向单词库输入新单词,正确返回1(2)程序主体结构的设置该设置基本上全部修改了原程序的结构,在main函数中分别定义人人对抗和人机对抗的对象。

在键入对应的菜单选项后,进入操作函数,操作函数的参数即是对应对象的引用。

同样,若有下级菜单的函数一样用该对象的引用参数,这样,可保证对象的唯一性。

主菜单:1.人人对抗(以人人对抗对象的引用作为参数调用子程序)2.人机对抗(以人机对抗对象的引用作为参数调用子程序)人人对抗菜单1.开始猜单词2.设置系统(即设置显示字符的概率和允许猜错的次数)3.退出人机对抗1.开始猜单词2.设置系统(即设置显示字符的概率和允许猜错的次数)3.向单词库中添加单词4.退出(3)人人对抗时输入欲猜单词的隐藏一个玩家给出单词时,单词不显示在屏幕上,字符用“*”号显示。

本程序在基础上还要有些限制条件,就是接收的字符必须是字母,当字幕为大写时还要转化为小写。

如果输入的不是字母要提示重新输入。

(4)C++用于处理字符串变量的新的数据类型——字符串类型(string类型)在原程序字符串的操作中用了一种新的数据类型——String,该类型是一个字符串类,可以定义对象。

它在使用方法上和char,int类型一样,可以用来定义字符串变量,即用一个名字代表一个字符序列。

程序设计的特点(1)增设了单词库,并且输入50个单词,以便使用。

(2)人人对抗和人机对抗时显示是否有重复字母2.课程设计的详细设计:程序主体结构图如下:程序详细结构:1.主菜单程序:void CGuess::GetChoice(){cout<<endl<<endl<<endl;cout << " 猜单词游戏" << endl << endl;cout <<" 制作者:刘健莹" << endl << endl;cout << "***********************************************************" << endl;cout << endl;cout << " 按1 人人对抗模式" << endl;cout << " 按2 人机对抗模式" << endl;cout << " 按3 退出" << endl;cout << endl;cout << "***********************************************************" << endl << endl;cout<<" 请您选择: ";cin>>Choice; // 得到用户选择while (!cin||Choice <1 || Choice >3) // 简查是否无效{cout << " 无效输入" << endl<< " 请再输入: ";Flush(cin);cin>>Choice;} // 完成简查, 得到有效输入,m_Choice变量的值被修改,清屏system("cls");}2.子菜单程序:int CGuess::InitialSet(){int exit=0;if(Choice==1){cout<<" 人人对抗"<<endl;cout << "***********************************************************" << endl;cout<<"按1开始玩游戏"<<endl;cout<<"按2修改设置值"<<endl;cout<<"按3退出"<<endl;cout<<endl;cout<<"*************************************************************"<<endl;cout<<" 你的选择:"<<endl<<endl;cin>>Choice2; }else{cout<<" 人机对抗"<<endl;cout << "***********************************************************" << endl;cout<<"按1开始玩游戏"<<endl;cout<<"按2修改设置值"<<endl;cout<<"按3向单词库输入单词"<<endl;cout<<"按4退出"<<endl;cout<<endl;cout << "***********************************************************" << endl;cout<<" 你的选择:"<<endl<<endl;cin>>Choice2;}while(!cin||Choice2 < 1 || Choice2 > 4){cout<< " 无效输入" << endl<< " 请再输入: ";Flush(cin);cin>>Choice2;}system("cls");if(Choice2==1) cout<<GuessNum<<endl;if(Choice2==2){cout<<" 你要几次猜词机会(4 - 10): ";cin>>GuessNum; //输入猜词次数while (!cin||GuessNum < 4 || GuessNum > 10){cout << " 无效输入" << endl<< " 请再输入- 你要几次猜词机会(4 - 10): ";Flush(cin);cin >>GuessNum;}}while(!cin||Choice2 < 1 || Choice2 > 4){cout<< " 无效输入" << endl<< " 请再输入: ";Flush(cin);cin>>Choice2;}system("cls");if(Choice2==1) cout<<Proba<<endl;if(Choice2==2){cout<<" 你要百分之几的字母显示出来(10 - 80): ";cin>>Proba; //输入显示字母百分数while (!cin||Proba < 10 || Proba > 80){cout << " 无效输入" << endl<< " 请再输入- 你要百分之几的字母显示出来(10 - 80): ";Flush(cin);cin >>Proba;}}if(Choice2==3){if(Choice==1){exit=1;}else{SaveWordFile();InitialSet();}}if(Choice2==4){exit=1;}return exit;}3.修改默认设置程序:if(Choice2==1) cout<<GuessNum<<endl;if(Choice2==2){cout<<" 你要几次猜词机会(4 - 10): ";cin>>GuessNum; //输入猜词次数while (!cin||GuessNum < 4 || GuessNum > 10){cout << " 无效输入" << endl<< " 请再输入- 你要几次猜词机会(4 - 10): ";Flush(cin);cin >>GuessNum;}}while(!cin||Choice2 < 1 || Choice2 > 4){cout<< " 无效输入" << endl<< " 请再输入: ";Flush(cin);cin>>Choice2;}system("cls");if(Choice2==1) cout<<Proba<<endl;if(Choice2==2){cout<<" 你要百分之几的字母显示出来(10 - 80): ";cin>>Proba; //输入显示字母百分数while (!cin||Proba < 10 || Proba > 80){cout << " 无效输入" << endl<< " 请再输入- 你要百分之几的字母显示出来(10 - 80): ";Flush(cin);cin >>Proba;}4.默认的游戏设置程序:Proba=20; //显示单词字母个数百分比GuessNum=4; //玩家猜词的机会5.将单词输入进单词库中的函数:void GuessGame::saveWordFile(){int n=50,i,j;ofstream out;out.open("words.txt");if(!out){cout<<"不能打开单词库"<<endl;}cout<<"单词库中有50个单词"<<endl;cout<<"向单词库中输入多少个单词"<<endl;cin>>j;cout<<"请向单词库中输入"<<j<<"个单词"<<endl;for ( i = 0; i < j; i++){string word; // 输入单词getline(cin,word);n=n+1;out<< word;cout<<"单词库中有"<<n<<"个单词"<<endl;}out.close();}6.显示猜对的单词:void GuessGame::test(string word, char letter, int& numwrong, string& temp) {static int m;int check2 = 0; // 判断输入的字符是否为组成单词的字符,正确为1 if (letter == word.at(m)) //若单词中有这一个字符{temp.replace(m, 1, 1, letter);check2 = 1;}if (check2 == 0) //若单词中没有这一个字符{cout << endl;cout << "Wrong letter" << endl;system("pause");numwrong++;}if(m<(word.length()-1)){m++;}else m=0;}7.输出给定几率的字母:for (i = word.length() * Proba; i < word.length(); i++){temp.replace(i, 1, 1,'*');}8.游戏程序主体运行:int CGuess::Run(){int exit = 0; //主循环是否退出的变量,1时退出do { //主循环system("cls"); // 执行系统命令清屏GetChoice(); // 给出说明并得到选择switch(Choice){case 1:Game(); // 与人对战break;case 2:Game(); // 与电脑对战break;case 3:cout << " 再见" << endl<<endl; // 退出exit = 1;break;default:cout << " 无效输入- 请再输入" << endl; // 无效输入}} while (exit != 1); //退出主循环system("pause"); // 执行系统命令:暂停return 0;}9.在人人对抗时,一个玩家给出单词时,单词不显示在屏幕上,字符用“*”号显示。

相关文档
最新文档