主页 > 知识库 > vbs 自制数字益智游戏实现代码

vbs 自制数字益智游戏实现代码

热门标签:银行业务 服务器配置 网站文章发布 美图手机 智能手机 检查注册表项 呼叫中心市场需求 铁路电话系统

在看vb开发,看到二维数组时突发奇想用二维数组作为游戏关卡;

1. 选择操作: 游戏开始时会提示选择注册, 登录, 退出三种选项,

2.注册: 注册成功会将用户账户与密码存入用户数据txt文档中,连续三次输入 空值会直接退出游戏;

3. 登录: 登录时会将输入数据与用户数据文档内容进行比对, 存在该用户则登 录成功, 同样失败三次后退出游戏;

4. 开始游戏: 登录成功后,会直接进入游戏,游戏暂定为三个关卡, 每个关卡三 个小节,游戏通过规则为以关卡作为二维数组的二维数组下标(下标),小 节作为 一位数组下标(下标+4)...文件里有具体实现,不啰嗦额;

5. 用户登录,通关每关游戏都会写入游戏日志文档game _log.txt ,记录用户,操 作,通关进度, 通关时间等

ps: 文件下载后,双击即可运行, 游戏的用户文档game_user.txt和日志文档game_log.txt是按照我桌面路径创建的,如果不喜欢可以直接修改为d:\game\game_user.txt等等,游戏不在乎多好玩, 希望能给想学习vbs的童鞋一些帮助

完整代码

Dim game(3,2),i,j,result,num '定义二维数组 二维长度3, 一维长度2
Dim fso ,ws,f ,logFileWrite,logFileRead, fileStr,flag,flagFailNum, flagIndex ' 定义日志文件
  set ws = CreateObject("wscript.shell")
  Set fso = CreateObject("scripting.filesystemobject") 
  If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_log.txt") Then 
    Else 
    Set f = fso.createtextfile("C:\Users\18190\Desktop\vbs\测试\game_log.txt",true)
      'If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_log.txt") Then
       ' Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_log.txt",8,true)
       '    logFileWrite.writeLine "数字猜猜猜小游戏-游戏日志"
     ' end if 
   
  End If 

  For i=0 To 2 ' 关卡赋值
   For j=4 To 5
    game(i,j-4)= i*3+j
   Next
 Next

 'For i=0 To 2
  ' For j=0 To 1
  'MsgBox "game("i","j"): " game(i,j)
  'Next
 'Next

' 选择操作
Dim cnum, failNum, sucFlag,t
   failNum =0
   sucFlag =0
 Do While 1=1

 If sucFlag=1 Then 
   Exit Do 
  End if 

 If failNum =3 Then
  MsgBox "您有连续三次操作失误,系统将直接退出..."
  Exit do
 end if 
 cnum = InputBox( "欢迎来到 数字猜猜猜小游戏 请选择操作:"chr(10)" 1.注册  2.登录   3.退出","数字猜猜猜小游戏")
  If cnum ="" Then
     cnum = "-1"
  End if
 Select Case cnum
 Case 1 
' 账户注册
Dim juname, upwd,regStr 
  regStr = ""
 do while regStr = ""
  uname = InputBox("请输入注册账号:  ","数字猜猜猜小游戏-注册")
  upwd = InputBox("请输入注册密码:  ","数字猜猜猜小游戏-注册")
  If uname > "" Then 
    If upwd > "" Then 
     regStr = uname"#"upwd
    Else 
     regStr =""
     MsgBox "您输入的注册账号密码有误,请重新输入"
    End If
  Else
    regStr =""
     MsgBox "您输入的注册账号密码有误,请重新输入"
  End If
 
 If regStr >"" Then 
  If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_user.txt") Then 
      Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",8,true)
      t= Year(now)"-"month(now)"-"day(now)" " Hour(now)":"minute(now)":"second(now)
      'logFileWrite.WriteBlankLines 1
      logFileWrite.writeLine regStr "   "t
      logFileWrite.close
      MsgBox "注册成功!"
      exit do
    else 
    Set f = fso.createtextfile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",true)
      If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_user.txt") Then
       Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",8,true)
          logFileWrite.writeLine "数字猜猜猜小游戏-用户数据"
          logFileWrite.writeLine regStr
           logFileWrite.close
          MsgBox "注册成功!"
          exit do
     end if 
  End If 
 end if   
 loop

 'wscript.sleep 1000 

case 2
 ' 账户登录
