设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1216|回复: 1
打印 上一主题 下一主题

[讨论] VB2010文字游戏 高中一年级电脑课考试工程+源码

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14048
在线时间
2070 小时
注册时间
2016-9-20
帖子
844
跳转到指定楼层
1
发表于 2023-1-18 21:26:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 ppspssss 于 2023-1-18 21:30 编辑

以下注释为没有整理(很混乱 ,) 该范例年代久远距离10年之久, 但还是翻到旧USB找到, 印象已經十分模糊,


高中一年级电脑课考试  适合没试过编程的人学习  ,

前此好像还要做一个文字记忆游戏范例已丢 , 第一关记1个英文字, 第五关记5个, 第10关记10个

From1.vb 为代码  ,  如果已安裝VB2010, NF.sln打开工程

第一步 : 新建工程 , 选择项目 (具体忘了)
学习"宣告" (或称为 "声明")  变量要在使用之前进行宣告,  变量赋值 , (本工程用到文本型String,   整数型Integer   )  
: 在可视化窗口(Form 把元件拉出来 , 包括  按钮(botton)  ,  文字列表(ListBox)  ,   文字框(Label) , 计时器(Timer)

Randomize()
:  "功能是初始化随机数发生器" 每次随机数前都要使用这句,  " 如果不使用Randomize函数,得到的结果将有规律性"
Select Case
: 变量在"不同值" 情况,
这里为遇到不同怪物, 如随机值为1, 遇到 "准格尔翼龙" 随机值为1,  遇到"祸牛"

计时器 Timer的使用 , 重置

按钮的启用, true 为 可按, false 为 不可按

记事本txt的写入( 用于生成存档 )  记事本txt的读入(读取存档 )

VB 代码复制
  1. Public Class Form1
  2.     Dim monster, hero, A As String
  3.     Dim mhp, mAtk, mdef, money, mexp, Def, Lv, monet, exp, hp, atk, mmoney, hurt, T, mhurt, H, O As Integer
  4.  
  5.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.         Button4.Enabled = False
  7.         Button2.Enabled = False
  8.         Button6.Enabled = False
  9.         Button7.Enabled = False
  10.     End Sub
  11.  
  12.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  13.         hp = 10000
  14.         Label2.Text = hp
  15.         atk = Int(Rnd() * 1000) + 200
  16.         Label3.Text = atk
  17.         Def = Int(Rnd() * 1000) + 200
  18.         Label4.Text = Def
  19.         exp = 0
  20.         Label5.Text = exp
  21.         Lv = 1
  22.         Label7.Text = Lv
  23.         monet = 0
  24.         Label6.Text = monet
  25.         hero = InputBox("请输入'自己'")
  26.         Label1.Text = hero
  27.         Button1.Enabled = False
  28.         Button4.Enabled = True
  29.         Button2.Enabled = True
  30.         Button6.Enabled = False
  31.         Timer3.Enabled = True
  32.         Button7.Enabled = True
  33.         Label12.Text = Lv * 18888
  34.     End Sub
  35.  
  36.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  37.         FileOpen(1, My.Computer.FileSystem.CurrentDirectory & "\save1.text", OpenMode.Output)
  38.         Write(1, hero, hp, atk, Def, exp, monet, Lv)
  39.         MsgBox("儲存成功了")
  40.         FileClose(1)
  41.     End Sub
  42.  
  43.     Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  44.  
  45.     End Sub
  46.  
  47.     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  48.         FileOpen(1, My.Computer.FileSystem.CurrentDirectory & "\save1.text", OpenMode.Input)
  49.         Input(1, hero)
  50.         Input(1, hp)
  51.         Input(1, atk)
  52.         Input(1, Def)
  53.         Input(1, exp)
  54.         Input(1, monet)
  55.         Input(1, Lv)
  56.         Label1.Text = hero
  57.         Label2.Text = hp
  58.         Label3.Text = atk
  59.         Label4.Text = Def
  60.         Label5.Text = exp
  61.         Label6.Text = money
  62.         Label7.Text = Lv
  63.         Button1.Enabled = False
  64.         FileClose(1)
  65.         Button4.Enabled = True
  66.         Timer3.Enabled = True
  67.         ListBox1.Items.Add("讀取成功")
  68.         Label21.Text = Lv * 20000
  69.  
  70.     End Sub
  71.  
  72.     Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  73.         Randomize()
  74.         A = Int(Rnd() * 10) + 1
  75.         Select Case A
  76.             Case 1
  77.                 monster = "准格尔翼龙"
  78.                 mAtk = Lv * 100
  79.                 mdef = Lv * 100
  80.                 mhp = 50000
  81.                 mAtk = Int(Rnd() * 1000) + 100
  82.                 mmoney = Int(Rnd() * 10000000) + 18
  83.                 mexp = Lv * 100 + 18
  84.                 Label8.Text = monster
  85.                 Label9.Text = mhp
  86.             Case 2
  87.                 monster = "龙"
  88.                 mAtk = Lv * 300
  89.                 mdef = Lv * 200
  90.                 mhp = 80000
  91.                 mAtk = Int(Rnd() * 1000) + 258
  92.                 mmoney = Int(Rnd() * 10000) + 18
  93.                 mexp = Lv * 100 + 18
  94.                 Label8.Text = monster
  95.                 Label9.Text = mhp
  96.             Case 3
  97.                 monster = "暴龙"
  98.                 mdef = Lv * 80
  99.                 mhp = Lv * 1000
  100.                 mAtk = Int(Rnd() * 188) + 118
  101.                 mmoney = Int(Rnd() * 10000) + 18
  102.                 mexp = Lv * 100 + 18
  103.                 Label8.Text = monster
  104.                 Label9.Text = mhp
  105.             Case 4
  106.                 monster = "龙的傳人"
  107.                 mdef = Lv * 300
  108.                 mhp = 29620
  109.                 mAtk = Int(Rnd() * 1000) + 135
  110.                 mmoney = Int(Rnd() * 10000) + 18
  111.                 mexp = Lv * 100 + 18
  112.                 Label8.Text = monster
  113.                 Label9.Text = mhp
  114.             Case 5
  115.                 monster = "翼龙"
  116.                 mdef = Lv * 250
  117.                 mhp = 10000
  118.                 mAtk = Int(Rnd() * 1000) + 789
  119.                 mmoney = Int(Rnd() * 10000) + 18
  120.                 mexp = Lv * 100 + 18
  121.                 Label8.Text = monster
  122.                 Label9.Text = mhp
  123.             Case 6
  124.                 monster = "狂龙"
  125.                 mdef = Lv * 90
  126.                 mhp = Lv * 1000
  127.                 mAtk = Int(Rnd() * 1000) + 871
  128.                 mmoney = Int(Rnd() * 10000) + 18
  129.                 mexp = Lv * 100 + 18
  130.                 Label8.Text = monster
  131.                 Label9.Text = mhp
  132.             Case 7
  133.                 monster = "大怪獸"
  134.                 mdef = Lv * 200
  135.                 mhp = 100200
  136.                 mAtk = Int(Rnd() * 1000) + 1568
  137.                 mmoney = Int(Rnd() * 10000) + 18
  138.                 mexp = Lv * 100 + 18
  139.                 Label8.Text = monster
  140.                 Label9.Text = mhp
  141.             Case 8
  142.                 monster = "鴨嘴獸"
  143.                 mdef = Lv * 201.3
  144.                 mhp = Lv * 0.2 * 5000
  145.                 mAtk = Int(Rnd() * 1000) + 457
  146.                 mmoney = Int(Rnd() * 80000000) + 18
  147.                 mexp = Lv * 100 + 18
  148.                 Label8.Text = monster
  149.                 Label9.Text = mhp
  150.             Case 9
  151.                 monster = "大螞蟻"
  152.                 mdef = Lv * 200
  153.                 mhp = 400000
  154.                 mAtk = Int(Rnd() * 1000) + 987
  155.                 mmoney = Int(Rnd() * 10000) + 18
  156.                 mexp = Lv * 100 + 18
  157.                 Label8.Text = monster
  158.                 Label9.Text = mhp
  159.             Case 10
  160.                 monster = "祸牛"
  161.                 mdef = Lv * 70
  162.                 mhp = hp * 0.8
  163.                 mAtk = Int(Rnd() * 1000) + 333
  164.                 mmoney = Int(Rnd() * 10000) + 18
  165.                 mexp = Lv * 100 + 18
  166.                 Label8.Text = monster
  167.                 Label9.Text = mhp
  168.         End Select
  169.         Button4.Enabled = False
  170.         Button3.Enabled = False
  171.         Label10.Text = mAtk
  172.         Label11.Text = mdef
  173.         Button2.Enabled = False
  174.         Button6.Enabled = True
  175.         Timer3.Enabled = False
  176.         Button7.Enabled = True
  177.  
  178.     End Sub
  179.  
  180.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  181.         T = T - 1
  182.         If T < 0 Then
  183.             hp = hp - mAtk
  184.             Label2.Text = hp
  185.             T = T + 8
  186.             ListBox1.Items.Add("怪物打击,受到傷害")
  187.  
  188.  
  189.         End If
  190.         If mhp <= 0 Then
  191.             monet = mmoney + monet
  192.             exp = exp + mexp
  193.             Label5.Text = exp
  194.             Label6.Text = monet
  195.             Label7.Text = Lv
  196.             Timer1.Enabled = False
  197.             Timer2.Enabled = False
  198.             Button2.Enabled = True
  199.             Button3.Enabled = True
  200.             Button4.Enabled = True
  201.             ListBox1.Items.Add("怪物死亡")
  202.             ListBox1.Items.Add("獲得金錢!!!")
  203.             ListBox1.Items.Add("獲得經驗值!!!!")
  204.             Label9.Text = 0
  205.             Button5.Enabled = True
  206.             Button6.Enabled = False
  207.             If exp > 0.2 ^ Lv Then
  208.                 Lv = Lv + 1
  209.                 hp = hp + Lv * 1 / 10
  210.                 atk = atk + Lv ^ 1.001 - 2 * Lv
  211.                 Def = Def + Lv ^ 1.001 - 18
  212.                 Label3.Text = atk
  213.                 Label4.Text = Def
  214.                 ListBox1.Items.Add("獲得升級!!!!")
  215.             End If
  216.         End If
  217.         If hp < 0 Then
  218.             hp = 0
  219.             Label2.Text = hp
  220.             Button1.Enabled = True
  221.             Button4.Enabled = False
  222.             Button2.Enabled = False
  223.             Button5.Enabled = False
  224.             Button3.Enabled = True
  225.             Button6.Enabled = False
  226.             Timer2.Enabled = False
  227.             Timer1.Enabled = False
  228.             Timer3.Enabled = False
  229.             hp = 0
  230.             Label2.Text = hp
  231.             MsgBox("陣亡...")
  232.  
  233.         End If
  234.         Label21.Text = Lv * 18888
  235.  
  236.     End Sub
  237.  
  238.     Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
  239.         H = H - 1
  240.         If H < 0 Then
  241.             Label9.Text = mhp
  242.             H = H + 8
  243.             mhp = mhp - hurt
  244.             ListBox1.Items.Add("打击了怪物")
  245.  
  246.         End If
  247.         If hurt <= 0 Then
  248.             hurt = hurt * -0.25
  249.         End If
  250.  
  251.     End Sub
  252.  
  253.     Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
  254.         If monet < Lv * 18888 Then
  255.             MsgBox("余额不足,无法购买")
  256.         End If
  257.         If monet >= 20000 Then
  258.             monet = monet - Lv * 18888
  259.             Label6.Text = monet
  260.             Label2.Text = hp
  261.             hp = hp + Lv * 18888
  262.             ListBox1.Items.Add("恢復大量血量")
  263.             Button5.Enabled = False
  264.         End If
  265.  
  266.     End Sub
  267.  
  268.     Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
  269.  
  270.     End Sub
  271.  
  272.     Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label7.Click
  273.  
  274.     End Sub
  275.  
  276.     Private Sub Label12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  277.  
  278.     End Sub
  279.  
  280.     Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click
  281.  
  282.     End Sub
  283.  
  284.     Private Sub Label17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label17.Click
  285.  
  286.     End Sub
  287.  
  288.     Private Sub Label16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label16.Click
  289.  
  290.     End Sub
  291.  
  292.     Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
  293.         Button7.Enabled = False
  294.         Timer3.Enabled = True
  295.         Button4.Enabled = False
  296.         Button3.Enabled = False
  297.         Button2.Enabled = False
  298.         Button6.Enabled = False
  299.         Timer1.Enabled = True
  300.         Timer2.Enabled = True
  301.         hurt = Int(atk * Rnd() - mdef * Rnd())
  302.     End Sub
  303.  
  304.     Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  305.  
  306.  
  307.     End Sub
  308.  
  309.     Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
  310.         O = 9
  311.         O = O - 10
  312.         If O < 0 Then
  313.             hp = hp + Lv * 1
  314.             Label2.Text = hp
  315.         End If
  316.  
  317.     End Sub
  318.  
  319.     Private Sub Button7_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
  320.         Button4.Enabled = True
  321.         Timer3.Enabled = True
  322.         Button6.Enabled = False
  323.         Button7.Enabled = False
  324.     End Sub
  325.  
  326.     Private Sub Label12_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label12.Click
  327.  
  328.     End Sub
  329. End Class




opiuny.rar (126.98 KB, 下载次数: 1)

8X_%PTB[[Y05Y~P@[][{YPM.png (79.17 KB, 下载次数: 7)

8X_%PTB[[Y05Y~P@[][{YPM.png

评分

参与人数 1+1 收起 理由
哇哇哇啊叭叭 + 1 认可答案

查看全部评分

内容仅供参考,

Lv4.逐梦者

梦石
0
星屑
10673
在线时间
908 小时
注册时间
2019-11-5
帖子
2225

极短24参与

2
发表于 2023-1-18 22:43:21 | 只看该作者
我靠,有前途。
风继续吹,不忍远离。年少轻狂,眼神明亮,最好的年纪,最好的时光。希望岁月是一场春梦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 01:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表