Создание интерактивных кроссвордов в MS Power Point с использованием VBA
Оценка 4.8

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Оценка 4.8
Лабораторные работы
doc
информатика
9 кл—10 кл
28.01.2017
Создание интерактивных кроссвордов в MS Power Point с использованием VBA
Кроссворд мы угадываем не по порядку - произвольно, поэтому могут быть такие случаи: 1) Слово «архимед» угадано – тогда его красим 2) Слово «архимед» не угадано – тогда, если слово герц и тесла до этого было угадано, то чистим все, кроме боксов 4 и 10 (там буквы от угаданных слов) 3) Слово «архимед» не угадано – тогда, если только слово тесла было до этого угадано, то чистим все, кроме бокса 10 4) Слово «архимед» не угадано – тогда, если только слово герц было до этого угадано, то чистим все, кроме бокса 4 5) Иначе ( ничего не угадано), то чистим все боксы 1,4,6,7,8,10,14 В этом случае код становится больше (больше вариантов)
Создание итерактивных кроссвордов в MS PPT (+VBA).doc
Создание интерактивных кроссвордов в MS Power Point с использованием VBA   Приступаем к написанию кода для кнопки ПРОВЕРИТЬ  Начнем со слова  «герц» г е т а р ц х и м е д с 2 3 л а 9 5 1 4 6 7 8 10 11 12 13 14 Оно занимает боксы 2, 3, 4, 5 и пересекается со словом «архимед» Делаем двойной щелчок по кнопке ПРОВЕРИТЬ   '2 по горизонтали  «герц» If (TextBox2.Text = "г") And (TextBox3.Text = "е") And (TextBox4.Text = "р") And  (TextBox5.Text = "ц") Then TextBox2.BackColor = RGB(0, 255, 255) TextBox3.BackColor = RGB(0, 255, 255) TextBox4.BackColor = RGB(0, 255, 255) TextBox5.BackColor = RGB(0, 255, 255) Else If (TextBox1.Text = "а") Then TextBox2.Text = "" TextBox3.Text = "" TextBox5.Text = "" Else TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" End If End If Разъяснение кода: If (TextBox2.Text = "г") And (TextBox3.Text = "е") And (TextBox4.Text = "р") And  (TextBox5.Text = "ц") Then TextBox2.BackColor = RGB(0, 255, 255) TextBox3.BackColor = RGB(0, 255, 255) TextBox4.BackColor = RGB(0, 255, 255) TextBox5.BackColor = RGB(0, 255, 255)  Это проверка всех боксов: Если бокс2 содержит текст «г» И бокс3 – «е» И бокс4 – «р» И бокс5 – «ц» (т.е слово  угадано), то делаем цвет фона  всех боксов голубым  (TextBox2.BackColor = RGB(0, 255,  255)) ... Else If (TextBox1.Text = "а") Then TextBox2.Text = "" TextBox3.Text = "" TextBox5.Text = "" Иначе, если слово «герц» не угадано и в боксе1 буква «а» (т.е слово «архимед» до этого  угадано), то очищаем боксы 2,3,5, а бокс 4 не трогаем – в нем буква «р» от слова  «архимед» Else TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" Иначе (слово «герц» не угадано и слово «архимед» тоже не угадано), то чистим все боксы  2,3,4,5. Здесь можно подумать, что это излишнее усложнение, но без рассмотрения всех этих  вариантов не будут отрабатываться всевозможные возникающие ситуации и все будет  стираться  ­ испытал при разработке алгоритма Следующее слово «тесла», которое содержит тоже одно пересечение с другим словом г е т а р х и м е д ц с л а 2 3 9 5 1 4 6 7 8 10 11 12 13 14 '3 по горизонтали  «тесла» If (TextBox9.Text = "т") And (TextBox10.Text = "е") And (TextBox11.Text = "с") And  (TextBox12.Text = "л") And (TextBox13.Text = "а")  Then TextBox9.BackColor = RGB(0, 255, 255) TextBox10.BackColor = RGB(0, 255, 255) TextBox11.BackColor = RGB(0, 255, 255) TextBox12.BackColor = RGB(0, 255, 255) TextBox13.BackColor = RGB(0, 255, 255) Else If (TextBox8.Text = "м") Then TextBox9.Text = "" TextBox11.Text = "" TextBox12.Text = "" TextBox13.Text = "" Else TextBox9.Text = "" TextBox10.Text = "" TextBox11.Text = "" TextBox12.Text = "" TextBox13.Text = "" End If End If И, наконец слово «архимед» Оно содержит два пересечения со словами герц и тесла г е т а р ц х и м е д с л а 2 3 9 5 1 4 6 7 8 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 – технологии) и замедление работы программы – оно и так уже  присутствует описание кода для кнопки ОЧИСТИТЬ При нажатии на эту кнопку все боксы должны перекраситься в исходный цвет (белый  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 Наконец напишем код для кнопки ВЫХОД: Private Sub CommandButton3_Click() Application.Quit End Sub

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Создание интерактивных кроссвордов в MS Power Point с использованием VBA
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
28.01.2017