Dim str 
  Set logFileRead = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",1)
  fileStr = logFileRead.ReadAll
  logFileRead.close
  str = InputBox("请输入您的账户名与密码,中间以#键隔开: "," 数字猜猜猜小游戏-登录")
  if str > "" then 
   flagIndex = InStr(fileStr,str)
    If flagIndex>0 Then 
      flag =1
    Else 
      flag = 0
    Do While flagIndex =0 
     flagFailNum = flagFailNum +1
     If flagFailNum = 3 Then 
     MsgBox "抱歉, 您已连续失败3次,系统退出"
     wscript.sleep 5000 ' 就这样退出吧 -- 缺少wscript 对象
     flagFailNum =0
    end if 
      MsgBox "您的账户与密码输入有误,请查证后再试试...."
     str = InputBox("请输入您的账户名与密码,中间以#键隔开: "," 数字猜猜猜小游戏-登录")
     if str > "" then 
     flagIndex = InStr(fileStr,str)
     end if
     loop
     flag = 1
   End If 
  Else 
     flag = 0
    Do While flagIndex =0 
     flagFailNum = flagFailNum +1
     If flagFailNum = 3 Then 
     MsgBox "抱歉, 您已连续失败3次,系统退出"
     wscript.sleep 5000 ' 就这样退出吧 -- 缺少wscript 对象
     flagFailNum =0
    end if 
      MsgBox "您的账户与密码输入有误,请查证后再试试...."
     str = InputBox("请输入您的账户名与密码,中间以#键隔开: "," 数字猜猜猜小游戏-登录")
     if str > "" then 
     flagIndex = InStr(fileStr,str)
     end if 
     loop
     flag = 1
  end if 


' 通过登录验证
if flag =1 then 
  Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_log.txt",8,true)
      t= Year(now)"-"month(now)"-"day(now)" " Hour(now)":"minute(now)":"second(now)
      'logFileWrite.WriteBlankLines 1
      logFileWrite.writeLine "用户登录: "str "   "t

  MsgBox "恭喜您成功登录 数字猜猜猜小游戏! 接下来进入游戏正题:  "
  num =0
  for i=0 to 2
    For j=0 To 1
     result = InputBox("现在是游戏第"(i+1)"关第"(j+1)"小节"chr(10)" 请输入游戏结果(i*3+j+4): "chr(10)"退出按-5","益智小游戏-数字猜猜猜: ")
     If result ="-5" Then
     exit for
     end if 
     If result ="" Then
     result = "-1"
     end if 
     If cint(result) = i*3+j+4 then
      MsgBox "恭喜您,成功通过第"(i+1)"关第"(j+1)"小节,继续加油哦..."   
     End if
     Do While  cint(result) > i*3+j+4 
      num =num+1
    If num =3 Then
      MsgBox "抱歉, 您已连续失败3次,通关失败!"chr(10)" 游戏进度截止为第"(i+1)"关第"(j+1)"小节,下次努力哦..."
      exit Do
    End if
      MsgBox "抱歉,您猜错了!请查证后再试...."
       result = InputBox("现在是游戏第"(i+1)"关第"(j+1)"小节, 请输入游戏结果(i*3+j+4): ","答案: ")
     If result ="" Then
     result = "-1"
     end if 
     If cint(result) = i*3+j+4 then
      MsgBox "恭喜您,成功通过第"(i+1)"关第"(j+1)"小节,继续加油哦..."  
      Exit do 
     End if
     loop 
    If num =3 Then
      exit for
    end if
    Next
    If result ="-5" Then
     exit for
    end if 
    If num =3 Then
      exit for
    End if
    If i=2 Then
     msg = "聪明的勇士,恭喜您成功通关本游戏!么么哒..."
     MsgBox msg
     t= Year(now)"-"month(now)"-"day(now)" " Hour(now)":"minute(now)":"second(now)
     logFileWrite.writeLine "用户: "str"游戏进度: "msg "   "t
     sucFlag =1
    exit for
    End If
     msg = "恭喜您成功通关第"(i+1)"关卡, 接下来进入第"(i+2)"关...祝您好运!"
    MsgBox msg
     t= Year(now)"-"month(now)"-"day(now)" " Hour(now)":"minute(now)":"second(now)
     logFileWrite.writeLine "用户: "str"游戏进度: "msg "   "t

  Next 

end if

Case 3
 MsgBox "系统即将退出..."
 exit do
case Else 
  MsgBox "您的选择有误,请重新选择..."
 failNum = failNum +1
End select

loop
  

这篇文章就介绍到这了,希望大家以后多多支持脚本之家。

标签:长治 沧州 上海 乐山 河南 沈阳 红河 新疆

巨人网络通讯声明:本文标题《vbs 自制数字益智游戏实现代码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266