精华内容
下载资源
问答
  • 适用vb设计小游戏,运用vb简单设计小游戏坦克大战
  • 下面是编为大家收集的vb程序设计论文,希望能够帮助到大家。Visual Basic(简称VB)是目前使用最广泛的一种程序设计语言,是在Basic语言的基础上发展起来的,它继承了Basic语言简单易用的优点,结合了可视化界面的...

    vb程序设计论文

    在社会的各个领域,大家都跟论文打过交道吧,论文的类型很多,包括学年论文、毕业论文、学位论文、科技论文、成果论文等。如何写一篇有思想、有文采的论文呢?下面是小编为大家收集的vb程序设计论文,希望能够帮助到大家。

    262f710c59fbc3b2706f5fd665a84ee3.png

    Visual Basic(简称VB)是目前使用最广泛的一种程序设计语言,是在Basic语言的基础上发展起来的,它继承了Basic语言简单易用的优点,结合了可视化界面的设计方法,采用面向对象、事件驱动的编程机制,把Windows编程复杂性进行巧妙封装,使开发Windows环境下的各种应用软件变得更为容易。因此,目前国内很多高校都选择将《VB程序设计》这门课程作为理工科专业的一门基础课程。程序设计具有知识结构严谨、逻辑性强的特点,学生学习起来比较困难,教学效果也不尽如人意。如何提高本课程的教学质量和教学效果,是每位授课教师都会关注的课题。

    1教学中存在的问题

    就VB程序设计这门课程的教学现状而言,通常采用的还是以课本原有知识体系为脉络的传统讲授法,教学内容大多以线性方式展开,同时结合上机实践操作来巩固和熟悉课堂上所讲的每一章节的知识点。经过教学实践证明,这种教学模式能够让学生掌握Visual Basic的较多的理论知识,也可以阅读程序代码,但是让学生自己解决一些问题的时候,通常都会束手无策。经过分析总结出此课程在教学中存在的问题:

    一是教学内容与教学目标不一致。VB程序设计课程的教学目标是培养学生程序设计的基本知识、思维方式以及基本的操作技能,而教师在实际授课时,大多单纯依照教材讲授理论基础知识,授课基本上是以语言自身的知识体系为脉络展开,过分注重语句、语法和结构的讲解,忽视对学生分析与解决问题能力的引导,不能很好的将编程环境、程序设计语言、算法、数据结构以及程序设计思想关联起来形成体系化教学。[1]导致学生只学会了语法概念而不会使用,能够读懂某一条语句,却无法理解一段代码的含义。

    二是实验内容过于简单。上机实验大多都是属于基础与验证型实验,偏重于VB语言的基本语法和结构的练习,能够帮助学生更好的理解和掌握这些语法知识,但无法培养学生编程能力和解决实际问题的能力。实验内容普遍都是知识点案例,针对的是具体的一个或多个知识点,没有依托完整的实践项目,使学生对知识点的学习感到枯燥无味,而且很容易遗忘。

    三是学生缺乏计算机的思维方式。学生在接触这门课程之前通常没有任何基础,学生普遍缺乏相应的知识背景和算法思想,对程序设计的思维方式还不适应,分析和解决问题的能力处于一个较低的水平。在学习过程中经常会出现这种情况,教师对程序进行分析讲解时学生能够听懂理解,代码也能够读懂,但是让学生自己编写时,就无处下手,久而久之学生对编程充满畏惧感,对学习本门课程缺乏兴趣。

    如何改变目前教学中存在的问题,让学生能够更好地掌握VB语言,掌握程序设计的基本方法?需要对课程的教学进行改革和创新。

    2课程教学改革

    2.1拓展教学内容

    本课程主要培养学生的程序设计思维方式和实际编程能力,而不是单纯的程序设计语言,因此必须打破固有的以“语法”和“结构”为中心的传统教学理念,以突出能力培养为主轴,围绕能力培养组织教学内容。教学内容的选择不能仅仅局限在一本教材上,要突破教材局限,将程序设计中所需要的众多知识点加以整合,包括VB语言的语法结构、可视化编程方法、常用的算法、数据结构以及程序的调试等,形成新的知识体系。在这里算法是程序设计的核心,而语言只是一种工具,在授课的过程中,特别是讲解实例时,需要剥开语言这层外壳,让学生掌握其中的精粹——算法,也就是如何利用计算机来解决某一具体问题。

    当然,这并不是说语言不重要,语言是程序设计的工具,如果不掌握语言,程序设计就无从谈起。教材上的语法描述非常细致、系统,但大量的语法规则会使初学者感觉枯燥,这非常影响学生的学习兴趣。根据二八定律,在任何一组东西中,只有20%是最重要的,事实上VB语言也是如此,最常用、最重要的知识点并不是很多。因此在讲述语法时,只需提供给学生最基本的语法知识,其余的细枝末节可以由学生自学。

    2.2优化教学方法和教学策略

    在程序设计的教学中,传统讲课方式的缺陷已众所周知,因为这是一种以教师为主、学生为辅的一种授课形式,讲课中教师是积极的而学生是消极的,很难把学生吸引到学习进程之中。但这不是意味着要把这种授课方式抛弃,讲课是把大量知识传递给学生的一种常用模式,尤其在本课程的教学中,学生缺乏普遍缺乏知识背景,大量的理论知识需要传递给学生,这就需要教师进行详细地讲解。在讲解时应该采用多种策略,比如在讲述抽象概念时最好与实践相关联,或者与学生已有的知识联系起来,这样比较容易理解。在提到函数和数据类型的时候,可以跟学生比较熟悉的Excel中的.相关概念关联起来。在讲述面向对象的概念时,可以拿Windows操作系统作为例子,它就是依照面向对象的思想编制而成的,在桌面上的每个图标,可以理解成一个对象,当需要启动某个对象时,只需用鼠标点击它(消息驱动)。[2]不仅如此,在不同的情境下还需要灵活运用多种教学方法,如问题法、引导法、任务驱动和实例教学法等,这样有助于让学生从消极的学习者转变为积极的学习者。

    2.3完善实验教学体系

    VB程序设计是一门理论性和实验性都很强的课程,对实验环节有较高的要求。要学好这门课,学生只有经过大量的上机实验,才能掌握程序设计的技能和方法。因此,在教学过程中要给学生留出足够的上机时间,让学生在实验中理解VB语言的基本概念,掌握基本的编程方法。结合学生的专业方向,精心选择合适的案例、设计型与研究型课题,构建有助于培养学生动手能力和程序设计思维方式的实验教学平台。整个实验环节分为三个层次设计,基础验证型、设计开发型和研究创新型实验,每次实验课有多个基础验证型实验,帮助学生掌握相应的语法知识和算法设计,每一章精选1~2个设计开发型实验,与学生分析讨论解题思路,引导学生独立解决问题,培养学生的上机调试能力。学生以小组为单位,选择一个与其专业相关的研究题目,要求学生逐步完成研究分析与报告,写出个人的心得体会,并在学期末给出一定的时间完成课题。

    2.4创建项目实例库

    充分利用网络资源,搜集各类完整的VB程序实例,从中选取典型的、有实际意义的实例,作为程序设计的模板提供给学生。大多数学生基本上是初次接触计算机程序设计,习惯采用数学思维方式来分析问题,还没有真正掌握计算机编程的基本思路。在实验过程中,遇到一个新的题目,学生往往不知道从何下手,思路不清晰,此时就可以从项目实例库找出对应的实例,通过借鉴或修改相应的模板得到结果。“熟读唐诗三百首,不会做诗也会吟”,经常阅读这些实例,能够拓展学生的视野,促进学生对于程序设计思想的理解与认识,提高学生的编程能力。

    在具体实施上,整理出40~50个典型项目实例,将它们分为五大类:基础类、算法类、图形类、文本类和应用类,供学生自主学习,另外从中选取6~8个典型的项目实例,要求学生必须理解掌握,这些实例基本上包含了这门课程的知识要点,理解了这些实例,对于课程的知识结构会有一个全面的了解。其中,学生最喜欢也最有兴趣的实例就是弹球游戏,通过对弹球游戏程序代码的阅读分析,学生能够更好地掌握定时器控件和控件坐标等相关的知识,学生也很有兴趣地去改写程序代码,以获得类似的动画效果,可见好的实例能够激发学生的求知欲望,提高学生的学习积极性,培养学生分析问题和解决问题的能力。

    3结束语

    VB程序设计课程对于理论知识和实际操作均有较高要求,教学时需要综合运用多种教学方法和教学策略,充分调动学生的学习积极性和主动性,将教学重点放在算法的分析和编程的训练上,注重实验教学环节,加强对学生程序设计思维方式和实际编程能力的培养,提高课程的教学效果。

    【vb程序设计论文】相关文章:

    展开全文
  • vb程序 猜数游戏

    2012-12-07 11:29:55
    vb程序 猜数游戏
  • vb程序设计的赌大小

    2011-05-15 20:49:49
    For i = 1 To 30 结构应用
  • Visual Basic 程序设计课程设计 抓小偷游戏 抓小偷这款游戏,是利用VB编写的一个软件,在窗体里的任意角落出现小偷,游戏者通过鼠标点击小偷,击中一个,分数相应的增加一,每次游戏进行30秒结束,最后根据点击的...
  • VB 设计的一个小游戏程序,猜猜看。用一些有趣的蔬菜、水果的图片。为每一轮附加自动记分的功能。很好玩,可以试试。
  • 程序为一简单的小游戏,类似于小霸王学习机上的练习打英文字母的游戏,旨在提高对键盘的熟悉度。适合大一级别的VB编程练习。
  • 塔里木大学信息工程学院课程设计 第 PAGE 1 页 前 言 visual basic继承了 basic语言易学易用的 特点,特别适合于初学者学习windows系统编程.随着21世纪信息社会的 到来,计算机在人们的 ...于是我们 组着手设计开始一个
  • VB----经典小程序设计-拼图游戏
  • VB----经典小程序设计-扫雷游戏
  • VB----经典小程序设计-猜数字游戏
  • VB.NET课程设计-小游戏

    2012-12-25 12:58:20
    贪吃蛇游戏,源程序+源代码 完整版 直接下载直接用
  • vb各种程序设计实例

    热门讨论 2008-12-16 23:07:58
    各种vb编程实例,在读代码中学会各种实例,学会各种控件的使用。
  • VB游戏小程序

    2012-03-28 09:23:13
    visual basic继承了basic语言易学易用的特点,特别适合于初学者...通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在动手用Visual Basic编写一个简单的小游戏,“胜利大逃亡”。
  • VB小游戏设计(一):扫雷

    千次阅读 2020-09-01 12:01:23
    感谢VB吧@yjtx256,我的程序根据他提供的工程文件改编而来

    感谢VB吧@yjtx256,我的程序根据他公开的源代码改编而来

    先上完成品:

    相关信息:

    • 语言:VB
    • 编写环境:(老掉牙的)Visual Basic 6.0
    • 运行环境:Windows 10

    源代码下载链接

    CSDN: 扫雷源代码下载

    BaiduNetDisk: 扫雷.rar 提取码: 7pu6

    建议先下载源代码,参考相应的工程文件后再看后面的过程。

    编写过程

    1.建立控件

    0.调整 Form1 属性

    Caption = “扫雷”

    添加适当的图标设为 Icon

    ScaleMod = 1 - Twip

    Height = 6825

    Width = 6105

    1.新建三个 Label 控件

    名称无所谓

    Caption 属性分别为:{行列:},{雷数:},{用时:},并调整到相应位置和大小(如上图)

    2.新建四个 TextBox 控件

    名称分别为:Row,Column, MineNumber,TimeDial (行,列,雷数,时间)

    Text 属性分别为:16,16,32,0

    前两个控件 MaxLength 属性设为 2 ,第四个 Locked 属性设为 True

    3.新建一个 PictureBox 控件

    Height = 6050

    Width = 6050

    ScaleHeight = 5985

    ScaleWidth = 5985

    4.在 PictureBox 上新建一个按钮数组 Block()

    Height = 375

    Width = 375

    Visible = False

    Caption 设为空

    字体和大小请按自己喜好设置

    只保留Block(0),并按照上图方式摆放

    5.建立一个 Timer

    名称为 Timer1

    Interval = 1000

    2.编写代码

    实现这个游戏的代码不难,唯一一个难点可能就是翻格子那步,主要思想是用 DFS 来搜索八连块。

    那一步对于学过信息学竞赛的同学来说应该比较容易理解。

    请大家结合注释理解。

    代码如下:

    Option Explicit
    Option Base 0 '默认数组下标为0
    Dim Time, MineNum As Integer '时间和地雷数
    Dim R, C As Integer '行列数
    Dim Map() As Integer '二维数组,用于保存格子状态
    
    
    
    
    Private Sub Form_Load()
    
    End Sub
    
    Private Sub Start_Click() '点击开始按钮
    With Block(0)
        .Visible = True
        .Caption = ""
        .BackColor = &HC0C0C0
    End With
    Time = 0
    Call Distribution '排布地图
    Timer1.Enabled = True
    End Sub
    
    
    
    
    Private Sub UnloadMap() '卸载原有地图
    Dim i As Integer
    For i = 1 To Block.UBound
        Unload Block(i)
    Next
    End Sub
    
    
    
    
    Private Sub Distribution() '排布地图
    UnloadMap '先卸载原有地图
    Dim i As Integer, j As Integer
    R = Val(Row)
    C = Val(Column)
    MineNum = Val(MineNumber)
    If R < 4 Or C < 4 Or R > 32 Or C > 32 Then '检查数据是否合法
        MsgBox "行列设置超出范围[4,32],已改为默认", vbInformation, "说明"
        R = 16: C = 16
        Row.Text = "16": Column.Text = "16"
    End If
    If MineNum >= R * C Then
        MineNum = Int(R * C / 8)
        MineNumber.Text = MineNum
        MsgBox "地雷数过多,已改为默认", vbInformation, "说明"
    End If
    ReDim Map(R, C) '重定义地图规模
    MapBox.Width = Block(0).Width * C + 50
    MapBox.Height = Block(0).Height * R + 50
    Me.Width = MapBox.Width + 80
    If Me.Width < 6050 Then Me.Width = 6050
    Me.Height = MapBox.Height + 800
    For i = 0 To R - 1 '开始排布
        For j = 0 To C - 1
            If i * C + j > 0 Then '第一块已经布好,需要特判
                Load Block(i * C + j)
                With Block(i * C + j)
                    .Top = i * Block(0).Height
                    .Left = j * Block(0).Width
                    .Visible = True
                End With
            End If
        Next
    Next
    Call LoadMine '排布地雷
    Call CalcNum '计算格子数字
    End Sub
    
    
    
    
    Private Sub LoadMine() '排布地雷
    Randomize '初始化随机数种子
    Dim i As Integer, R As Integer, tmp As Integer, M() As Integer
    ReDim M(Block.Count)
    For i = 0 To Block.UBound
        M(i) = i
    Next
    For i = 0 To Block.UBound '乱序排列
        R = Int(Rnd * Block.UBound)
        tmp = M(i)
        M(i) = M(R)
        M(R) = tmp
    Next
    For i = 0 To MineNum - 1
        Map(Int(M(i) / C), M(i) Mod C) = 9 '数字9表示地雷
    Next
    End Sub
    
    
    
    
    Private Sub CalcNum() '计算格子的数字
    Dim i As Integer, x As Integer, y As Integer
    For i = 0 To Block.UBound
        x = Int(i / C): y = i Mod C
        If Map(x, y) = 9 Then '周围格子数字加一
            If x > 0 Then Map(x - 1, y) = IIf(Map(x - 1, y) = 9, 9, Map(x - 1, y) + 1)
            If y > 0 Then Map(x, y - 1) = IIf(Map(x, y - 1) = 9, 9, Map(x, y - 1) + 1)
            If x < R - 1 Then Map(x + 1, y) = IIf(Map(x + 1, y) = 9, 9, Map(x + 1, y) + 1)
            If y < C - 1 Then Map(x, y + 1) = IIf(Map(x, y + 1) = 9, 9, Map(x, y + 1) + 1)
            If x > 0 And y > 0 Then Map(x - 1, y - 1) = IIf(Map(x - 1, y - 1) = 9, 9, Map(x - 1, y - 1) + 1)
            If x < R - 1 And y < C - 1 Then Map(x + 1, y + 1) = IIf(Map(x + 1, y + 1) = 9, 9, Map(x + 1, y + 1) + 1)
            If x > 0 And y < C - 1 Then Map(x - 1, y + 1) = IIf(Map(x - 1, y + 1) = 9, 9, Map(x - 1, y + 1) + 1)
            If x < R - 1 And y > 0 Then Map(x + 1, y - 1) = IIf(Map(x + 1, y - 1) = 9, 9, Map(x + 1, y - 1) + 1)
        End If
    Next
    End Sub
    
    
    
    
    Private Sub Block_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Timer1.Enabled = False Then Exit Sub
    Dim x1 As Integer, y1 As Integer
    If Button = 1 Then '左键
        If Block(Index).Caption = "☆" Or IsNumeric(Block(Index).Caption) Then
            Exit Sub
        End If
        x1 = Int(Index / C): y1 = Index Mod C
        If Map(x1, y1) = 9 Then
            Call GameOver   '踩到地雷,游戏结束
        Else
            Call RevealGrid(x1, y1) '翻格子
            Call IsWin '判断是否胜利
        End If
    End If
    If Button = 2 Then '右键
        If Block(Index).Caption = "" Then
            Block(Index).Caption = "☆"
            Block(Index).BackColor = vbRed
            MineNumber = Val(MineNumber) - 1
        ElseIf Block(Index).Caption = "☆" Then
            Block(Index).Caption = "?"
            Block(Index).BackColor = vbYellow
            MineNumber = Val(MineNumber) + 1
        ElseIf Block(Index).Caption = "?" Then
            Block(Index).Caption = ""
            Block(Index).BackColor = &HC0C0C0
        End If
    End If
    End Sub
    
    
    Private Sub IsWin() '判断是否胜利
    Dim i As Integer, Cnt As Integer
    For i = 0 To Block.UBound
        If Block(i).Visible = True And IsNumeric(Block(i).Caption) = False Then
            Cnt = Cnt + 1 '如果当前格子未被翻开
        End If
    Next
    If Cnt = MineNum Then
        MineNumber.Text = MineNum
        Timer1.Enabled = False
        MsgBox "恭喜过关!", , "胜利"
    End If
    End Sub
    
    
    
    
    Private Sub GameOver() '游戏结束
    Dim x, y, i As Integer
    For i = 0 To Block.UBound
        x = Int(i / C): y = i Mod C
        If Map(x, y) = 9 Then
            Block(i).BackColor = vbRed
            Block(i).Caption = "*"
        ElseIf Block(i).Caption = "☆" Then
            Block(i).BackColor = RGB(180, 0, 0)
            Block(i).Caption = "×"
        End If
    Next
    Timer1.Enabled = False
    MineNumber.Text = MineNum
    MsgBox "游戏结束!", , "失败"
    End Sub
    
    
    
    
    Private Sub RevealGrid(x As Integer, y As Integer) '用DFS算法翻格子
    Dim ID As Integer
    ID = x * C + y
    If Map(x, y) = 0 And Block(ID).Visible = True Then
        Block(ID).Visible = False
        If x > 0 Then Call RevealGrid(x - 1, y)
        If y > 0 Then Call RevealGrid(x, y - 1)
        If x < R - 1 Then Call RevealGrid(x + 1, y)
        If y < C - 1 Then Call RevealGrid(x, y + 1)
        If x > 0 And y > 0 Then Call RevealGrid(x - 1, y - 1)
        If x < R - 1 And y < C - 1 Then Call RevealGrid(x + 1, y + 1)
        If x > 0 And y < C - 1 Then Call RevealGrid(x - 1, y + 1)
        If x < R - 1 And y > 0 Then Call RevealGrid(x + 1, y - 1)
    Else
        Block(ID).Caption = Map(x, y)
        Select Case Map(x, y) '修改颜色
            Case 1
                Block(ID).BackColor = &HC0FFC0
            Case 2
                Block(ID).BackColor = &HFFFFC0
            Case 3
                Block(ID).BackColor = &HFFC0C0
            Case 4
                Block(ID).BackColor = &HFFC0FF
            Case 5
                Block(ID).BackColor = &H8080FF
            Case 6
                Block(ID).BackColor = &H80FF&
            Case 7
                Block(ID).BackColor = &HFF8080
            Case 8
                Block(ID).BackColor = &HC000C0
        End Select
    End If
    End Sub
    
    
    
    
    Private Sub Timer1_Timer() '统计时间
    Time = Time + 1
    TimeDial.Text = Time
    End Sub

    3.运行调试

    程序的鲁棒性很重要,大家注意看 Distribution() 过程,添加了防止因用户输入不合法的数据造成卡死或崩溃的代码。

    展开全文
  • 这是VB设计的随机抽奖程序, 适合VB程序员学习。
  • 2012~2013 学年度第 1 学期 Java 程序设计课 程 报 告 项目 日历记事本 专业 计算机科学与技术 学号 10570235 实用标准文案 常兆华 班级 计算机 2 班 角色 学号 任务分配 小组评定 组长 王思琪 10570226 强制练习...
  • VB.NET打字母小游戏

    2013-12-15 22:24:44
    vb.net是我在大学本科时做的游戏,代码 程序都有,很全,是我自己做的,下载后直接能用
  • VB源码】VB小游戏--打地鼠 对VB初学者有学习参考意义。
  • VB----经典小程序设计-贪吃蛇
  • VB编写的小游戏一个,适合初学者,高手谢绝
  • vb自编24点小游戏

    2014-01-20 11:16:28
    采用vb自编小游戏,实现24点纸牌游戏,轻捷便利,适合娱乐
  • VB----经典小程序设计-俄罗斯方块
  • 给孩子设计了个猜傻瓜游戏,有想猜的可以下载,几乎免费的程序,带VB源码,就一个页面。
  • 大量VB小程序源码,快速上手vb,大家一起学习,共同进步
  • 有趣的vb小程序

    2014-06-26 09:32:23
    有趣的vb小程序
  • VB6.0源码小程序

    2012-10-05 10:04:21
    VB小游戏源码希望大家喜欢,喜欢VB的朋友不要客气
  • vb经典小程序100例

    热门讨论 2010-05-03 21:19:45
    vb经典小程序。适合vb初级学者。结合vb的基础空间编写的小程序
  • 用visual Basic编写的几个小游戏,包括,贪吃蛇,五子棋等。
  • VB制作小游戏 连连看 附:源码

    热门讨论 2011-06-17 19:57:19
    VB制作小游戏 亡灵小壮VB作品 (已附源码) ★ ⑤⑤ VB学习网☆ http://blog.sina.com.cn/luzhuang95

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,230
精华内容 3,292
关键字:

vb程序设计小游戏