Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
1

Игра "Быки и коровы": как реализовать игру между пользователями

10.12.2012, 16:49. Просмотров 2580. Ответов 5
Метки нет (Все метки)


Приветствую, помогите кто может, писал быки и коровы и столкнулся с проблемой в задании сказано игра или с компьютером или игрок с игроком с компьютером я сделал но вот игрок с игроком никак не могу придумать как его впихнуть
Visual Basic
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
Option Explicit
 
Dim a(1 To 4), p, cislo, k, i As Integer
Sub Auto_open()
newgame
 
End Sub
 
Sub newgame()
 
'Очищаем ячейки С5 и С7
 
Range("C5").Value = ""
 
Range("C7").Value = ""
 
 
 
'"Перенастраиваем" датчик случайных чисел
 
Randomize
 
Do
 
'Генерируем случайное 4-значное число
 
cislo = 1000 + Rnd * 8999
 
'Выделяем его цифры и записываем их в массив
 
a(1) = cislo \ 1000
 
a(2) = (cislo Mod 1000) \ 100
 
a(3) = (cislo Mod 100) \ 10
 
a(4) = cislo Mod 10
 
Loop Until a(1) <> a(2) And a(1) <> a(3) And a(1) <> a(4) And a(2) <> a(3) And a(2) <> a(4) And a(3) <> a(4)
 
p = 0
 
Range("C5").Activate
Cells(15, 1) = cislo
 
 
End Sub
 
Sub nextgame()
 
'Описываем локальные переменные величины
 
Dim otvet1, otvet(1 To 4), buk, cow, i, j, k As Integer
 
 
 
'и выводим его в ячейке С7
p = 0
Range("C7").Value = p
 
'Считываем число-ответ
 
otvet1 = Range("C5").Value
 
'и сравниваем его с задуманным числом
 
If otvet1 = cislo Then
 
MsgBox ("Правильно! Число попыток = " + STR$(p))
 
Else
 
If otvet1 = 0 Then
 
MsgBox ("Заполните Ответ")
 
Else 'Игра продолжается
p = 1
p = p + 1
Range("C7").Value = p
'Определяем цифры в ответе
 
'и записываем их в массив ЦифрыОтвета
 
otvet(1) = otvet1 \ 1000
 
otvet(2) = (otvet1 Mod 1000) \ 100
 
otvet(3) = (otvet1 Mod 100) \ 10
 
otvet(4) = otvet1 Mod 10
 
'Подсчитываем количество "быков"
For i = 1 To 4
 
If otvet(i) = a(i) Then
 
buk = buk + 1
 
End If
Next i
'и количество "коров"
 
For i = 1 To 4
 
For j = 1 To 4
 
If otvet(i) = a(j) And i <> j Then
 
cow = cow + 1
 
End If
 
Next j
 
Next i
 
'Выводим результат
 
MsgBox ("Число быков = " + STR$(buk) + " Число коров = " + STR$(cow))
 
 
'Готовимся принять новое число
 
Range("C5").Activate
 
End If
 
End If
 
k = 11 + p
Cells(k, 5) = buk
If cow = 0 Then
Cells(k, 6) = "0"
Else
Cells(k, 6) = cow
 
End If
 
 
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2012, 16:49
Ответы с готовыми решениями:

Написать игру "Игра в Двенадцать"
Реализовать на Basic, в макросах программы exсel, создать форму игры. помогите пожалуйста, как это...

MS Acces VBA. Как вывести поле "фамилия" и "группа" из таблицы "студенты" в Access ?
Использовать Fields? Посмотрите в рисунке задания.

Какие св-ва одинаковые для управляющих элементов "Кнопка", "Переключатель", "Флажок", "Текстовое поле"
Какие св-ва одинаковые для управляющих элементов &quot;Кнопка&quot;, &quot;Переключатель&quot;, &quot;Флажок&quot;, &quot;Текстовое...

Отметить полужирным шрифтом в исходном тексте слова имеющие приставки "пре", "при", "на", "не"
Отметить полужирным шрифтом в исходном тексте слова имеющие приставки &quot;пре&quot;, &quot;при&quot;, &quot;на&quot;, &quot;не&quot;....

5
3201 / 952 / 221
Регистрация: 29.05.2010
Сообщений: 2,068
10.12.2012, 19:20 2
Попробуй использовать событие листа:
Visual Basic
1
2
3
Private Sub Worksheet_Change(ByVal Target As Range)
 
End Sub
0
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
10.12.2012, 19:24  [ТС] 3
а поподробней можно??
0
3201 / 952 / 221
Регистрация: 29.05.2010
Сообщений: 2,068
10.12.2012, 19:32 4
Worksheet_Change - событие возникающие при изменении значения ячейки, с помощью которого можно отловить реакцию игрока и обработать программно.
0
688 / 229 / 18
Регистрация: 17.01.2011
Сообщений: 577
Записей в блоге: 1
10.12.2012, 19:36 5
Вот есть готовая игра, скачанная более 10 лет назад из интернета.
0
Вложения
Тип файла: xls Bulls.xls (75.5 Кб, 52 просмотров)
Тип файла: zip G-pack.zip (106.9 Кб, 32 просмотров)
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
10.12.2012, 19:57  [ТС] 6
Цитата Сообщение от dzug Посмотреть сообщение
Вот есть готовая игра, скачанная более 10 лет назад из интернета.
Спасибо но это немножко не то эта часть у меня реализована а вот игра человек с человеком никак
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2012, 19:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как сделать, чтобы kod= "=Find("","", R2C1, 1)"
Как следующий код Cells(1, 9).Select ActiveCell.FormulaR1C1 = '=Find('','', R2C1, 1)' kod =...

Написать игру "Спички" на Small Basic
«Ним». Имеются три кучки спичек. Двое играющих по очереди делают ходы. Каждый ход заключается в...

Проверить, содержит ли строка символы отличные от "+", "-", "*" и "/"
&quot;+&quot;, &quot;-&quot;, &quot;*&quot; и &quot;/&quot; вот начал, дальше не знаю что делать Sub rr() Dim s As String,...

Выборка уникальных дат из строк листа "l1" и помещение их в лист "l3", Не получается. На листе "l3" вставляет
Запускаю с листа &quot;l1&quot; построчно работает, но мне нужно, чтобы заполнялись столбцы, начиная со...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.