Оно содержит два пересечения со словами герц и тесла
1 | |||||
2 | 3 | 4 | 5 | ||
6 | |||||
7 | |||||
8 | |||||
9 | 10 | 11 | 12 | 13 | |
14 |
а | |||||
г | е | р | ц | ||
х | |||||
и | |||||
м | |||||
т | е | с | л | а | |
д |
Кроссворд мы угадываем не по порядку - произвольно, поэтому могут быть такие случаи:
1) Слово «архимед» угадано – тогда его красим
2) Слово «архимед» не угадано – тогда, если слово герц и тесла до этого было угадано, то чистим все, кроме боксов 4 и 10 (там буквы от угаданных слов)
3) Слово «архимед» не угадано – тогда, если только слово тесла было до этого угадано, то чистим все, кроме бокса 10
4) Слово «архимед» не угадано – тогда, если только слово герц было до этого угадано, то чистим все, кроме бокса 4
5) Иначе (ничего не угадано), то чистим все боксы 1,4,6,7,8,10,14
В этом случае код становится больше (больше вариантов)
'1 по вертикали - архимед
If (TextBox1.Text = "а") And (TextBox4.Text = "р") And (TextBox6.Text = "х") And (TextBox7.Text = "и") And (TextBox8.Text = "м") And (TextBox10.Text = "е") And (TextBox14.Text = "д") Then
TextBox1.BackColor = RGB(0, 255, 255)
TextBox4.BackColor = RGB(0, 255, 255)
TextBox6.BackColor = RGB(0, 255, 255)
TextBox7.BackColor = RGB(0, 255, 255)
TextBox8.BackColor = RGB(0, 255, 255)
TextBox10.BackColor = RGB(0, 255, 255)
TextBox14.BackColor = RGB(0, 255, 255)
Else
If (TextBox5.Text = "ц") And (TextBox11.Text = "с") Then
TextBox1.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox14.Text = ""
Else
If (TextBox5.Text = "ц") Then
TextBox1.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox10.Text = ""
TextBox14.Text = ""
Else
If (TextBox11.Text = "с") Then
TextBox1.Text = ""
TextBox4.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox14.Text = ""
Else
TextBox1.Text = ""
TextBox4.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox10.Text = ""
TextBox14.Text = ""
End If
End If
End If
End If
Разъяснение кода:
If (TextBox1.Text = "а") And (TextBox4.Text = "р") And (TextBox6.Text = "х") And (TextBox7.Text = "и") And (TextBox8.Text = "м") And (TextBox10.Text = "е") And (TextBox14.Text = "д") Then
TextBox1.BackColor = RGB(0, 255, 255)
TextBox4.BackColor = RGB(0, 255, 255)
TextBox6.BackColor = RGB(0, 255, 255)
TextBox7.BackColor = RGB(0, 255, 255)
TextBox8.BackColor = RGB(0, 255, 255)
TextBox10.BackColor = RGB(0, 255, 255)
TextBox14.BackColor = RGB(0, 255, 255)
Если слово архимед угадано, то меняем цвет фона боксов
Else
If (TextBox5.Text = "ц") And (TextBox11.Text = "с") Then
TextBox1.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox14.Text = ""
Иначе (слово архимед не угадано, но до этого угаданы слова герц и тесла) – то чистим боксы 1,6,7,8,14, а 4 и 10 не трогаем – там буквы от угаданных слов герц и тесла
Else
If (TextBox5.Text = "ц") Then
TextBox1.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox10.Text = ""
TextBox14.Text = ""
Иначе (слово архимед не угадано, но до этого угадано слово герц) – то чистим боксы 1,6,7,8,10,14, а 4 не трогаем – там буквы от угаданного слова герц
If (TextBox11.Text = "с") Then
TextBox1.Text = ""
TextBox4.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox14.Text = ""
Иначе (слово архимед не угадано, но до этого угадано слово тесла) – то чистим боксы 1,4,6,7,8,,14, а 10 не трогаем – там буквы от угаданного слова тесла
TextBox1.Text = ""
TextBox4.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox10.Text = ""
TextBox14.Text = ""
End If
End If
End If
End If
Иначе (слово архимед не угадано, слова герц и тесла тоже не угаданы) – чистим все боксы
Заметьте:
Если слово пересекается с одним словом – то надо описывать 2 варианта кода (21=2)
Если с двумя – 4 варианта (22=4)
Если в тремя – 8 вариантов (23=8)
Если в четырьмя – 16 вариантов (24=16)
и так далее
В своих кроссвордах я стараюсь не делать пересечения более, чем с тремя словами – будет уйма кода (пусть и case – технологии) и замедление работы программы – оно и так уже присутствует
ШАГ 5
Если еще осталось желание, то следующий шаг – описание кода для кнопки ОЧИСТИТЬ
Он очень прост:
При нажатии на эту кнопку все боксы должны перекраситься в исходный цвет (белый RGB(255,255,255) и содержимое боксов очиститься (TextBox1.Text = "")
Делаем двойной щелчок по кнопке ОЧИСТИТЬ и пишем код:
Private Sub CommandButton2_Click()
TextBox1.BackColor = RGB(255, 255, 255)
TextBox1.Text = ""
TextBox2.BackColor = RGB(255, 255, 255)
TextBox2.Text = ""
TextBox3.BackColor = RGB(255, 255, 255)
TextBox3.Text = ""
TextBox4.BackColor = RGB(255, 255, 255)
TextBox4.Text = ""
TextBox5.BackColor = RGB(255, 255, 255)
TextBox5.Text = ""
TextBox6.BackColor = RGB(255, 255, 255)
TextBox6.Text = ""
TextBox7.BackColor = RGB(255, 255, 255)
TextBox7.Text = ""
TextBox8.BackColor = RGB(255, 255, 255)
TextBox8.Text = ""
TextBox9.BackColor = RGB(255, 255, 255)
TextBox9.Text = ""
TextBox10.BackColor = RGB(255, 255, 255)
TextBox10.Text = ""
TextBox11.BackColor = RGB(255, 255, 255)
TextBox11.Text = ""
TextBox12.BackColor = RGB(255, 255, 255)
TextBox12.Text = ""
TextBox13.BackColor = RGB(255, 255, 255)
TextBox13.Text = ""
TextBox14.BackColor = RGB(255, 255, 255)
TextBox14.Text = ""
End Sub
ШАГ 5
Наконец напишем код для кнопки ВЫХОД:
Private Sub CommandButton3_Click()
Application.Quit
End Sub
Эта команда закрывает приложение. Лучше, если сюда добавить код, который висит на кнопке ОЧИСТИТЬ, тогда, если мы забыли очистить и нажали ВЫХОД, то все равно очистится, и при следующем запуске кроссворд опять чистый
ШАГ 6
Вставляем в презентацию надпись, где описываем задания, номера слов, картинки для оформления, в результате получаем готовый кроссворд:
ШАГ 7
Таким образом надо написать код для всех слов кроссворда, а если их 15-20, то боксов получается около сотни и кода тоже много – соответственно и времени надо много
И еще:
- очень важно! Кроссворд содержит команды (макросы), поэтому при его запуске кнопки могут не работать – система безопасности Вашего MS PPT блокирует запуск макросов (исполнение кода)
Что сделать: открыть MS PPT, зайти МЕНЮ – СЕРВИС – МАКРОС – БЕЗОПАСНОСТЬ и установить низкий уровень безопасности, затем закрыть PPT и запустить кроссворд – кнопки заработают
- чтобы при случайном щелчке мыши по слайду не происходила смена слайда, снимите галочку смены слайда по щелчку
Показать результат: