网站首页 > 文章中心 > 其它

vb.net小程序游戏

作者:小编 更新时间:2023-08-12 11:16:44 浏览量:325人看过

vb.net的小程序

你要做一个考试系统?这可不是小程序,不过如果是超精简的话,我倒可以写个思路给你.

定义全局变量 questions() as string,questionid as integer,answers() as string

在form_load中,将问题和答案读入questions()和answers()中,然后将第一个问题显示在label中,设置questionid=1

之后在command1_click(index as integer)中用select语句根据questionid将答案和回答比较,然后显示下一题,同时更改questionid...大概就这样

问题结束后就OK了,之后要加什么可以自己加上去~

vb.net编写的贪吃蛇游戏,带代码的

需用VB实现,代码如下

'定义蛇的运动速度枚举值

Private Enum tpsSpeed

QUICKLY = 0

SLOWLY = 1

End Enum

'定义蛇的运动方向枚举值

Private Enum tpsDirection

Private Enum tpsForbiddenZone

'定义蛇头及身体初始化数枚举值

Private Enum tpsSnake

SNAKEONE = 1

'定义蛇宽度的常量

Private Const SNAKEWIDTH As Integer = 100

'该过程用于显示游戏信息

Private Sub Form_Load()

Me.Show

Me.lblTitle = "BS贪食蛇 — (版本 " App.Major "." App.Minor "." App.Revision ")"

Me.Caption = Me.lblTitle.Caption

frmSplash.Show 1

End Sub

'该过程用于使窗体恢复原始大小

Private Sub Form_Resize()

If Me.WindowState 1 Then

Me.Caption = ""

End If

'该过程用于重新开始开始游戏

Private Sub cmdGameStart_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Beep

'该过程用于暂停/运行游戏

Private Sub chkPause_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Me.chkPause.Caption = "暂停游戏(P)" Then

Me.tmrSnakeMove.Enabled = False

Me.tmrGameTime.Enabled = False

Me.picMoveArea.Enabled = False

Me.lblPauseLab.Visible = True

Me.chkPause.Caption = "继续游戏(R)"

Else

Me.tmrSnakeMove.Enabled = True

Me.tmrGameTime.Enabled = True

Me.picMoveArea.Enabled = True

Me.lblPauseLab.Visible = False

Me.chkPause.Caption = "暂停游戏(P)"

'该过程用于显示游戏规则

Private Sub cmdGameRules_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'该过程用于显示游戏开发信息

Private Sub cmdAbout_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'该过程用于退出游戏

Private Sub cmdExit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Select Case msg

End

Exit Sub

End Select

Private Sub imgWindowTop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

ReleaseCapture

SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MOVE, 0

'该共用过程用于处理窗体控制按钮组的相关操作_(锁定、最小化、退出)

Private Sub chkWindowButton_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button 1 Then Exit Sub

Select Case Index

Case 0 '锁定窗体

If Me.chkWindowButton(0).Value = 1 Then

Me.imgWindowTop.BorderStyle = 0

Me.imgWindowTop.Enabled = False

Me.imgWindowTop.BorderStyle = 1

Me.imgWindowTop.Enabled = True

Case 1 '最小化

Me.WindowState = 1

Me.chkWindowButton(1).Value = 0

Me.Caption = "BS贪食蛇 — (V-" App.Major "." App.Minor "版本)"

'该过程用于设置蛇运动速度的快慢

Private Sub hsbGameSpeed_Change()

Me.tmrSnakeMove.Interval = Me.hsbGameSpeed.Value

'该过程用于通过键盘的方向键改变蛇的运动方向

Private Sub picMoveArea_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case g_intDirection

Case D_UP

If KeyCode = D_DOWN Then Exit Sub

Case D_DOWN

If KeyCode = D_UP Then Exit Sub

Case D_LEFT

If KeyCode = D_RIGHT Then Exit Sub

Case D_RIGHT

If KeyCode = D_LEFT Then Exit Sub

g_intDirection = KeyCode

'该计时循环过程用于计算游戏耗费的秒数并显示

Private Sub tmrGameTime_Timer()

g_lngGameTime = g_lngGameTime + 1

