猜数字游戏程序设计

合集下载

猜数字游戏c语言课程设计

猜数字游戏c语言课程设计

猜数字游戏 c语言课程设计一、课程目标知识目标:1. 学生能理解并掌握C语言中随机数生成的原理和方法。

2. 学生能运用分支结构、循环结构等基本控制结构,编写出猜数字游戏的程序。

3. 学生掌握使用函数对程序进行模块化设计的方法。

技能目标:1. 学生能够运用所学知识,独立设计并实现一个简单的猜数字游戏。

2. 学生通过编程实践,提高问题分析、程序设计及调试的能力。

3. 学生能够在编程过程中,培养良好的编程习惯,如规范命名、添加注释等。

情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣,激发学习C语言的积极性。

2. 学生通过合作交流,培养团队协作能力和沟通能力。

3. 学生在解决实际问题的过程中,体会编程带来的成就感,增强自信心。

分析课程性质、学生特点和教学要求,本课程目标旨在让学生通过学习猜数字游戏的设计与实现,掌握C语言的基本知识,提高编程实践能力。

课程将目标分解为具体的学习成果,使学生在完成课程后,能够独立编写简单的猜数字游戏,并具备一定的程序调试能力。

同时,通过课程学习,培养学生良好的编程习惯和团队合作精神。

二、教学内容1. C语言基础知识回顾:变量定义、数据类型、运算符和表达式。

2. 随机数生成:rand()函数、srand()函数、time()函数的使用方法及其在猜数字游戏中的应用。

3. 控制结构:分支结构(if-else)、循环结构(for、while)在猜数字游戏中的运用。

4. 函数定义与调用:模块化设计思想,实现猜数字游戏的各个功能模块。

5. 程序调试与优化:学习使用调试工具,分析程序运行过程中的问题,提高程序性能。

教学内容安排和进度:第一课时:回顾C语言基础知识,介绍随机数生成方法。

第二课时:讲解分支结构和循环结构在猜数字游戏中的应用。

第三课时:学习函数定义与调用,实现猜数字游戏的模块化设计。

第四课时:程序调试与优化,讲解编程技巧和良好编程习惯。

教材章节关联:1. C语言基础知识:参照教材第一章。

系统设计类c语言大案例

系统设计类c语言大案例

系统设计类c语言大案例一、游戏概述。

这个猜数字游戏是这样玩的:程序在心里想一个1到100之间的随机数,然后让玩家猜这个数字。

玩家每次输入一个猜测的数字,程序会告诉玩家这个猜测的数字是比正确答案大了还是小了,直到玩家猜对为止。

二、代码逻辑。

1. 生成随机数。

在C语言里,我们可以使用`<stdlib.h>`头文件中的`rand()`函数来生成随机数。

不过呢,在使用`rand()`之前,我们得先用`srand()`函数设置一个随机数种子。

通常我们可以用当前的时间作为种子,这就需要`<time.h>`头文件啦。

就像这样:#include <stdio.h>.#include <stdlib.h>.#include <time.h>.int main() {srand((unsigned int)time(NULL));int target = rand() % 100+1;// 这里我们得到了一个1到100之间的随机数,这就是我们要让玩家猜的数字啦。

}2. 获取玩家的猜测。

我们可以使用`scanf()`函数来获取玩家输入的数字。

我们得给玩家一个提示,让他们知道要做什么。

像这样:int guess;printf("欢迎来到猜数字游戏!我想好了一个1到100之间的数字,你快来猜猜看。

\n");scanf("%d", &guess);3. 比较猜测和目标数字。

然后我们就来比较玩家猜的数字和我们生成的随机数(目标数字)。

如果玩家猜的数字比目标数字大,我们就告诉玩家“你猜的数字太大了”;如果玩家猜的数字比目标数字小,我们就说“你猜的数字太小了”;要是玩家猜对了,就恭喜玩家啦。

while (guess!= target) {if (guess > target) {printf("你猜的数字太大了。

猜数字c语言课程设计

猜数字c语言课程设计

猜数字c 语言课程设计一、课程目标知识目标:1. 学生能掌握C语言中基本的数据类型和变量定义,尤其是整数类型的使用。

2. 学生能理解并能运用C语言中的随机数生成函数,掌握生成指定范围随机数的方法。

3. 学生能掌握C语言中的循环结构和条件判断语句,实现猜数字游戏的逻辑。

技能目标:1. 学生通过编写猜数字游戏程序,培养问题分析、程序设计和调试能力。

2. 学生能够使用C语言实现用户交互,掌握输入输出流的使用。

3. 学生通过小组合作,提高团队协作和沟通能力。

情感态度价值观目标:1. 学生在编程过程中,培养解决问题的耐心和毅力,增强克服困难的自信心。

2. 学生通过编程实践活动,体验程序设计的乐趣,激发对计算机科学的兴趣和热情。

3. 学生在合作学习中,培养尊重他人、倾听他人意见的良好品质,形成积极向上的团队精神。

二、教学内容本节教学内容主要以C语言基础知识和程序设计方法为核心,结合教材以下章节内容进行组织:1. C语言基础知识:数据类型、变量定义和运算符。

- 教材章节:第二章第一节- 内容列举:整型数据类型、变量定义、基本运算符及其应用。

2. 控制结构:循环结构和条件判断语句。

- 教材章节:第三章- 内容列举:for循环、while循环、if-else条件判断语句及其嵌套。

3. 函数和模块化编程:函数定义、调用和参数传递。

- 教材章节:第四章- 内容列举:函数定义、返回值、形参与实参传递。

4. 随机数生成与用户交互:rand()函数、srand()函数和输入输出流。

- 教材章节:第六章第三节- 内容列举:生成随机数的方法、设置随机数种子、标准输入输出流的使用。

5. 猜数字游戏程序设计:分析需求、设计算法、编写代码和调试。

- 教学安排:结合以上章节内容,分阶段指导学生进行猜数字游戏程序设计。

根据以上教学内容,制定详细的教学大纲,明确教学内容的安排和进度,注重理论与实践相结合,使学生能够逐步掌握C语言编程技能,实现猜数字游戏的设计与开发。

Java课程设计(猜数字游戏)完整版

Java课程设计(猜数字游戏)完整版

Java课程设计(猜数字游戏)完整版简介猜数字游戏是一个经典的游戏,在这个游戏中,计算机会随机生成一个数字,玩家需要通过猜测来找出这个数字。

这个Java课程设计将带您一步步完成一个完整版的猜数字游戏,从计算机生成随机数到玩家的输入猜测,以及判断猜测结果的正确性,最后给出相应的提示。

步骤1. 确定游戏规则在猜数字游戏中,计算机会生成一个1到100之间的随机数,玩家需要通过输入猜测来找出这个数字。

计算机会根据玩家的猜测给出相应的提示,直到猜对为止。

提示包括猜测的数字与目标数字的大小关系,以及猜测次数。

2. 创建Java项目首先,我们需要创建一个新的Java项目。

你可以选择使用任何IDE,比如Eclipse或IntelliJ IDEA。

创建一个新的Java 项目,并为项目选择一个合适的名称。

3. 定义游戏的主要类我们开始创建游戏的主要类,例如GuessNumberGame。

在这个类中,我们会包含游戏的主要逻辑。

public class GuessNumberGame {// 代码内容}4. 生成随机数在GuessNumberGame类中,我们需要生成一个1到100之间的随机数,作为目标数字。

我们可以使用Java的java.util.Random类来实现。

import java.util.Random;public class GuessNumberGame {private int targetNumber;public void generateTargetNumber() {Random random = new Random();this.targetNumber = random.nextInt(100) + 1;}}5. 获取玩家的猜测接下来,我们需要获取玩家的输入猜测。

可以使用java.util.Scanner来获取控制台输入。

```java import java.util.Scanner;public class GuessNumberGame { private int targetNumber; private Scanner scanner;public GuessNumberGame() {this.scanner = new Scanner(System.in);}public void getGuessFromPlayer() {System.out.print(\。

C语言课程设计猜数字游戏

C语言课程设计猜数字游戏

C语言课程设计猜数字游戏课程设计报告课程名称:C语言程序设计课题名称:猜数字游戏专业:自动化班级:1095班学号:xxxxxxxx6333姓名:XXXXXXXX指导教师:XXXXXXXX日期:2016年6月28日一、问题描述:本游戏可以由程序随机产生或由用户输入四个到九之间不重复的数字。

玩家通过游戏提示输入八次来匹配上面所输入的数字。

其中,A表示位置和数字都正确,B表示数字正确但位置不正确。

二、功能要求:1.游戏显示以下菜单:1)随机产生数据2)用户输入数据3)退出游戏2.游戏成功或失败后都能返回主菜单。

三、算法提示:1.数据结构:数组2.使用简单的程序设计方法。

四、测试数据:测试数据:3792第一次输入:12340A2B第二次输入:56780A1B第三次输入:08670A1B第四次输入:97861A1B第五次输入:17942A0B第六次输入:27932A2B第七次输入:37924A0B游戏成功!五、其他:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其他功能,如破记录功能,若匹配次数小于纪录保持者,则为破纪录。

目录第一章绪论1.1 项目背景第三条模块调用这一章节将会介绍第三条模块的调用方式,以及如何在程序中正确使用它。

在使用第三条模块之前,我们需要先进行一些准备工作,包括配置环境变量和安装必要的依赖库。

在调用第三条模块时,我们需要注意一些细节问题,比如参数的传递方式和返回值的处理方法。

通过本章的研究,相信大家可以更加熟练地使用第三条模块,提高程序的开发效率。

第四章分析本章节将会对程序进行分析,包括对程序的结构和功能进行详细的介绍。

我们将会从程序的主要模块入手,逐步分析每个模块的功能和实现方法。

通过本章的研究,相信大家可以更加深入地了解程序的内部机制,为后续的开发工作打下坚实的基础。

第一条模块解释与功能在本节中,我们将会对第一条模块进行详细的解释,并介绍它的具体功能。

第一条模块是整个程序的核心模块,它负责实现程序的主要功能,包括菜单的显示、游戏的运行等。

c猜数字游戏课程设计

c猜数字游戏课程设计

c 猜数字游戏课程设计一、课程目标知识目标:1. 让学生掌握猜数字游戏的基本规则和算法流程。

2. 使学生理解计算机随机数的概念及其在猜数字游戏中的应用。

3. 培养学生运用循环、条件判断等基本编程结构解决实际问题的能力。

技能目标:1. 培养学生运用编程语言实现猜数字游戏的编写与调试。

2. 提高学生分析问题、解决问题的能力,能够运用所学知识进行程序优化。

3. 培养学生的团队协作能力,学会与他人共同探讨、解决问题。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其探究精神。

2. 培养学生面对挑战时的坚持和耐心,形成积极向上的学习态度。

3. 培养学生遵守游戏规则,尊重他人,树立公平竞争的价值观。

课程性质:本课程为信息技术学科,以实践操作为主,注重培养学生的动手能力和逻辑思维能力。

学生特点:五年级学生,具备一定的信息技术基础,对编程有初步了解,好奇心强,喜欢动手操作。

教学要求:结合学生特点,课程设计应注重实践性、趣味性和挑战性,引导学生在实践中掌握知识,提高技能,培养情感态度价值观。

教学过程中,注重分层教学,关注每一个学生的学习进度,确保课程目标的实现。

通过本课程的学习,使学生能够达到预定的学习成果。

二、教学内容1. 猜数字游戏规则及算法流程介绍- 游戏规则讲解:介绍猜数字游戏的基本规则,让学生理解游戏的核心玩法。

- 算法流程分析:引导学生探讨猜数字游戏的算法流程,理解计算机随机数的产生和应用。

2. 编程语言基础- 循环结构:复习循环结构的使用,如for、while循环。

- 条件判断:回顾条件判断语句,如if、else if、else。

3. 猜数字游戏编程实践- 编程实现:指导学生利用所学编程知识,编写猜数字游戏程序。

- 调试与优化:教授学生如何调试程序,发现并解决常见问题,学会优化程序性能。

4. 教学内容安排与进度- 第一课时:介绍猜数字游戏规则及算法流程,复习编程语言基础。

- 第二课时:指导学生编写猜数字游戏程序,进行调试与优化。

qt猜数字游戏课课程设计

qt猜数字游戏课课程设计

qt猜数字游戏课课程设计一、教学目标本课程旨在通过Qt猜数字游戏的设计与实现,让学生掌握以下知识目标:1.理解Qt基本概念和编程模式。

2.掌握Qt事件的处理机制。

3.熟悉Qt常用的图形用户界面组件。

4.能够使用Qt Creator进行基本的应用程序开发。

5.能够编写Qt事件的处理函数。

6.能够设计并实现一个简单的猜数字游戏。

情感态度价值观目标:1.培养学生独立思考和解决问题的能力。

2.培养学生团队合作和交流分享的意愿。

3.培养学生对计算机科学和软件工程的兴趣和热情。

二、教学内容本课程的教学内容主要包括以下几个部分:1.Qt基本概念和编程模式介绍。

2.Qt事件的处理机制讲解。

3.Qt常用图形用户界面组件的使用。

4.猜数字游戏的设计与实现。

具体的教学大纲如下:1.第一课时:Qt基本概念和编程模式介绍。

2.第二课时:Qt事件的处理机制讲解。

3.第三课时:Qt常用图形用户界面组件的使用。

4.第四课时:猜数字游戏的设计与实现。

三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:用于讲解Qt基本概念和编程模式,Qt事件的处理机制,以及Qt常用图形用户界面组件的使用。

2.案例分析法:通过分析已有的Qt应用程序,让学生更好地理解Qt编程。

3.实验法:让学生动手编写猜数字游戏,以巩固所学知识。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Qt编程入门》。

2.参考书:《Qt Creator实战》。

3.多媒体资料:Qt Creator的安装教程和操作指南。

4.实验设备:计算机。

以上教学资源将丰富学生的学习体验,帮助学生更好地掌握Qt猜数字游戏的设计与实现。

五、教学评估本课程的评估方式将包括以下几个方面,以保证评估的客观性和公正性:1.平时表现:包括课堂参与度、小组讨论和合作等,占总评的30%。

2.作业:包括猜数字游戏的初步设计、源代码等,占总评的30%。

3.考试:包括Qt编程基础知识和猜数字游戏的实现细节,占总评的40%。

猜数字游戏课程设计vb

猜数字游戏课程设计vb

猜数字游戏课程设计vb一、教学目标本课程旨在通过“猜数字游戏”项目的设计与实现,让学生掌握Visual Basic编程基础,培养其逻辑思维能力和问题解决能力。

具体目标如下:•了解和掌握Visual Basic的基本语法和编程结构。

•理解事件驱动编程的概念。

•学习如何使用Visual Basic进行窗口应用程序的设计。

•学生能独立设计并实现一个简单的猜数字游戏。

•学生能够运用所学的知识解决实际问题。

•提升学生利用编程语言进行创新和实践的能力。

情感态度价值观目标:•培养学生对计算机科学的兴趣,增强其学习编程的动力。

•培养学生面对挑战不轻言放弃的精神。

•引导学生理解编程在现代社会的重要性。

二、教学内容教学内容将围绕Visual Basic编程展开,具体包括:•Visual Basic简介:介绍Visual Basic的发展历史和特点。

•基本语法:变量、数据类型、运算符、控制结构等。

•面向对象编程:理解类和对象的概念,学习如何定义和使用类。

•事件驱动编程:学习事件的概念,理解如何响应用户事件。

•用户界面设计:学习如何设计图形用户界面(GUI)。

•猜数字游戏设计:通过项目实践,综合运用以上知识设计游戏。

三、教学方法本课程将采用讲授法、实践法和小组讨论法相结合的方式进行教学:•讲授法:用于向学生介绍和解释Visual Basic的基本概念和语法。

•实践法:通过让学生动手设计猜数字游戏,强化知识的应用和技能的培养。

•小组讨论法:在游戏设计过程中,鼓励学生进行小组合作,共同解决问题,培养团队协作能力。

四、教学资源教学资源包括:•教材:《Visual Basic编程基础》。

•多媒体资料:包括教学PPT、在线编程教程和视频讲解。

•实验设备:计算机实验室,每台计算机安装有Visual Basic环境。

•在线编程平台:供学生在线练习和提交作业。

以上资源将配合教学内容和方法,为学生提供一个全面、互动的学习环境。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等来评估其学习态度和理解程度,占总评的30%。

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

课程设计任务书学生姓名:专业班级:自动化1004班指导教师:工作单位:自动化学院题目要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.猜数字游戏程序设计随机产生一个0至149的数字(不显示),输入猜测数字,程序提示和所猜数字大小,直至正确,猜数正确后显示猜数的次数,程序采用汇编语言在PC机上完成。

2.画出简要程序流程图,编写程序。

3.撰写课程设计说明书。

内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:2012年12月30日----- 12月31日查阅资料及方案设计2013年01月01日----- 01月05日编程2013年01月06 日----- 01月08日调试程序2013年01月09 日----- 01月10日撰写课程设计报告指导教师签名:20 年01 月11 日系主任(或责任教师)签名:年月日目录摘要 (1)1 汇编语言基础 (2)1.1汇编语言简介 (2)1.2汇编语言特点 (2)2 设计原理分析 (3)2.1随机数的产生 (3)2.2子模块 (3)2.3设计流程图 (4)3 子程序分析 (5)3.1RAN的主要算法 (5)3.2INPUT的主要算法 (5)3.3ENTER的主要算法 (6)4源程序 (7)4.1程序代码 (7)4.2程序运行截图 (13)心得体会 (15)参考文献 (16)摘要该程序为玩家提供猜数字游戏的基本功能。

当用户选择开始游戏时,系统会在内部产生对应范围内的随机数,以供用户进行猜测,用户每次猜数字后系统会给出本次猜数字的结果提示,先比较用户猜测数字是否等于系统产生的随机数,若相等则提示用户猜数字成功。

如果用户猜测数字不等于系统产生的随机数,则提示该数字与随机数比较时大了还是小了,并输出比较结果,同时记录当前用户猜测的次数。

直至用户成功猜中随机数。

关键词:随机数的产生余数1 汇编语言基础1.1汇编语言简介汇编语言(AssemblyLanguage)是面向机器的程序设计语言。

在汇编语合中,用助记符代替操作码,用地址符号或标号代替地址码。

这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。

于是汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。

汇编程序把汇编语言翻译成机器语言的过程称为汇编。

作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。

高级的汇编器如MASM,TASM等等为人们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。

在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。

现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。

汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

1.2汇编语言特点1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。

2.保持了机器语言的优点,具有直接和简捷的特点。

3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5.经常与高级语言配合使用,应用十分广泛。

2 设计原理分析2.1随机数的产生真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。

而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的,这样可以认为这个可预见的结果其出现的概率是100%。

所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。

此程序的关键问题是如何产生一个1~100之间的随机整数(本程序中所涉及的数均指整数,以下不再赘述)。

可以调用BIOS的功能调用1AH号中断(MOV AH,0 INT 1AH)或者调用DOS系统功能调用21H号中断(MOV AH,2CH INT 21H)取系统时间,DH:DL=秒:1/100秒。

将DX中的内容赋给AX,并将AX 的高六位清零,然后AX除以150,则会产生0~149之间的余数。

2.2子模块本程序共分为六个模块:MAIN -------程序的入口点,程序运行后在DOS屏幕上显示主菜单,给出相关的操作提示,并调用RAN、GUESS、ENTER等子程序。

RAN -------调用相关的中断,取系统时间,产生一个0~149之间的随机数。

GUESS------本程序的重要模块,调用INPUT、PRINT、ENTER等子程序。

INPUT------用于玩家输入其所猜之数,并给出相关的输入提示。

PRINT------用于游戏结束时输入系统所产生的随机数。

ENTER-------用于回车换行2.3设计流程图设计流程图如图2-1所示。

图2-1设计流程图3 子程序分析3.1 RAN的主要算法RAN PROC NEARPUSH AXPUSH DXMOV AH,0 ;读时钟计数器值INT 1AHMOV AX,DXAND AH,3 ;将高6位清零MOV DL,150 ;除以150,产生0~149余数,余数在AH 中DIV DLMOV AL,AHMOV AH,0MOV RANDOM,AX ;将随机数保存于RANDOM中MOV AH,09HLEA DX,MESS2INT 21HCALL NEAR PTR ENTERPOP DXPOP AXRETRAN ENDP3.2 INPUT的主要算法INPUT PROC NEARMOV BX,0INL1:MOV AH,01HINT 21HCMP AL,0DHJZ INEXITCMP AL,30HJAE INL2CMP AL,08HJE INL1CALL NEAR PTR ENTERMOV AH,09HLEA DX,MESS9INT 21HINL2:CMP AL,39HJBE INL3CALL NEAR PTR ENTERMOV AH,09HLEA DX,MESS9INT 21HJMP INL1INL3:AND AL,0FHMOV AH,0XCHG BX,AXMOV CX,10MUL CXADD BX,AXJMP INL1 INEXIT:MOV INNUM,BXRETINPUT ENDP3.3 ENTER的主要算法ENTER PROC NEARPUSH AXPUSH DXMOV AH,02HMOV DL,0DHINT 21HMOV DL,0AHINT 21HPOP DXPOP AXRETENTER ENDP4 源程序4.1程序代码DATA SEGMENTRANDOM DW ? ;用于保存产生的随机数INNUM DW ? ;用于保存玩家输入的数JISHU DW 0 ;用于保存玩家猜数的次数MENU DW 0DB 0DH,0AH,"*----------------------------------------------------*"DB 0DH,0AH,"* *"DB 0DH,0AH,"* MAIN MENU *"DB 0DH,0AH,"* *"DB 0DH,0AH,"* S.START THE GAME *"DB 0DH,0AH,"* *"DB 0DH,0AH,"* E.EXIT THE GAME *"DB 0DH,0AH,"* *"DB 0DH,0AH,"*----------------------------------------------------*"DB 0DH,0AH,"$"TITLE1 DB 0DH,0AH," NUMBER-GUESSING GAME",0DH,0AH,"$"MESS1 DB 0DH,0AH,"NUMBER-GUESSING GAME BEGINS.$" MESS2 DB 0DH,0AH,"THE RANDOM NUMBER HAS BEEN GENERATED.$"MESS3 DB 0DH,0AH,"PLEASE INPUT THE NUMBER YOUGUESS(DECIMAL,BETWEEM 0 AND 149):$"MESS4 DB 0DH,0AH,"IT IS BIGGER ,PLEASE REGUESS:$:"MESS5 DB 0DH,0AH,"IT IS SMALLER,PLEASE REGUESS:$"MESS6 DB 0DH,0AH,"CONGRATULATIONS,YOU GUESSED!$" MESS7 DB 0DH,0AH,"THE RANDOM NUMBER IS $"MESS8 DB 0DH,0AH,"PLEASE INPUT YOUR CHOICE:$"DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATABEGIN:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXCALL NEAR PTR ENTERMOV AH,09HLEA DX,TITLE1INT 21HMOV DX,OFFSET MENUINT 21HLEA DX,MESS8INT 21HMOV AH,01HINT 21HCALL NEAR PTR ENTER ML1: CMP AL,'S'JE ML2ML2: MOV JISHU,0MOV AH,09HLEA DX,MESS1INT 21HCALL NEAR PTR ENTERCALL NEAR PTR RANCALL NEAR PTR GUESSMOV AH,09HLEA DX,MESS8INT 21HMOV AH,01HINT 21HCALL NEAR PTR ENTER ML3:CMP AL,'E'JE EXITML4:MOV AH,09HMOV AH,01HINT 21HCALL NEAR PTR ENTERJMP ML1EXIT:CALL NEAR PTR ENTER MOV AH,4CHINT 21HRETMAIN ENDPRAN PROC NEARPUSH AXPUSH DXMOV AH,0 ;读时钟计数器值INT 1AHMOV AX,DX ;将高6位清零AND AH,3MOV DL,150 ;除以150,产生0~149余数,余数在AH中DIV DLMOV AL,AHMOV AH,0MOV RANDOM,AX ;将随机数保存于RANDOM中MOV AH,09HLEA DX,MESS2INT 21HCALL NEAR PTR ENTERPOP DXPOP AXRETRAN ENDPGUESS PROC NEARMOV AH,09HLEA DX,MESS3INT 21HADD JISHU,1GL:CALL NEAR PTR INPUTMOV AX,INNUMMOV BX,RANDOMCMP AX,BXJA GL1JB GL2CALL NEAR PTR ENTERMOV AH,09HLEA DX,MESS6INT 21HCALL NEAR PTR ENTERLEA DX,MESS7INT 21HCALL NEAR PTR PRINTJMP GEXIT1GL1:CALL NEAR PTR ENTERMOV AH,09HLEA DX,MESS4INT 21HADD JISHU,1JMP GLGL2:CALL NEAR PTR ENTER MOV AH,09HLEA DX,MESS5INT 21HADD JISHU,1JMP GLGEXIT1:CALL NEAR PTR ENTERCALL NEAR PTR ENTERRETGEXIT2:CALL NEAR PTR ENTERMOV AH,09HCALL NEAR PTR ENTERLEA DX,MESS7INT 21HCALL NEAR PTR PRINTCALL NEAR PTR ENTERCALL NEAR PTR ENTERRETGUESS ENDPPRINT PROC NEARMOV AX,RANDOMMOV BL,100DIV BLMOV BL,AHCMP AL,0JE PL1MOV DL,ALOR DL,30HMOV AH,02HINT 21HPL1:MOV AL,BLMOV AH,0MOV BL,10DIV BLMOV BL,AHCMP AL,0JE PL2MOV DL,ALMOV AH,02HINT 21HPL2:MOV DL,BLOR DL,30HMOV AH,02HINT 21HRETPRINT ENDPINPUT PROC NEARMOV BX,0INL1:MOV AH,01HINT 21HCMP AL,0DHJZ INEXITCMP AL,30HJAE INL2CMP AL,08HJE INL1CALL NEAR PTR ENTERMOV AH,09HINL2:CMP AL,39HJBE INL3CALL NEAR PTR ENTERMOV AH,09HJMP INL1INL3:AND AL,0FHMOV AH,0XCHG BX,AXMOV CX,10MUL CXADD BX,AXJMP INL1INEXIT:MOV INNUM,BXRETINPUT ENDPENTER PROC NEARPUSH AXPUSH DXMOV AH,02HMOV DL,0DHINT 21HINT 21HPOP DXPOP AXRET ENTER ENDP CODE ENDS END BEGIN4.2程序运行截图:利用16位编译系统调试程序如图4-1所示图4-1 利用16位编译系统调试程序游戏开始界面如图4-2所示图4-2 游戏开始界面摁S后开始游戏如图4-3所示图4-3 摁S后开始游戏猜测直到数字正确如图4-4所示图4-4 猜测直到数字正确5心得体会这次的课设算是最为艰难的一次了吧,甚至最后还换了一个题目,实在是觉得挺不好过的,最后没有做出最开始的题目,在网上和书上寻找资料的时候,实在是找不到相关的资料,去向大四的学长门请教,他们也都说帮不上忙。

相关文档
最新文档