Информационная Безопасность. Аудит Безопасности


Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Нужна помощь в написании игры
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Программирование / Basic/VB/VB.NET RSS подписка на сообщения с форума Subscribe


Новая тема Наиболее обсуждаемые темы Наиболее посещаемые темы
Поиск 
Период
Перейти

Просмотров - 5176
Нужна помощь в написании игры
Добавить этот топик в закладки »
RSS-лента ответов »Subscribe
Freddddy


Novice
# | Сообщение добавлено 06.12.2012 11:45:33
Здравствуйте!
Я новичок в программировании. Написал очень примитивный код на игру "Крестики-Нолики". Вся проблема в том, что у меня проходит первый ход(ходят всегда крестики первыми), а второй ход не идет, куда не нажимай. Посмотрите, в чем ошибка моя, ну и если можно сократить программу. Онаааааааа очень ужасно написана, прошу без смеха :)
визуальная часть:

Visual Basic
Public Class Form1
    Dim hod As Boolean
    Dim pole(,) As Integer = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}
    Public i, j, pobk, pobn As Integer
    Sub sbros()
        hod = True
        nxt.Image = Crestiki_noliki.My.Resources.Resources.kre
        Label2.Text = ":" & pobk
        Label3.Text = ":" & pobn
        Pole20.Image = Crestiki_noliki.My.Resources.none
        Pole21.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole22.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole00.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole01.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole02.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole10.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole11.Image = Crestiki_noliki.My.Resources.Resources.none
        Pole12.Image = Crestiki_noliki.My.Resources.Resources.none
        For Me.i = 0 To 2
            For Me.j = 0 To 2
                pole(i, j) = 0
            Next
        Next
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        pobk = 0
        pobn = 0
        sbros()
    End Sub
    Private Sub Pole00_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole00.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole00.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole00.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole01_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole01.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole01.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole01.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole02_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole02.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole02.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole02.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole10.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole10.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole10.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole11.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole11.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole12.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole12.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole12.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole12.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole20.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole20.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole20.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole21.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole21.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole21.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole22.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole22.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole22.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Sub go(ByVal i, ByVal j)
        If hod = True Then
            nxt.Image = Crestiki_noliki.My.Resources.Resources.No
            hod = False
        Else
            nxt.Image = Crestiki_noliki.My.Resources.Resources.kre
            hod = True
        End If
        If pole(i, 0) = 1 And pole(i, 1) = 1 And pole(i, 2) = 1 Then
            pobk = pobk + 1
            sbros()
        ElseIf pole(i, 0) = 2 And pole(i, 1) = 2 And pole(i, 2) = 2 Then
            pobn = pobn + 1
            sbros()
        End If
        If pole(0, j) = 1 And pole(1, j) = 1 And pole(2, j) = 1 Then
            pobk = pobk + 1
            sbros()
        ElseIf pole(0, j) = 2 And pole(1, j) = 2 And pole(2, j) = 2 Then
            pobn = pobn + 1
            sbros()
        End If
        If pole(0, 0) = 1 And pole(1, 1) = 1 And pole(2, 2) = 1 Then
            pobk = pobk + 1
            sbros()
        ElseIf pole(0, 0) = 2 And pole(1, 1) = 2 And pole(2, 2) = 2 Then
            pobn = pobn + 1
            sbros()
        End If
        If pole(0, 2) = 1 And pole(1, 1) = 1 And pole(2, 0) = 1 Then
            pobk = pobk + 1
            sbros()
        ElseIf pole(0, 2) = 2 And pole(1, 1) = 2 And pole(2, 0) = 2 Then
            pobn = pobn + 1
            sbros()
        End If
    End Sub
    Private Sub НоваяИграToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НоваяИграToolStripMenuItem.Click
        sbros()
    End Sub
    Private Sub ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
        Me.Close()
    End Sub
End Class

Добавлено 06.12.2012 12:22:02 (через 1 час 36 минут 29 секунд )
 
Решение нашел, нужно было изменить значения i и j(в соответствии с позицией картинки):
Visual Basic
   Private Sub Pole00_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole00.Click
        i = 0
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole00.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole00.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole01_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole01.Click
        i = 0
        j = 1
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole01.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole01.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole02_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole02.Click
        i = 0
        j = 2
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole02.Image = Crestiki_noliki.My.Resources.Resources.Kre
            Else
                pole(i, j) = 2
                Pole02.Image = Crestiki_noliki.My.Resources.Resources.No
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole10.Click
        i = 1
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole10.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole10.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole11.Click
        i = 1
        j = 1
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole11.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole11.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole12.Click
        i = 1
        j = 2
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole12.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole12.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole20.Click
        i = 2
        j = 0
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole20.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole20.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole21.Click
        i = 2
        j = 1
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole21.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole21.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub
    Private Sub Pole22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pole22.Click
        i = 2
        j = 2
        If pole(i, j) = 0 Then
            If hod = True Then
                pole(i, j) = 1
                Pole22.Image = Crestiki_noliki.My.Resources.Resources.kre
            Else
                pole(i, j) = 2
                Pole22.Image = Crestiki_noliki.My.Resources.Resources.no
            End If
            go(i, j)
        End If
    End Sub

но остается сократить программу, помогите
Сказать спасибо Ответить Цитировать


Только зарегистрированные пользователи могут оставлять сообщения в форуме

Зарегистрироваться *** Авторизоваться

 Последние новости и статьи  Последние сообщения с форумов
  • В darknet сливают данные 100 000 российских банковских карт
  • Вирус Escobar ворует коды двухфакторной аутентификации из Google ...
  • DeadBolt использует уязвимость, исправленную в декабре
  • Почти миллион WordPress-сайтов в опасности из-за уязвимости в поп...
  • Шифровальщик DeadBolt взломал 3600 NAS. Qnap устанавливает обновл...
  • Банковский троян Chaes устанавливает вредоносные расширения для C...
  • Взломана платформа Qubit Finance, хакеры похитили 80 млн долларов
  • Арест участников REvil взволновал других преступников
  • Обнаружена malware MoonBounce, внедряющаяся в UEFI
  • Администратор кардерского форума UniCC и участник хак-группы The ...

    Все новости... Все статьи... Прислать новость RSS
  • Разное / Предложения работы » Взлом авторизации CRM
  • Разное / Предложения работы » взломать сайт и выграть электронную жеребьёвку
  • Разное / Предложения работы » разблокировать сбер аккаунт
  • Разное / Болталка » Re: Форум жив?
  • Разное / Болталка » Форум жив?
  • Разное / Болталка » С Новым 2022 Годом!
  • Взлом и безопасность / Программы » Re: Hasp ключ для ABC-4
  • Портал / Отзывы и предложения » Предлагаем партнерство вашему форуму.
  • Разное / Предложения работы » взлом почты
  • Разное / Куплю, приму в дар » Покупка аккаунтов Uphold

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 1996-2020. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    contador de visitas счетчик посещений

    #{title}

    #{text}

    x

    #{title}

    #{text}