Me.lblGameTime.Caption = g_lngGameTime "秒"

'该计时循环过程用于控制蛇的行动轨迹

Private Sub tmrSnakeMove_Timer()

Dim lngSnakeX As Long, lngSnakeY As Long, lngSnakeColor As Long

Dim lngPointX As Long, lngPointY As Long, lngPointColor As Long

Randomize

Me.picMoveArea.SetFocus

Me.picMoveArea.Cls

'确认蛇头的运动方向并获取新的位置

Case D_UP '向上运动

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_CurY - SNAKEWIDTH

Case D_DOWN '向下运动

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_CurY + SNAKEWIDTH

Case D_LEFT '向左运动

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_CurX - SNAKEWIDTH

Case D_RIGHT '向右运动

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_CurX + SNAKEWIDTH

'根据新的位置绘制蛇头

lngSnakeX = g_udtSnake(SNAKEONE).Snake_CurX

lngSnakeY = g_udtSnake(SNAKEONE).Snake_CurY

lngSnakeColor = g_udtSnake(SNAKEONE).Snake_Color

Me.picMoveArea.PSet (lngSnakeX, lngSnakeY), lngSnakeColor

'移动蛇身体其他部分的位置

g_udtSnake(i).Snake_CurX = g_udtSnake(i - 1).Snake_OldX

g_udtSnake(i).Snake_CurY = g_udtSnake(i - 1).Snake_OldY

lngSnakeX = g_udtSnake(i).Snake_CurX

lngSnakeY = g_udtSnake(i).Snake_CurY

lngSnakeColor = g_udtSnake(i).Snake_Color

Next i

'更新蛇旧的坐标位置

For j = 1 To g_intSnakeLength

g_udtSnake(j).Snake_OldX = g_udtSnake(j).Snake_CurX

g_udtSnake(j).Snake_OldY = g_udtSnake(j).Snake_CurY

Next j

'判断蛇在移动中是否到了禁区而导致游戏失败

