Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 06.12.2011
Сообщений: 20
1

Прмерный алгоритм для создания игры в крестики нолики

06.01.2012, 12:46. Показов 3354. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите прмерный алгоритм для создания игры в крестики нолики на поле размером 3x3. Я пытался сделать одними If else, но это муторно, да и в конце концов запутался
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2012, 12:46
Ответы с готовыми решениями:

Крестики-нолики - алгоритм для игры против ПК
Смотрю, уже только ленивый не сделал. Собственно это я. Вчера сел, написал свои 200 строк...

Написать AI для игры крестики-нолики (алгоритм самообучающегося бота)
Хочу написать подобным алгоритм, но даже не знаю с чего начать. В интернете перерыл все, ничего...

Бот для игры крестики-нолики
Написал программу крестики-нолики, но у меня игрок против игрока , как добавить бота, самого...

Class для игры в Крестики-Нолики
Предлагаю вашему вниманию небольшой класс, ваши предложения, идеи будут приветствоваться Public...

3
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
06.01.2012, 13:56 2
FreeCoderStyle, знаком с массивом? без if и else сделать все равно не получится, другой вопрос, как можно компактнее оформить, минут через 30 думаю сделаю.

Добавлено через 24 минуты
ну вот так, если на скорую руку, думать не особо хочется, все же праздники .
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Public Class Form1
    Dim x As Boolean = True
    Dim lbl(2, 2) As Label
    Dim w(7) As win
    Private Structure win
        Dim z1 As Point
        Dim z2 As Point
        Dim z3 As Point
    End Structure
 
    Private Sub Label_Click(ByVal sender As Label, ByVal e As System.EventArgs)
        If sender.Text <> Nothing Then Exit Sub
        If x = True Then sender.Text = "X" : x = False Else sender.Text = "O" : x = True
 
        For Each d As win In w
            If lbl(d.z1.X, d.z1.Y).Text = lbl(d.z2.X, d.z2.Y).Text AndAlso lbl(d.z1.X, d.z1.Y).Text = lbl(d.z3.X, d.z3.Y).Text AndAlso (lbl(d.z1.X, d.z1.Y).Text = "X" OrElse lbl(d.z1.X, d.z1.Y).Text = "O") Then
                MsgBox("WIN")
                For Each l As Label In lbl
                    l.Text = Nothing
                Next
                Exit For
            End If
        Next
 
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        w(0).z1 = New Point(0, 0)
        w(0).z2 = New Point(0, 1)
        w(0).z3 = New Point(0, 2)
 
        w(1).z1 = New Point(1, 0)
        w(1).z2 = New Point(1, 1)
        w(1).z3 = New Point(1, 2)
 
        w(2).z1 = New Point(2, 0)
        w(2).z2 = New Point(2, 1)
        w(2).z3 = New Point(2, 2)
 
        w(3).z1 = New Point(0, 0)
        w(3).z2 = New Point(1, 0)
        w(3).z3 = New Point(2, 0)
 
        w(4).z1 = New Point(0, 1)
        w(4).z2 = New Point(1, 1)
        w(4).z3 = New Point(2, 1)
 
        w(5).z1 = New Point(0, 2)
        w(5).z2 = New Point(1, 2)
        w(5).z3 = New Point(2, 2)
 
        w(6).z1 = New Point(0, 0)
        w(6).z2 = New Point(1, 1)
        w(6).z3 = New Point(2, 2)
 
        w(7).z1 = New Point(0, 2)
        w(7).z2 = New Point(1, 1)
        w(7).z3 = New Point(2, 0)
 
        For i = 0 To 2
            For j = 0 To 2
                Dim label As New Label
                label.AutoSize = False
                label.Size = New Size(20, 20)
                label.BorderStyle = BorderStyle.FixedSingle
                label.Location = New Point(10 + i * 20, 10 + j * 20)
                label.Text = Nothing
                Me.Controls.Add(label)
                lbl(i, j) = label
                AddHandler label.Click, AddressOf Label_Click
            Next
        Next
    End Sub
End Class
1
1 / 1 / 0
Регистрация: 06.12.2011
Сообщений: 20
06.01.2012, 14:12  [ТС] 3
да, мне еще учиться и учиться

Это игра с двумя игроками, а я делал с компьютером
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
06.01.2012, 14:36 4
Цитата Сообщение от FreeCoderStyle Посмотреть сообщение
Это игра с двумя игроками, а я делал с компьютером
так бы сразу и написали бы.

Добавлено через 6 минут
на самом деле комбинаций не так уж много, они однотипны, похожи.
0
06.01.2012, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2012, 14:36
Помогаю со студенческими работами здесь

Логика для игры крестики нолики
Здравствуйте. Есть программа крестики нолики. Не могу выполнить задание чтобы, вместо 2 игроков был...

Таймер для игры крестики нолики
Игра через Form, не консольная, хочу прикрепить таймер к ходу компьютера,т.е. сделать два режима...

Мозг для игры крестики нолики
Добрый вечер уважаемые. Написал Игру крестики нолики. Компьютер играет рандомно. Может кто то...

Формальная постановка для игры крестики и нолики
Доброго времени суток. Написал игру крестики и нолики размерностью 4х4. Нужно написать к этой игре...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru