Form1.frm
上传用户:tashmp
上传日期:2010-04-03
资源大小:882k
文件大小:12k
源码类别:

其他游戏

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form Form1 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "贪吃蛇"
  6.    ClientHeight    =   6255
  7.    ClientLeft      =   150
  8.    ClientTop       =   720
  9.    ClientWidth     =   5190
  10.    FillColor       =   &H00FFFFFF&
  11.    Icon            =   "Form1.frx":0000
  12.    KeyPreview      =   -1  'True
  13.    LinkTopic       =   "Form1"
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    Picture         =   "Form1.frx":030A
  17.    ScaleHeight     =   6255
  18.    ScaleWidth      =   5190
  19.    StartUpPosition =   3  'Windows Default
  20.    Begin MSComctlLib.Toolbar Toolbar1 
  21.       Align           =   1  'Align Top
  22.       Height          =   870
  23.       Left            =   0
  24.       TabIndex        =   1
  25.       Top             =   0
  26.       Width           =   5190
  27.       _ExtentX        =   9155
  28.       _ExtentY        =   1535
  29.       ButtonWidth     =   1349
  30.       ButtonHeight    =   1376
  31.       Appearance      =   1
  32.       ImageList       =   "ImageList1"
  33.       DisabledImageList=   "ImageList1"
  34.       _Version        =   393216
  35.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  36.          NumButtons      =   6
  37.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  38.             Key             =   "start"
  39.             Object.ToolTipText     =   "开始游戏"
  40.             ImageIndex      =   1
  41.          EndProperty
  42.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  43.             Key             =   "stop"
  44.             Object.ToolTipText     =   "暂停游戏"
  45.             ImageIndex      =   2
  46.          EndProperty
  47.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  48.             Key             =   "gogo"
  49.             Object.ToolTipText     =   "解除暂停"
  50.             ImageIndex      =   4
  51.          EndProperty
  52.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  53.             Key             =   "mm"
  54.             Object.ToolTipText     =   "背景选择"
  55.             ImageIndex      =   3
  56.          EndProperty
  57.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  58.             Key             =   "nd"
  59.             Object.ToolTipText     =   "难度选择"
  60.             ImageIndex      =   5
  61.             Style           =   5
  62.             BeginProperty ButtonMenus {66833FEC-8583-11D1-B16A-00C0F0283628} 
  63.                NumButtonMenus  =   3
  64.                BeginProperty ButtonMenu1 {66833FEE-8583-11D1-B16A-00C0F0283628} 
  65.                   Key             =   "man"
  66.                   Text            =   "较慢"
  67.                EndProperty
  68.                BeginProperty ButtonMenu2 {66833FEE-8583-11D1-B16A-00C0F0283628} 
  69.                   Key             =   "common"
  70.                   Text            =   "中等"
  71.                EndProperty
  72.                BeginProperty ButtonMenu3 {66833FEE-8583-11D1-B16A-00C0F0283628} 
  73.                   Key             =   "kuai"
  74.                   Text            =   "较快"
  75.                EndProperty
  76.             EndProperty
  77.          EndProperty
  78.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  79.             Key             =   "overgame"
  80.             Object.ToolTipText     =   "退出游戏"
  81.             ImageIndex      =   6
  82.          EndProperty
  83.       EndProperty
  84.    End
  85.    Begin MSComctlLib.ImageList ImageList1 
  86.       Left            =   4560
  87.       Top             =   2880
  88.       _ExtentX        =   1005
  89.       _ExtentY        =   1005
  90.       BackColor       =   12632256
  91.       ImageWidth      =   44
  92.       ImageHeight     =   46
  93.       MaskColor       =   12632256
  94.       _Version        =   393216
  95.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  96.          NumListImages   =   6
  97.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  98.             Picture         =   "Form1.frx":A2F5
  99.             Key             =   ""
  100.          EndProperty
  101.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  102.             Picture         =   "Form1.frx":BC77
  103.             Key             =   ""
  104.          EndProperty
  105.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  106.             Picture         =   "Form1.frx":C569
  107.             Key             =   ""
  108.          EndProperty
  109.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  110.             Picture         =   "Form1.frx":DEEB
  111.             Key             =   ""
  112.          EndProperty
  113.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  114.             Picture         =   "Form1.frx":E792
  115.             Key             =   ""
  116.          EndProperty
  117.          BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  118.             Picture         =   "Form1.frx":F073
  119.             Key             =   ""
  120.          EndProperty
  121.       EndProperty
  122.    End
  123.    Begin VB.Timer Timer3 
  124.       Interval        =   700
  125.       Left            =   4680
  126.       Top             =   2280
  127.    End
  128.    Begin VB.Timer Timer2 
  129.       Interval        =   5000
  130.       Left            =   4680
  131.       Top             =   1320
  132.    End
  133.    Begin VB.Timer Timer1 
  134.       Interval        =   200
  135.       Left            =   4680
  136.       Top             =   1800
  137.    End
  138.    Begin VB.Label Labelscore 
  139.       BackColor       =   &H80000008&
  140.       Caption         =   "0"
  141.       BeginProperty Font 
  142.          Name            =   "MS Sans Serif"
  143.          Size            =   9.75
  144.          Charset         =   0
  145.          Weight          =   700
  146.          Underline       =   0   'False
  147.          Italic          =   0   'False
  148.          Strikethrough   =   0   'False
  149.       EndProperty
  150.       ForeColor       =   &H80000009&
  151.       Height          =   375
  152.       Left            =   4680
  153.       TabIndex        =   0
  154.       Top             =   960
  155.       Width           =   495
  156.    End
  157.    Begin VB.Shape Shape2 
  158.       BorderColor     =   &H80000003&
  159.       FillColor       =   &H0080FF80&
  160.       FillStyle       =   0  'Solid
  161.       Height          =   135
  162.       Left            =   480
  163.       Shape           =   3  'Circle
  164.       Top             =   2520
  165.       Width           =   135
  166.    End
  167.    Begin VB.Shape Shape1 
  168.       BorderColor     =   &H80000001&
  169.       FillColor       =   &H00FF80FF&
  170.       FillStyle       =   0  'Solid
  171.       Height          =   255
  172.       Index           =   3
  173.       Left            =   4080
  174.       Top             =   4200
  175.       Width           =   255
  176.    End
  177.    Begin VB.Shape Shape1 
  178.       BorderColor     =   &H80000001&
  179.       FillColor       =   &H00C0C0FF&
  180.       FillStyle       =   0  'Solid
  181.       Height          =   255
  182.       Index           =   2
  183.       Left            =   3840
  184.       Top             =   4200
  185.       Width           =   255
  186.    End
  187.    Begin VB.Shape Shape1 
  188.       BorderColor     =   &H80000004&
  189.       FillColor       =   &H0080FF80&
  190.       FillStyle       =   0  'Solid
  191.       Height          =   255
  192.       Index           =   1
  193.       Left            =   3600
  194.       Top             =   4200
  195.       Width           =   255
  196.    End
  197.    Begin VB.Shape Shape1 
  198.       BorderColor     =   &H80000001&
  199.       FillColor       =   &H00FF8080&
  200.       FillStyle       =   0  'Solid
  201.       Height          =   255
  202.       Index           =   0
  203.       Left            =   3360
  204.       Shape           =   2  'Oval
  205.       Top             =   4200
  206.       Width           =   255
  207.    End
  208.    Begin VB.Line Line4 
  209.       BorderColor     =   &H80000001&
  210.       X1              =   0
  211.       X2              =   0
  212.       Y1              =   960
  213.       Y2              =   6240
  214.    End
  215.    Begin VB.Line Line3 
  216.       BorderColor     =   &H80000001&
  217.       X1              =   5160
  218.       X2              =   0
  219.       Y1              =   6240
  220.       Y2              =   6240
  221.    End
  222.    Begin VB.Line Line2 
  223.       BorderColor     =   &H80000001&
  224.       X1              =   5160
  225.       X2              =   5160
  226.       Y1              =   960
  227.       Y2              =   6240
  228.    End
  229.    Begin VB.Line Line1 
  230.       BorderColor     =   &H80000001&
  231.       X1              =   0
  232.       X2              =   5160
  233.       Y1              =   960
  234.       Y2              =   960
  235.    End
  236.    Begin VB.Menu game 
  237.       Caption         =   "游戏"
  238.       Begin VB.Menu start 
  239.          Caption         =   "开始"
  240.       End
  241.    End
  242. End
  243. Attribute VB_Name = "Form1"
  244. Attribute VB_GlobalNameSpace = False
  245. Attribute VB_Creatable = False
  246. Attribute VB_PredeclaredId = True
  247. Attribute VB_Exposed = False
  248. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  249.   'Runawy =0 左移
  250.   '       =1 上移
  251.   '       =2 右
  252.   '       =3 下
  253.   
  254.   Select Case KeyCode
  255.    Case 37 '点击左键
  256.      If Runway <> 2 Then '蛇没有向右移动
  257.      Runway = 0 '左
  258.      End If
  259.      Case 38 '点击上键
  260.       If Runway <> 3 Then
  261.       Runway = 1
  262.      End If
  263.      Case 39 '点击右键
  264.      If Runway <> 0 Then
  265.      Runway = 2
  266.      End If
  267.      Case 40 '点击下键
  268.      If Runway <> 1 Then
  269.      Runway = 3
  270.      End If
  271.      Case 83 '点击s键为暂停
  272.        'MsgBox "s键"
  273.        Call stop_game
  274.        Case 84 '再次开始游戏
  275.        Call start_game
  276.        
  277.    End Select
  278. End Sub
  279. Private Sub Form_Load()
  280. Timer1.Enabled = False
  281. Timer2.Enabled = False
  282. 'Shape2.Visible = False
  283. Timer3.Enabled = False
  284. Form1.picture = LoadPicture("")
  285. p = 0
  286. p1 = 0
  287. Runway = 0
  288. Runstep = Shape1(0).Width
  289. maxlong = 3 '记录蛇身的长度
  290. m_game = 1 '第一关
  291. score = 0 '记录分数
  292. 'Line5.Visible = False
  293. Labelscore.ForeColor = RGB(0, 255, 0)
  294. time1 = Timer1.Interval
  295. Dim i As Integer
  296. For i = 0 To 3 Step 1 '游戏开始前 记录蛇的位置
  297. snake_init(i).x = Shape1(i).Left
  298. snake_init(i).y = Shape1(i).Top
  299. '
  300. 'snake_stop(i).x = Shape1(i).Left
  301. 'snake_stop(i).y = Shape1(i).Top
  302. Next i
  303. End Sub
  304. '开始游戏
  305. Private Sub start_Click()
  306. Timer1.Enabled = True
  307. Timer2.Enabled = True
  308. Call init_game
  309. End Sub
  310. Private Sub stop_Click()
  311. End Sub
  312. '
  313. Private Sub Timer1_Timer()
  314. '在蛇移动前 记录蛇头的位置
  315. snake_point.x = Shape1(0).Left
  316. snake_point.y = Shape1(0).Top
  317. 'snake_stopX(0) = Shape1(0).Left
  318. 'snake_stopY(0) = Shape1(0).Top
  319. Select Case Runway
  320.  Case 0 '左移动
  321.  Shape1(0).Left = Shape1(0).Left - Runstep
  322.   Call move_snake '移动蛇
  323.   Call vore_game '判断游戏是否结束
  324.   Call group_snake '记录蛇的增长
  325.  Case 1 '上移动
  326.  Shape1(0).Top = Shape1(0).Top - Runstep
  327.   Call move_snake '移动蛇
  328.   Call vore_game '判断游戏是否结束
  329.   Call group_snake '记录蛇的增长
  330. Case 2 ' 右移动
  331.   Shape1(0).Left = Shape1(0).Left + Runstep
  332.   Call move_snake '移动蛇
  333.   Call vore_game '判断游戏是否结束
  334.   Call group_snake '记录蛇的增长
  335.  Case 3
  336.   Shape1(0).Top = Shape1(0).Top + Runstep
  337.   Call move_snake '移动蛇
  338.   Call vore_game '判断游戏是否结束
  339.   Call group_snake '记录蛇的增长
  340. End Select
  341. End Sub
  342. '生成食物
  343. Private Sub Timer2_Timer()
  344. Dim pointx As Integer
  345. Dim pointy As Integer
  346. Randomize
  347. pointx = Rnd * (Line1.X2 - Line1.X1 + 5) + Line1.X1
  348. pointy = Rnd * (Line2.Y2 - Line2.Y1 + 5) + Line2.Y1
  349. Shape2.Left = pointx
  350. Shape2.Top = pointy
  351. Shape2.FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
  352. Shape2.Visible = True
  353. Timer2.Interval = 5000
  354. End Sub
  355. Private Sub Timer3_Timer()
  356. p1 = p1 + 1
  357.  p = p + 1
  358. Dim i As Integer
  359.  If p Mod 2 = 1 Then
  360.   
  361. For i = 0 To maxlong Step 1
  362.  Shape1(i).Visible = False
  363. Next i
  364. Else
  365. For i = 0 To maxlong Step 1
  366. Shape1(i).Visible = True
  367. Next i
  368. End If
  369. If p1 = 6 Then
  370. Timer3.Enabled = False
  371. 'MsgBox "结束游戏!!"
  372. End If
  373. Screen.MousePointer = vbArrow
  374. End Sub
  375. Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
  376.      Select Case Button.Key
  377. Case "start"
  378.    Call start_Click
  379. Case "stop"
  380.    Call stop_game
  381.    Case "gogo"
  382.    Call start_game
  383.    
  384. Case "mm"
  385. Static picture As Integer
  386. picture = (picture + 1) Mod 4
  387.   If picture = 0 Then
  388.  Form1.picture = LoadPicture("")
  389.  Exit Sub
  390.  End If
  391. Dim s1 As String
  392. s1 = "bj" & picture & ".jpg"
  393.  
  394. Form1.picture = LoadPicture(App.Path + s1)
  395.      End Select
  396. End Sub