Jump to content
Chamuanza

Eliminar Números Possíveis em Botões adjacentes de Sudoku

Recommended Posts

Chamuanza

Um bem Aja a todos

Estou com dificuldades de resolver a situação descrita em titulo.

Aproveitando algum código de um jogo de Soduku tenho vindo a fazer algumas alterações (com alguma ajuda deste forum) no mesmo.

Mas não consigo resolver esta parte "Eliminar Números Possíveis em botões adjacentes do Sudoku. Junto imagem e código para explicitar.

https://uploaddeimagens.com.br/imagens/numerospossiveissudoku-jpg

Pretendo ao digitar por exemplo no Botão1 (5) evento Keypress e percorrendo com um ciclo for ou outro os botões da fila ou coluna que contenham o mesmo caractere se elemine o digito correspondente no Botão6  (5) que foi criado com Bitmap.

Consigo detectar com um ciclo For que o botão tem BackColor = Color.White mas eliminar  o valor não sei.

No código está para o botão4 (numberOnButton4) 

Agradeço umas dicas sobre como resolver.

      'Apaga os numeros possiveis 
        Else

            Dim n As Integer

            Dim btn As Button = DirectCast(sender, Button)


            If butModoNumeros.Text = "Modo Normal" Then

                KeyAscii = SoNumeros(KeyAscii)

                If Integer.TryParse(e.KeyChar, n) Then

                    If numbersOnButton1.Contains(n) Then

                        ' numbersOnButton1.Remove(n)


                        numbersOnButton1.Remove(1)
                        numbersOnButton1.Remove(2)
                        numbersOnButton1.Remove(3)
                        numbersOnButton1.Remove(4)
                        numbersOnButton1.Remove(5)
                        numbersOnButton1.Remove(6)
                        numbersOnButton1.Remove(7)
                        numbersOnButton1.Remove(8)
                        numbersOnButton1.Remove(9)

                        CurButtons(1).BackColor = Color.Cyan

                    End If


                    'Eliminar numero correspondente nos botões em branco
                    For X As Integer = 1 To 9

                        If CurButtons(X).BackColor = Color.White And butModoNumeros.Text = "Modo Normal" Then

                            MsgBox("TESTE BRANCO")

                           CurButtons(X).Focus()
            
                            If numbersOnButton4.Contains(n) Then

                                numbersOnButton4.Remove(n)

                            End If

                    
                        End If


                    Next X



                    'If btn.Image IsNot Nothing Then
                    '    btn.Image.Dispose()
                    'End If

                    Dim font As New Font("Microsoft Sans Serif", 8)

                    Dim bmp As New Bitmap(btn.Width, btn.Height)

                    Dim gfx As Graphics = Graphics.FromImage(bmp)
                    ' gfx.Clear(btn.BackColor)

                    For Each item As Integer In numbersOnButton1
                        gfx.DrawString(item.ToString, font, Brushes.Black, GetNumberPosition(item, font, btn))
                    Next

                    btn.Image = bmp
                End If

 

Edited by Chamuanza
Pequena Introdução

Share this post


Link to post
Share on other sites
Chamuanza

Olá pessoal do forum então não há ninguém que me dê umas dicas sobre o assunto?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.