Disabling one button out of an array without changing the others.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • NJCSIT
    New Member
    • Jun 2012
    • 1

    Disabling one button out of an array without changing the others.

    I am currently making a battleship game and I want to know how to disable one button out of the array at a time and when it is a miss it turns grey and if it is a hit it turns red. This is the code I have so far.....

    Code:
    Imports System
    Imports System.Drawing
    Imports System.Drawing.Graphics
    Public Class Form1
        Private btnArray(6, 6) As Button
        Private btnPic(6, 6) As PictureBox
        Dim g As Graphics
        Const FILE_PREFIX As String = "E:\ 2008-2009\visual basic\visual studio 2008\Projects\concentration\windowsapplication1\resources\"
        Const FILE_SUFFIX As String = ".png"
        Const BUTTON As String = "button"
    
        Private Sub btnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuit.Click
            End
        End Sub
    
        Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Dim x As Integer
            Dim y As Integer
    
            For y = 0 To 4
                For x = 0 To 4
                    btnArray(x, y) = New Button
                    btnArray(x, y).Parent = Me
                    btnArray(x, y).Width = 100
                    btnArray(x, y).Left = x * 100
                    btnArray(x, y).Height = 100
                    btnArray(x, y).Top = 20 + y * 100
                    btnArray(x, y).Tag = x & Space(2) & y
                    btnArray(x, y).BringToFront()
                    AddHandler btnArray(x, y).Click, AddressOf Me.btnPlay_Click
                    AddHandler btnArray(x, y).MouseDown, AddressOf Me.btnArray_MouseDown
    
                Next
            Next
    
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim x As Integer
            Dim y As Integer
    
            For y = 0 To 4
                For x = 0 To 4
                    btnArray(x, y) = New Button
                    btnArray(x, y).Parent = Me
                    btnArray(x, y).Width = 100
                    btnArray(x, y).Left = x * 100
                    btnArray(x, y).Height = 100
                    btnArray(x, y).Top = 20 + y * 100
                    btnArray(x, y).Tag = x & Space(2) & y
                    btnArray(x, y).BringToFront()
                    AddHandler btnArray(x, y).Click, AddressOf Me.btnPlay_Click
                    AddHandler btnArray(x, y).MouseDown, AddressOf Me.btnArray_MouseDown
    
                Next
            Next
    
            Call AssignWords()
            Call PlayerChoose()
        End Sub
    
        Private Sub AssignPicButtons()
    
            Dim tally(18) As Integer
            Dim randomObject As New Random()
            Dim randomNumber As Integer = randomObject.Next(1, 19)
    
            For x = 0 To 4
                For y = 0 To 4
                    btnPic(x, y) = New PictureBox
                    btnPic(x, y).Parent = btnArray(x, y)
                    btnPic(x, y).Width = 90
                    btnPic(x, y).Left = 5 + x * 00
                    btnPic(x, y).Height = 90
                    btnPic(x, y).Top = 5 + y * 100
                    btnPic(x, y).Image = Image.FromFile(FILE_PREFIX & BUTTON & randomNumber & FILE_SUFFIX)
                    btnPic(x, y).Hide()
                Next
            Next
        End Sub
    
        Private Sub AssignWords()
            Dim randomObject As New Random()
            Dim randomNumber As Integer
            Dim check(18) As Integer
            Dim intcheck As Integer = 0
            Dim blnMadeWord As Boolean = False
    
            For x = 0 To 4
                For y = 0 To 4
                    blnMadeWord = False
                    Do While blnMadeWord = False
                        randomNumber = randomObject.Next(1, 19)
                        check(randomNumber) = check(randomNumber) + 1
                        If check(randomNumber) < 3 Then
                            For randomNumber = 0 To 18
    
                                Select Case randomNumber
    
                                    Case 1
                                        btnArray(x, y).Text = "Battleship"
                                    Case 2
                                        btnArray(x, y).Text = "Battleship"
                                    Case 3
                                        btnArray(x, y).Text = "Battleship"
                                    Case 4
                                        btnArray(x, y).Text = "Battleship"
                                    Case 5
                                        btnArray(x, y).Text = "Battleship"
                                    Case 6
                                        btnArray(x, y).Text = "Battleship"
                                    Case 7
                                        btnArray(x, y).Text = "Battleship"
                                    Case 8
                                        btnArray(x, y).Text = "Battleship"
                                    Case 9
                                        btnArray(x, y).Text = "Battleship"
                                    Case 10
                                        btnArray(x, y).Text = "Battleship"
                                    Case 11
                                        btnArray(x, y).Text = "Battleship"
                                    Case 12
                                        btnArray(x, y).Text = "Battleship"
                                    Case 13
                                        btnArray(x, y).Text = "Battleship"
                                    Case 14
                                        btnArray(x, y).Text = "Battleship"
                                    Case 15
                                        btnArray(x, y).Text = "Battleship"
                                    Case 16
                                        btnArray(x, y).Text = "Battleship"
                                    Case 17
                                        btnArray(x, y).Text = "Battleship"
                                    Case 18
                                        btnArray(x, y).Text = "Battleship"
    
                                End Select
                            Next
    
                            blnMadeWord = True
    
                        End If
                    Loop
                Next y
            Next x
            
        End Sub
    
    
        Private Sub PlayerChoose()
    
        End Sub
    
        Private Sub SetBackgroundPicture()
        End Sub
    
        Private Sub EndToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EndToolStripMenuItem.Click
            End
        End Sub
        
    End Class
    Last edited by PsychoCoder; Jun 7 '12, 07:25 PM. Reason: Code tags added
Working...