home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / Nokia_Snak1869633302005.psc / SNAKE / frmSnake.frm < prev    next >
Text File  |  2005-03-30  |  12KB  |  427 lines

  1. VERSION 5.00
  2. Begin VB.Form frmSnake 
  3.    AutoRedraw      =   -1  'True
  4.    BackColor       =   &H00000000&
  5.    BorderStyle     =   0  'None
  6.    Caption         =   "Snake White Python"
  7.    ClientHeight    =   7485
  8.    ClientLeft      =   0
  9.    ClientTop       =   0
  10.    ClientWidth     =   8280
  11.    ForeColor       =   &H00FFFFFF&
  12.    KeyPreview      =   -1  'True
  13.    LinkTopic       =   "frmSnake"
  14.    ScaleHeight     =   499
  15.    ScaleMode       =   3  'Pixel
  16.    ScaleWidth      =   552
  17.    StartUpPosition =   2  'CenterScreen
  18.    Begin VB.Timer timGameLoop 
  19.       Interval        =   250
  20.       Left            =   4080
  21.       Top             =   360
  22.    End
  23.    Begin VB.PictureBox picInfo 
  24.       AutoRedraw      =   -1  'True
  25.       AutoSize        =   -1  'True
  26.       BorderStyle     =   0  'None
  27.       Height          =   750
  28.       Left            =   0
  29.       Picture         =   "frmSnake.frx":0000
  30.       ScaleHeight     =   50
  31.       ScaleMode       =   3  'Pixel
  32.       ScaleWidth      =   260
  33.       TabIndex        =   3
  34.       Top             =   4200
  35.       Width           =   3900
  36.       Begin Snake_By_Umer.Button buttNewGame 
  37.          Height          =   375
  38.          Left            =   120
  39.          TabIndex        =   7
  40.          Top             =   390
  41.          Width           =   1215
  42.          _extentx        =   2143
  43.          _extenty        =   661
  44.       End
  45.       Begin Snake_By_Umer.Button buttExit 
  46.          Height          =   375
  47.          Left            =   2640
  48.          TabIndex        =   6
  49.          Top             =   390
  50.          Width           =   1215
  51.          _extentx        =   2143
  52.          _extenty        =   661
  53.          lbl             =   "Exit"
  54.       End
  55.       Begin Snake_By_Umer.Button buttOptions 
  56.          Height          =   375
  57.          Left            =   1320
  58.          TabIndex        =   9
  59.          Top             =   390
  60.          Width           =   1215
  61.          _extentx        =   2143
  62.          _extenty        =   661
  63.          lbl             =   "Options"
  64.       End
  65.       Begin VB.Label lblScore 
  66.          BackStyle       =   0  'Transparent
  67.          Caption         =   "Score comes Here"
  68.          BeginProperty Font 
  69.             Name            =   "Verdana"
  70.             Size            =   8.25
  71.             Charset         =   0
  72.             Weight          =   700
  73.             Underline       =   0   'False
  74.             Italic          =   0   'False
  75.             Strikethrough   =   0   'False
  76.          EndProperty
  77.          Height          =   255
  78.          Left            =   210
  79.          TabIndex        =   5
  80.          Top             =   120
  81.          Width           =   3615
  82.       End
  83.    End
  84.    Begin VB.PictureBox picBar 
  85.       AutoRedraw      =   -1  'True
  86.       AutoSize        =   -1  'True
  87.       BorderStyle     =   0  'None
  88.       Height          =   300
  89.       Left            =   0
  90.       Picture         =   "frmSnake.frx":989A
  91.       ScaleHeight     =   20
  92.       ScaleMode       =   3  'Pixel
  93.       ScaleWidth      =   260
  94.       TabIndex        =   2
  95.       Top             =   0
  96.       Width           =   3900
  97.       Begin VB.Label lblBar 
  98.          Alignment       =   2  'Center
  99.          BackStyle       =   0  'Transparent
  100.          Caption         =   "Snake"
  101.          BeginProperty Font 
  102.             Name            =   "Verdana"
  103.             Size            =   8.25
  104.             Charset         =   0
  105.             Weight          =   700
  106.             Underline       =   0   'False
  107.             Italic          =   0   'False
  108.             Strikethrough   =   0   'False
  109.          EndProperty
  110.          Height          =   255
  111.          Left            =   120
  112.          TabIndex        =   4
  113.          Top             =   60
  114.          Width           =   3615
  115.       End
  116.    End
  117.    Begin VB.PictureBox picGameField 
  118.       AutoRedraw      =   -1  'True
  119.       AutoSize        =   -1  'True
  120.       BorderStyle     =   0  'None
  121.       Height          =   3900
  122.       Left            =   0
  123.       Picture         =   "frmSnake.frx":D5CC
  124.       ScaleHeight     =   260
  125.       ScaleMode       =   3  'Pixel
  126.       ScaleWidth      =   260
  127.       TabIndex        =   0
  128.       Top             =   300
  129.       Width           =   3900
  130.       Begin VB.PictureBox picFood 
  131.          AutoRedraw      =   -1  'True
  132.          AutoSize        =   -1  'True
  133.          BorderStyle     =   0  'None
  134.          Height          =   150
  135.          Left            =   75
  136.          Picture         =   "frmSnake.frx":3EE22
  137.          ScaleHeight     =   10
  138.          ScaleMode       =   3  'Pixel
  139.          ScaleWidth      =   10
  140.          TabIndex        =   8
  141.          Top             =   225
  142.          Visible         =   0   'False
  143.          Width           =   150
  144.       End
  145.       Begin VB.PictureBox picSnake 
  146.          AutoRedraw      =   -1  'True
  147.          AutoSize        =   -1  'True
  148.          BorderStyle     =   0  'None
  149.          Height          =   150
  150.          Index           =   0
  151.          Left            =   75
  152.          Picture         =   "frmSnake.frx":3EFA4
  153.          ScaleHeight     =   10
  154.          ScaleMode       =   3  'Pixel
  155.          ScaleWidth      =   10
  156.          TabIndex        =   1
  157.          Top             =   75
  158.          Visible         =   0   'False
  159.          Width           =   150
  160.       End
  161.    End
  162. End
  163. Attribute VB_Name = "frmSnake"
  164. Attribute VB_GlobalNameSpace = False
  165. Attribute VB_Creatable = False
  166. Attribute VB_PredeclaredId = True
  167. Attribute VB_Exposed = False
  168. '#########################################
  169. '#         Developed By Umer KK          #
  170. '#        Umerkhan_63@Hotmail.com        #
  171. '#########################################
  172.  
  173. Option Explicit
  174. Dim intScore As Integer
  175. Dim intSnakeSize As Integer
  176. Dim lngX As Long
  177. Dim lngY As Long
  178. Dim strDirection As String
  179. Dim blnKeyAcces As Boolean
  180.  
  181. Const dimX1 As Byte = 5
  182. Const dimX2 As Byte = 245
  183. Const dimY1 As Byte = 5
  184. Const dimY2 As Byte = 245
  185.  
  186. Private Sub buttExit_Click()
  187.  'Exit the program
  188.   Unload Me
  189. End Sub
  190.  
  191. Private Sub buttNewGame_Click()
  192.  'Start a New Game
  193.  'Calls all the sequences to start a new game...
  194.   Call NewGame
  195.  'Sets focus to player's screen
  196.   picGameField.SetFocus
  197. End Sub
  198.  
  199. Sub NewGame()
  200.  'Starts a New Game
  201.   'declarations
  202.    Dim t As Integer 'teller
  203.   
  204.   'Unload previous snake
  205.    If Not intSnakeSize = 0 Then
  206.     For t = intSnakeSize To 1 Step -1
  207.      Unload picSnake(t)
  208.     Next t
  209.     intSnakeSize = 0
  210.    End If
  211.   
  212.   'Place the head of the snake, and make a body
  213.    picSnake(0).Move dimX1 + 40, dimY1
  214.    picSnake(0).Visible = True
  215.   'Make a body
  216.    For t = 1 To 4
  217.     Load picSnake(t)
  218.     picSnake(t).Move picSnake(t - 1).Left - 10, picSnake(0).Top
  219.     picSnake(t).Visible = True
  220.     intSnakeSize = intSnakeSize + 1
  221.    Next t
  222.   'Place Food
  223.    picFood.Visible = True
  224.    Call PlaceFood
  225.   'The snake moves right!
  226.    strDirection = "right"
  227.   'Start the GameLoop
  228.    timGameLoop.Enabled = True
  229. End Sub
  230. '#########################################
  231. '#         Developed By Umer KK          #
  232. '#        Umerkhan_63@Hotmail.com        #
  233. '#########################################
  234. Sub PlaceFood()
  235.  'This sub will handle the placing of the food
  236.   'declarations
  237.    'none
  238.  
  239.   'Calculate where it should be placed (randomly)
  240.    Do
  241.     Call CalculateFood
  242.    Loop Until CalculateFood = True
  243.  
  244.   'Place the food
  245.    picFood.Move lngX, lngY
  246. End Sub
  247.  
  248. Function CalculateFood() As Boolean
  249.  'This function will calculate a place for the food
  250.  'When you cannot divide it by 10 or 5 it will return a false, else a true
  251.   'declarations
  252.    Dim temp As String
  253.    Dim t As Integer 'teller
  254.   
  255.   'calc
  256.    lngX = Int((dimX2 - dimX1 + 1) * Rnd + dimX1)
  257.    lngY = Int((dimY2 - dimY1 + 1) * Rnd + dimY1)
  258.   'check
  259.    temp = lngX
  260.    If Not Right(temp, 1) = 5 Then
  261.     CalculateFood = False
  262.    Else
  263.     temp = lngY
  264.     If Not Right(temp, 1) = 5 Then
  265.      CalculateFood = False
  266.     Else
  267.      'Now we're going to check wheter the food is'nt placed on the snake
  268.       For t = 0 To intSnakeSize
  269.        If picSnake(t).Left = lngX And picSnake(t).Top = lngY Then
  270.         CalculateFood = False
  271.        Else
  272.         CalculateFood = True
  273.        End If
  274.       Next t
  275.     End If
  276.    End If
  277. End Function
  278.  
  279. Private Sub buttOptions_click()
  280.  frmOptions.Show
  281.  Me.Enabled = False
  282. End Sub
  283.  
  284. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  285.  'This sub Checks which key is pressed
  286.  
  287.   If blnKeyAcces = False Then Exit Sub
  288.  
  289.   If KeyCode = vbKeyLeft And Not strDirection = "right" Then strDirection = "left"
  290.   If KeyCode = vbKeyRight And Not strDirection = "left" Then strDirection = "right"
  291.   If KeyCode = vbKeyUp And Not strDirection = "down" Then strDirection = "up"
  292.   If KeyCode = vbKeyDown And Not strDirection = "up" Then strDirection = "down"
  293.   
  294.   blnKeyAcces = False
  295. End Sub
  296.  
  297. Private Sub Form_Load()
  298.  'Sets the CaptionTitle
  299.   lblBar.Caption = "Snake v" & App.Major & "." & App.Minor & "." & "."
  300.   Me.Caption = lblBar.Caption
  301.  'Resize the Form
  302.   Me.Height = 4950
  303.   Me.Width = 3900
  304.  'Name Buttons
  305.   buttExit.Tekst = "Exit"
  306.   buttNewGame.Tekst = "New Game"
  307.   buttOptions.Tekst = "Options"
  308.  'Score is 0
  309.   intScore = 0
  310.   lblScore = "Score: " & intScore
  311.  'Going through walls is enabled
  312.   blnGoThroughWalls = True
  313. End Sub
  314.  
  315. Private Sub Form_Unload(Cancel As Integer)
  316. MsgBox "Please Vote Me On mY This Submission, I Worked Very Hard IN Making This Game, Please Vote Me.", vbInformation, "Snake"
  317. End Sub
  318.  
  319. Private Sub lblBar_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  320.  'This Let's the Form Move, like a real titlebar
  321.   Call MouseMove(Me)
  322. End Sub
  323.  
  324. Private Sub picBar_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  325.  'This Let's the Form Move, like a real titlebar
  326.   Call MouseMove(Me)
  327. End Sub
  328.  
  329. Private Sub timGameLoop_Timer()
  330.  'This Timer Loops the Game
  331.   'Makes the snake move..
  332.    Call MoveSnake
  333.   'Checks any Collision
  334.    Call CheckCollision
  335.   
  336.   'Grant acces to keypress
  337.    blnKeyAcces = True
  338. End Sub
  339.  
  340. Sub MoveSnake()
  341.  'This Sub moves the snake and it's body
  342.   'declarations
  343.    Dim t As Integer 'teller
  344.    
  345.   'Move the Body
  346.    For t = intSnakeSize To 1 Step -1
  347.     picSnake(t).Move picSnake(t - 1).Left, picSnake(t - 1).Top
  348.    Next t
  349.   'Move the Head
  350.    Select Case strDirection
  351.     Case "left"
  352.      picSnake(0).Left = picSnake(0).Left - 10
  353.     Case "right"
  354.      picSnake(0).Left = picSnake(0).Left + 10
  355.     Case "up"
  356.      picSnake(0).Top = picSnake(0).Top - 10
  357.     Case "down"
  358.      picSnake(0).Top = picSnake(0).Top + 10
  359.    End Select
  360. End Sub
  361.  
  362. Sub CheckCollision()
  363.  'This sub checks whether the snake has hit something
  364.   'declarations
  365.    Dim t As Integer 'teller
  366.  
  367.   'Check for hitting walls
  368.    If picSnake(0).Left < dimX1 Or picSnake(0).Left > dimX2 Or _
  369.       picSnake(0).Top < dimY1 Or picSnake(0).Top > dimY2 Then
  370.     If blnGoThroughWalls = False Then
  371.      picSnake(0).Visible = False
  372.      timGameLoop.Enabled = False
  373.      lblScore = "Score: " & intScore & "  Eaten: " & intScore / 10
  374.     Else
  375.      Call GoThroughWalls
  376.     End If
  377.    End If
  378.   'check for eating itself
  379.    For t = 1 To intSnakeSize
  380.     If picSnake(0).Left = picSnake(t).Left And _
  381.        picSnake(0).Top = picSnake(t).Top Then
  382.      timGameLoop.Enabled = False
  383.      lblScore = "Score: " & intScore & "  Eaten: " & intScore / 10
  384.     End If
  385.    Next t
  386.  
  387.   'check for eating food
  388.    If picSnake(0).Left = picFood.Left And _
  389.       picSnake(0).Top = picFood.Top Then
  390.     intScore = intScore + 10
  391.     lblScore.Caption = "Score: " & intScore
  392.     Call GrowSnake
  393.     Call PlaceFood
  394.    End If
  395. End Sub
  396.  
  397. Sub GoThroughWalls()
  398.  'This sub makes the snake move through the walls
  399.   
  400.   'Locate where he the head is, and then move it to the opposite
  401.    'Left
  402.     If picSnake(0).Left < dimX1 Then
  403.      picSnake(0).Left = dimX2
  404.     End If
  405.    'Right
  406.     If picSnake(0).Left > dimX2 Then
  407.      picSnake(0).Left = dimX1
  408.     End If
  409.    'Up
  410.     If picSnake(0).Top < dimY1 Then
  411.      picSnake(0).Top = dimY2
  412.     End If
  413.    'Down
  414.     If picSnake(0).Top > dimY2 Then
  415.      picSnake(0).Top = dimY1
  416.     End If
  417. End Sub
  418.  
  419. Sub GrowSnake()
  420.  'This sub let's the snake grow by one
  421.   'Add one
  422.    intSnakeSize = intSnakeSize + 1
  423.   'Load it
  424.    Load picSnake(intSnakeSize)
  425.    picSnake(intSnakeSize).Visible = True
  426. End Sub
  427.