vb.net打地鼠 c#打地鼠代码

期末老师让做一个比较有创意的vb.net小软件,无从下手!求帮忙

随手做了个打地鼠,代码拿去吧。

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业桐城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

下图是10x10超大窗体“打地鼠”

直接新建个窗体,覆盖全部代码,不需要拖控件,全部动态创建了。

参数都在前面几行,可以随便改。

格子宽和高是70,间距20,因此横格子和竖格子不要超过10,不然窗体会扩张到非常大的程度。

调整时钟的Interval可决定地鼠的出现频率,你可以修改变化概率 = 15这句话改变出现几率。

Public Class Form1

Dim 横格子 = 4

Dim 竖格子 = 4

Dim 背景色 = Color.Bisque

Dim 打中色 = Color.LawnGreen

Dim 失误色 = Color.Red

Dim 按钮(横格子, 竖格子) As Button

Public WithEvents 时钟 As New Timer With {.Interval = 400}

Public WithEvents 分数板 As New Label With {.AutoSize = False, .Width = 120, 

.Height = 26}

Dim 字体 = New Font("黑体", 14)

Dim 随机数 As New Random

Dim 打中数 As Integer = 0

Dim 分数 As Integer = 0

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

Me.Font = 字体

For x = 1 To 横格子

For y = 1 To 竖格子

按钮(x, y) = New Button()

Me.Controls.Add(按钮(x, y))

按钮(x, y).Width = 70

按钮(x, y).Height = 70

按钮(x, y).Text = ""

按钮(x, y).Location = New Point((x - 1) * (按钮(x, y).Width + 20) + 

20, (y - 1) * (按钮(x, y).Height + 20) + 20)

按钮(x, y).Name = String.Format("Button_{0}_{1}", x, y)

按钮(x, y).BackColor = 背景色

按钮(x, y).FlatStyle = FlatStyle.Flat

按钮(x, y).Tag = 0

AddHandler 按钮(x, y).Click, AddressOf 按钮点击

Next

Next

Me.Text = "打地鼠"  "  [空格键暂停]"

Me.KeyPreview = True

Dim k = 按钮(横格子, 竖格子)

Me.Width = k.Left + k.Width + 40

Me.Height = k.Top + k.Height + 65

Me.Controls.Add(分数板)

分数板.Location = New Point(Me.Width / 2 - 25, 0)

分数板.Text = "分数牌"

时钟.Enabled = True

End Sub

Private Sub 按钮点击(sender As Object, e As EventArgs)

If 时钟.Enabled = False Then Exit Sub

Dim 控件名 = CType(sender, Button).Name.Split("_")

Dim x = CInt(控件名(1)) '截取_分割的第二部分Button_{0}_{1}

Dim y = CInt(控件名(2)) '截取_分割的第三部分Button_{0}_{1}

If 按钮(x, y) IsNot Nothing Then

If 按钮(x, y).Text = "地鼠" Then

打中数 = 打中数 + 1

分数 = 分数 + 20

按钮(x, y).Text = 打中数  "!"

分数板.Text = "得分:"  分数

按钮(x, y).BackColor = 打中色

按钮(x, y).Tag = 1

ElseIf 按钮(x, y).Text = "" Then

分数 = 分数 - 20

If 分数  0 Then 分数 = 0

分数板.Text = "得分:"  分数

按钮(x, y).Text = "乱打!"

按钮(x, y).BackColor = 失误色

按钮(x, y).Tag = 2

End If

End If

End Sub

Private Sub 时钟_Tick(sender As Object, e As EventArgs) Handles 时钟.Tick

For x = 1 To 横格子

For y = 1 To 竖格子

Dim 变化概率 = 随机数.Next(1, 100)

If 变化概率 = 40 Then

If 按钮(x, y).Tag = 1 Or 按钮(x, y).Tag = 2 Then

按钮(x, y).Text = ""

按钮(x, y).BackColor = 背景色

按钮(x, y).Tag = 0

End If

End If

If 变化概率 = 15 Then

If 按钮(x, y).Text = "地鼠" Then

按钮(x, y).Text = ""

ElseIf 按钮(x, y).Text = "" Then

按钮(x, y).Text = "地鼠"

End If

End If

Next

Next

End Sub

Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles 

MyBase.KeyUp

If e.KeyCode = Keys.Space Then 时钟.Enabled = Not 时钟.Enabled

End Sub

End Class

如满意,请采纳,谢谢。

大神快来 如何使用vb制作一个简单的打地鼠游戏?最好用教程

1、控件:

picture1(0~8)

排三列三排

timer1

interval设为1000

text1

text

设为0

command1

caption

设为“开始”

2、代码:

private

declare

sub

sleep

lib

"kernel32"

(byval

dwmilliseconds

as

long)

dim

m,

i,

n

as

integer

private

sub

form_load()

timer1.enabled

=

false

for

l

=

to

8

picture1(l).visible

=

false

next

l

end

sub

private

sub

command1_click()

timer1.enabled

=

true

end

sub

private

sub

timer1_timer()

if

i

9

then

picture1(i).visible

=

false

end

if

randomize

i

=

(rnd()

*

8)

mod

10

picture1(i).visible

=

true

picture1(i).zorder

if

n

=

10

then

picture1(i).visible

=

false

if

text1

=

80

then

m

=

m

+

1

c

=

msgbox("恭喜你过关了。你的得分为"

text1

vbcrlf

"是否进入"

m

+

1

"关",

4)

if

c

=

vbyes

then

timer1.interval

=

timer1.interval

-

100

*

(11

-

m)

/

10

else

timer1.enabled

=

false

end

if

else

msgbox

"请重新开始!"

end

if

n

=

text1

=

end

if

n

=

n

+

1

end

sub

private

sub

picture1_click(index

as

integer)

select

case

index

case

index

if

index

=

i

then

timer1.enabled

=

false

text1

=

text1

+

10

msgbox

"恭喜你!"

timer1.enabled

=

true

end

if

end

select

end

sub

如何用VB程序设计打地鼠游戏

下面是源代码:

Form1:

Private Sub Form_Load() Dim temp As Integer Randomize

temp = Int(Rnd * 3) + 1

Form1.Picture = LoadPicture("C:\Users\Administrator\Desktop\打地鼠\picture" temp ".jpg") WindowsMediaPlayer1.URL = "C:\Users\Administrator\Desktop\打地鼠\Heaven's Devils.wma" End Sub

Private Sub Label1_Click() Form2.Show Form2.num = -1 Form1.Hide

WindowsMediaPlayer1.URL = ""

Open "C:\Users\Administrator\Desktop\打地鼠\primary.dat" For Append As #1 '写操作 Close #1

Open "C:\Users\Administrator\Desktop\打地鼠\intermediate.dat" For Append As #2 Close #2

Open "C:\Users\Administrator\Desktop\打地鼠\advanced.dat" For Append As #3 Close #3 End Sub

Private Sub Label2_Click() End End Sub

Form2:

Dim allnum As Integer, oknum As Integer '定义变化次数 打中次数 Public num As Integer '判别是否第一次开始游戏 Dim flags1 As Boolean '判别文件是否保存 Public flags As Boolean '判别是否播放声音 Private Sub countine_Click() pause.Enabled = True Timer1.Enabled = True countine.Enabled = False WLXZ.Enabled = True End Sub

Private Sub exit_Click() Dim X As Integer Dim tt As Integer

X = MsgBox("是否真的退出?", vbYesNo, "退出游戏框")

If X = 6 Then

tt = MsgBox("退出游戏之前,是否保存", vbYesNo, "保存提示") If tt = 6 Then

If flags1 = True Then End Else

If Timer1.Interval = 1000 Then

Open "C:\Users\Administrator\Desktop\打地鼠\primary.dat" For Append As #1 '写操作

Print #1, Text1.Text + " " + Format(Date, "M/d/yy") Close #1

ElseIf Timer1.Interval = 500 Then

Open "C:\Users\Administrator\Desktop\打地鼠\intermediate.dat" For Append As #2

Print #2, Text1.Text + " " + Format(Date, "M/d/yy") Close #2 Else

Open "C:\Users\Administrator\Desktop\打地鼠\advanced.dat" For Append As #3

Print #3, Text1.Text + " " + Format(Date, "M/d/yy") Close #3 End If End If End If End End If End Sub

Private Sub Form_Load() Form4.Check1.Value = 1

WindowsMediaPlayer1.Controls.stop countine.Enabled = False pause.Enabled = False WLXZ.Enabled = False

Form5.Top = Form2.Top + 700 Form5.Left = Form2.Left flags1 = False flags = True End Sub

Private Sub help_Click() Form3.Show End Sub

Private Sub new_game_Click() num = num + 1 Dim t As Integer

If (num 0) Then

t = MsgBox("新游戏开始之前,是否保存", vbYesNo, "保存提示") If t = 6 Then

flags1 = True

If Timer1.Interval = 1000 Then

Open "C:\Users\Administrator\Desktop\打地鼠\primary.dat" For Append As #1 '写操作

Print #1, Text1.Text + " " + Format(Date, "M/d/yy") Close #1

ElseIf Timer1.Interval = 500 Then

Open "C:\Users\Administrator\Desktop\打地鼠\intermediate.dat" For Append As #2

Print #2, Text1.Text + " " + Format(Date, "M/d/yy") Close #2 Else

Open "C:\Users\Administrator\Desktop\打地鼠\advanced.dat" For Append As #3

Print #3, Text1.Text + " " + Format(Date, "M/d/yy") Close #3 End If End If End If

Call Form_Load

allnum = 0 '变化次数初始为0 oknum = 0 '打中次数初始为0 Timer1.Enabled = True pause.Enabled = True WLXZ.Enabled = True End Sub

Private Sub options_Click() Timer1.Enabled = False Form4.Show

WLXZ.Enabled = False countine.Enabled = True End Sub

Private Sub pause_Click() Dim r, g, b As Integer Timer1.Enabled = False countine.Enabled = True pause.Enabled = False WLXZ.Enabled = False

Form5.Top = Form2.Top + 700 Form5.Left = Form2.Left Form5.Show


网站题目:vb.net打地鼠 c#打地鼠代码
当前链接:http://scyanting.com/article/dosipdc.html