И, наконец слово «архимед»

 

Оно содержит два пересечения со словами герц и тесла

 

 

    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 и запустить кроссворд – кнопки заработают

 - чтобы при случайном щелчке мыши по слайду не происходила смена слайда, снимите галочку смены слайда по щелчку

 

Показать результат:

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: