| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:新手求个流程图。。
只看楼主 加入收藏
huangjianke
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
新手求个流程图。。
        DATA  SEGMENT
   MSGTITLE0  DB        '    *-------------------------------------*',10,13,'$'
   MSGTITLE1  DB        '    | Now let"S paly a game,guess a word  |',10,13,'$'
   MSGTITLE2  DB        '    |  The word must be A(a)-----Z(z)!    |',10,13,'$'
   MSGTITLE3  DB        '    |      You have only 9 chance!!       |',10,13,'$'
   MSGTITLE4  DB        '    *_____________________________________*',10,13,'$'
    MSGINPUT  DB        10,13,'input word:',10,13,'$'
    MSGERROR  DB        10,13,'wrong word!input again [A(a)--Z(z)]:',10,13,'$'
   MSGRESCUE  DB        10,13,'Rescue game:',10,13,'$'
    MSGLARGE  DB        10,13,'too large!!',10,13,'$'
    MSGSMALL  DB        10,13,'too small!!',10,13,'$'
   MSGRIGHT1  DB        10,13,'Bingo!! you only used ','$'
   MSGRIGHT2  DB        ' times',10,13,'$'
   MSGRECORD  DB        'Congruatulation!!You break the record!','$'
     MSGFAIL  DB        'Game failed! You have use all chance!',10,13,'$'
    MSGAGAIN  DB        10,13,'Want try again?<y/n><Y/N>','$'
     MSGQUIT  DB        10,13,'Are you sure want to quit?<y/n><Y/N>','$'
          AI  DB        ?
       BTIME  DB        ?
        DATA  ENDS

        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA
;------------------------------------------------------------------
        MAIN  PROC      FAR
      START:
              MOV       AX,DATA
              MOV       DS,AX
              LEA       DX,MSGTITLE0
              MOV       AH,09H
              INT       21H
              LEA       DX,MSGTITLE1
              MOV       AH,09H
              INT       21H
              LEA       DX,MSGTITLE2
              MOV       AH,09H
              INT       21H
              LEA       DX,MSGTITLE3
              MOV       AH,09H
              INT       21H
              LEA       DX,MSGTITLE4
              MOV       AH,09H
              INT       21H
              MOV       BTIME,'9'
              CALL      GETTIME
              MOV       AI,DH       ;取当前秒为初始算子

      BEGIN:
              LEA       DX,MSGINPUT
              MOV       AH,09H
              INT       21H         ;输入input number

              MOV       AL,AI
              CALL      GETTIME     ;再次取当前秒
              ADD       AL,DH
              MOV       BL,DL       ;bl加上当前1/100秒,
              MUL       BL          ;之和再乘以当前秒。只为结果尽可能的随机
              MOV       BL,1AH      ;范围是从A到Z共26个字母
              DIV       BL
              MOV       AI,AH
              ADD       AI,41H      ;最小必须是A

;              MOV       DL,AI       ;测试语句1
;              MOV       AH,02H      ;测试语句2
;              INT       21H         ;测试语句3
;              JMP       AGAIN       ;测试语句4

              CALL      COMPARE

      AGAIN:
              LEA       DX,MSGAGAIN
              MOV       AH,09H
              INT       21H
              MOV       AH,01H
              INT       21H
              CMP       AL,'n'      ;输入n表示退出
              JE        EXIT
              CMP       AL,'N'      ;输入N也表示退出
              JE        EXIT
              CMP       AL,'y'
              JE        CONTINUE
              CMP       AL,'Y'
              JE        CONTINUE
              JMP       AGAIN       ;如果既没有输入n、N,也没有输入y、Y,将会要求重输

   CONTINUE:
              JMP       BEGIN
       EXIT:
              MOV       AX,4C00H
              INT       21H
        MAIN  ENDP
;--------------------------------------------------------------------
        TIME  PROC      NEAR
    GETTIME:
              MOV       AH,2CH      ;2C系统功能调用,取系统时间
              INT       21H
              RET
        TIME  ENDP
;--------------------------------------------------------------------
     COMPARE  PROC      NEAR
              MOV       CL,0
      INPUT:
              CMP       CL,9H       ;如果输入次数等于9,跳转游戏失败
              JE        FAILGAME
              MOV       AH,01H
              INT       21H         ;输入字符进行比较
              MOV       BL,AL
              CMP       BL,1BH
              JE        QUITGAME
              INC       CL
              CMP       BL,7AH
              JA        CONTIN
              CMP       BL,60H
              JB        CONTIN
              SUB       BL,20H

     CONTIN:
              CMP       BL,'A'      ;判断是否超出范围
              JB        ERROR
              CMP       BL,'Z'
              JNBE      ERROR
              CMP       BL,AI       ;比较大小
              JE        WIN
              CMP       BL,AI
              JB        SMALLER
              CMP       BL,AI
              JNBE      LARGER

     RESCUE:
              LEA       DX,MSGRESCUE
              MOV       AH,09H
              INT       21H
              JMP       INPUT

    SMALLER:
              LEA       DX,MSGSMALL
              MOV       AH,09H
              INT       21H         ;输出太小的提示信息,重新输入
              JMP       INPUT

     LARGER:
              LEA       DX,MSGLARGE
              MOV       AH,09H      ;输出太大的提示信息,重新输入
              INT       21H
              JMP       INPUT

   FAILGAME:
              LEA       DX,MSGFAIL
              MOV       AH,09H      ;输出游戏失败
              INT       21H
              RET

        WIN:
              INC       CL
              LEA       DX,MSGRIGHT1
              MOV       AH,09H      ;相等,游戏结束,跳转到选择是否再玩一次
              INT       21H
              ADD       CL,2FH      ;CL为比较次数,输出
              MOV       DL,CL
              MOV       AH,02H      ;输出比较的次数
              INT       21H
              LEA       DX,MSGRIGHT2
              MOV       AH,09H
              INT       21H
              MOV       BL,BTIME    ;比较是否小于最好成绩
              CMP       CL,BL
              JC        NEWRECORD
              RET

   QUITGAME:
              LEA       DX,MSGQUIT
              MOV       AH,09H      ;提示是否退出游戏
              INT       21H
              MOV       AH,01H
              INT       21H
              CMP       AL,'Y'      ;输入n表示退出
              JE        EXIT1
              CMP       AL,'y'      ;输入N也表示退出
              JE        EXIT1
              CMP       AL,'N'
              JE        RESCUE
              CMP       AL,'n'
              JE        RESCUE
              JMP       ERROR

      ERROR:
              LEA       DX,MSGERROR
              MOV       AH,09H      ;输入错误,重新输入
              INT       21H
              JMP       INPUT

  NEWRECORD:
              LEA       DX,MSGRECORD
              MOV       AH,09H      ;输出新的最佳成绩
              INT       21H
              MOV       BTIME,CL
              RET

      EXIT1:
              MOV       AX,4C00H
              INT       21H
     COMPARE  ENDP
;-------------------------------------------------
        CODE  ENDS
              END       START
额,这个程序老师让我们写个流程图,明天就要了。。希望你们能帮下。。感激不尽!!
搜索更多相关主题的帖子: word guess 流程图 
2012-06-07 22:00
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:7 
祝好运
2012-06-07 22:07
huangjianke
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-7
收藏
得分:0 
没人吗。。呜呜
2012-06-07 22:23
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:7 
还需要吗?现在

最基础的往往是你最容易忽略的!
2012-06-09 13:08
快速回复:新手求个流程图。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042095 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved