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

2023-12-08 0 864

在看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

这篇文章就介绍到这了,希望大家以后多多支持悠久资源网。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 VBS vbs 自制数字益智游戏实现代码 https://www.u-9.cn/jiaoben/vbscript/130640.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务