If m_funMoveForbiddenZone(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

Me.picMoveArea.Visible = False

'判断蛇在移动中是否碰到了自己的身体而导致游戏失败

If m_funTouchSnakeBody(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

'判断蛇是否吃到了果子

If m_funEatPoint(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

'累加粉丝的得分并刷新得分显示

g_intPlayerScore = g_intPlayerScore + 1

Me.lblYourScore.Caption = g_intPlayerScore "分"

Call m_subAddSnake '加长蛇的身体

Call m_subGetPoint '获取下一个果子的位置和颜色

'绘制果子

lngPointX = g_udtPoint.Point_X

lngPointY = g_udtPoint.Point_Y

lngPointColor = g_udtPoint.Point_Color

Me.picMoveArea.PSet (lngPointX, lngPointY), lngPointColor

'该私有子过程用于初始化游戏

Private Sub m_subGameInitialize()

Erase g_udtSnake '清空蛇的结构数组

g_intPlayerScore = 0 '清空粉丝的得分

g_lngGameTime = 0 '清空游戏耗费的秒数

g_intDirection = D_DOWN '设定蛇的初始运动方向为下

ReDim g_udtSnake(1 To g_intSnakeLength) '重新定义蛇的长度

'定义蛇头部的数据

With g_udtSnake(SNAKEONE)

.Snake_Color = vbBlack

End With

With g_udtSnake(SNAKETWO)

.Snake_Color = vbGreen

With g_udtSnake(SNAKETHREE)

.Snake_Color = vbYellow

With g_udtSnake(SNAKEFOUR)

.Snake_Color = vbRed

Me.picMoveArea.Visible = True

Call m_subGetPoint '获取第一个果子的位置和颜色

VB.net做一个小程序 求教

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim oleDbConnection1 As OleDb.OleDbConnection

Dim oledbDataAdapter As OleDb.OleDbDataAdapter

Dim oledbData As DataSet = New DataSet

oleDbConnection1 = New System.Data.OleDb.OleDbConnection(strConnect)

Dim strSql As String

strSql = "select *" " from xx"

Dim oledbCommand As OleDb.OleDbCommand

oledbCommand.CommandText = strSql

oledbCommand.CommandType = CommandType.Text

oledbCommand.Connection = oleDbConnection1

oledbDataAdapter.SelectCommand = oledbCommand

oleDbConnection1.Open()

oledbDataAdapter.Fill(oledbData, "gy_bingrenxx")

oleDbConnection1.Close()

'在窗体上添加一个DataGridView控件,在这个位置加一句代码

DataGridView1.DataSource = oledbDataAdapter.Tables("gy_bingrenxx")

求写一个VB.Net小程序

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim d(,) As Integer

Dim n As Integer

Dim i As Integer

Dim j As Integer

Randomize()

ReDim d(n, n)

Label1.Text = ""

For i = 1 To n

For j = 1 To n

Label1.Text = Label1.Text d(i, j) " "

Next

Label1.Text = Label1.Text vbCrLf

vb小游戏代码 急求.....

Option Explicit

'五子棋程序 人机对战版本

'Dim PlayStep() As String '记录棋谱的数组

Dim PsCore() As Long '定义当前粉丝桌面空格的分数

Dim CsCore() As Long '定义当前电脑桌面空格的分数

Dim pWin() As Boolean '定义粉丝的获胜组合

Dim cWin() As Boolean '定义电脑的获胜组合

Dim pFlag() As Boolean '定义粉丝的获胜组合标志

Dim cFlag() As Boolean '定义电脑的获胜组合标志

Dim ThePlayFlag As Boolean '定义游戏有效标志

Private Sub Command1_Click()

If Not ThePlayFlag Then Call InitPlayEnvironment: Exit Sub

If MsgBox("本局还没有下完,是否重新开始?(Y/N)", vbYesNo) = vbNo Then Exit Sub

Call InitPlayEnvironment

Dim i As Long, lw As Long, lh As Long

lw = Me.Width \ Screen.TwipsPerPixelX: lh = Me.Height \ Screen.TwipsPerPixelY

SetWindowRgn Me.hWnd, CreateRoundRectRgn(0, 0, lw, lh, 10, 10), True

With Label1

Call DrawChessBoard: Me.FillStyle = 0: Call InitPlayEnvironment

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim iRow As Long, iCol As Long, i As Long, k As Long, t As String

If Not ThePlayFlag Then Exit Sub

If Button = vbLeftButton Then '左键下棋

iRow = -1: iCol = -1

For i = 0 To BoxN '鼠标必须落在交叉点 半径10以内 若是则给出行列号

If (Y + 10) (BoxT + i * BoxW) And (Y - 10) = (BoxT + i * BoxW) Then iRow = i

If (X + 10) (BoxL + i * BoxW) And (X - 10) = (BoxL + i * BoxW) Then iCol = i

If (iRow = -1) Or (iCol = -1) Then Beep: Exit Sub

If Table(iCol, iRow) 0 Then Exit Sub

If cWin(iCol, iRow, i) = True Then cFlag(i) = False

Call CheckWin: Call DianNao '检查当前粉丝是否获胜 调用电脑算法

Public Sub InitPlayEnvironment()

'*****************************************************************************

' 模块名称: InitPlayEnvironment [初始化过程]

'

Dim i As Long, j As Long, m As Long, n As Long

Me.FillColor = vbBlack: Me.FillStyle = 0: Me.AutoRedraw = True

ReDim Table(0 To BoxN, 0 To BoxN) As Long

ReDim pFlag(NumsWin(BoxN + 1) - 1) As Boolean

ReDim cFlag(UBound(pFlag)) As Boolean

ReDim PsCore(BoxN, BoxN) As Long, CsCore(BoxN, BoxN) As Long

ReDim pWin(BoxN, BoxN, UBound(pFlag)) As Boolean

ReDim cWin(BoxN, BoxN, UBound(pFlag)) As Boolean

For i = 0 To UBound(pFlag): pFlag(i) = True: cFlag(i) = True: Next

'******** 初始化获胜组合 ****************************************

pWin(j + m, i, n) = True: cWin(j + m, i, n) = True

n = n + 1

Next: Next

pWin(i, j + m, n) = True: cWin(i, j + m, n) = True

pWin(j + m, i + m, n) = True: cWin(j + m, i + m, n) = True

pWin(j - m, i + m, n) = True: cWin(j - m, i + m, n) = True

'******** 初始化获胜组合结束 *************************************

Public Function DrawChessBoard() As Long

'容器的(BoxL, BoxT)为左上角坐标画一个 BoxN*BoxN, 每格边长为 BoxW 象素的棋盘

Dim i As Long, j As Long, cx As Long, cy As Long

For i = 0 To BoxN '画棋盘

Me.Line (BoxL + i * BoxW, BoxT)-(BoxL + i * BoxW, BoxT + BoxN * BoxW)

Me.Line (BoxL, BoxT + i * BoxW)-(BoxL + BoxN * BoxW, BoxT + i * BoxW)

Me.AutoRedraw = False: Set Me.Picture = Me.Image

End Function

Public Sub CheckWin()

' 模块名称: CheckWin [获胜检查算法]

Dim i As Long, j As Long, k As Long, m As Long, n As Long

Dim cA As Long, pA As Long, cN As Long

For i = 0 To UBound(cFlag): cN = IIf(cFlag(i) = False, cN + 1, cN): Next

If cN = UBound(cFlag) - 1 Then '设定和棋规则

Label1.Caption = "双方和棋!": ThePlayFlag = False: Exit Sub

For i = 0 To UBound(cFlag) '检查电脑是否获胜

If cFlag(i) = True Then

cA = 0: For j = 0 To BoxN: For k = 0 To BoxN

If Table(j, k) = 1 And cWin(j, k, i) = True Then cA = cA + 1

For i = 0 To UBound(pFlag) '检查粉丝是否获胜

If pFlag(i) = True Then

pA = 0: For j = 0 To BoxN: For k = 0 To BoxN

Public Sub DianNao()

' 模块名称: DianNao [电脑算法]

Dim Dc As Long, cAb As Long, pAb As Long

ReDim PsCore(BoxN, BoxN) As Long, CsCore(BoxN, BoxN) As Long '初始化赋值数组

'******** 电脑加强算法 ********

For i = 0 To UBound(cFlag)

cAb = 0

For j = 0 To BoxN: For k = 0 To BoxN

If Table(j, k) = 1 And cWin(j, k, i) = True Then cAb = cAb + 1

Select Case cAb

For m = 0 To BoxN: For n = 0 To BoxN

If Table(m, n) = 0 And cWin(m, n, i) = True Then

Table(m, n) = 1: Label1.Caption = "下一步 白方"

If pWin(m, n, Dc) = True Then pFlag(Dc) = False: Call CheckWin: Exit Sub

For i = 0 To UBound(pFlag)

pAb = 0

Select Case pAb

If Table(m, n) = 0 And pWin(m, n, i) = True Then

'******** 电脑加强算法结束 ********

'******** 赋值系统 ****************

If (Table(j, k) = 0) And cWin(j, k, i) Then

If (Table(m, n) = 1) And cWin(m, n, i) Then CsCore(j, k) = CsCore(j, k) + 1

If (Table(j, k) = 0) And pWin(j, k, i) Then

'******** 赋值系统结束 ************

'******** 分值比较算法 ************

Dim a As Long, b As Long, c As Long, d As Long

Dim cS As Long, pS As Long

For i = 0 To BoxN: For j = 0 To BoxN

If CsCore(i, j) cS Then cS = CsCore(i, j): a = i: b = j

If PsCore(i, j) pS Then pS = PsCore(i, j): c = i: d = j

If cS pS Then

Table(a, b) = 1: Label1.Caption = "下一步 白方"

If pWin(a, b, i) = True Then pFlag(i) = False

Table(c, d) = 1: Label1.Caption = "下一步 白方"

If pWin(c, d, i) = True Then pFlag(i) = False

'******** 分值比较算法结束 ********

Call CheckWin

Public Function NumsWin(ByVal n As Long) As Long

'根据输入的棋盘布局 n*n 计算总共有多少种获胜组合

Dim i As Long, t As Long

以上就是土嘎嘎小编为大家整理的vb.net小程序游戏相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章