
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57

Escape the sheet е малка игра на Excel, която събрах преди няколко години, за да науча група колеги на някои по -напреднали умения в Excel, докато се забавлявам малко с пъзели Trivia и Logic, две неща, които обичам!
Тази игра е комбинация от формули на Excel, условно форматиране както за текущата клетка, така и за стойности, базирани на друга клетка и някои VBA макроси, за да направи кодирането малко по -предизвикателно.
Стъпка 1: Концепцията на играта


Всъщност не се нуждаете от голям опит в програмирането или скъп софтуер, за да напишете игра, ето един, който можете да направите в Excel.
Играта е малка 2 части, първото ниво е тест за любопитни факти.
В системата има банка от 50 въпроса, но това може да бъде повече, ако сте толкова склонни.
За да премахнете всякакви неясноти с правопис или регистър, всички въпроси имат числови отговори.
Системата ще представи на случаен принцип 5 от тези въпроси на играча, играчът може да поиска нов набор от въпроси.
След като отговорът на 5 -те въпроса бъде отговорен, системата ще информира играча, че те не са успели, и да опита отново или отваря стая 2.
Стая 2 е логически пъзел, където цветната последователност също се генерира на случаен принцип и играчът може да се регенерира по всяко време. Всеки от цветовете е свързан с номер 1-10, играчът трябва да използва опит и грешка/памет, за да намери числата, които съответстват и да повторят последователността.
Стъпка 2: Настройката

Първоначално настроих работната книга с 4 празни работни листа.
Започвайки от лист 3, създадох таблица със заглавки „Въпрос“и „Отговор“
В колона А и с въвеждане на номера за автоматично попълване 1-50 е важно въпросите да са номерирани за процеса на подбор.
След това отивам онлайн и през паметта си за 50 въпроса с числови отговори.
Сега имаме нужда от начин да импортираме тези въпроси към екрана на стая 1 на лист 1.
Това се прави с помощта на функция VLOOKUP, което ни позволява да използваме номера в началото на реда с въпроси. Въпреки това, ако просто използвахме 1-5 от листа стая 1, щяхме да получим само първите 5 въпроса и в същия ред. Тук идва лист 2, тук има 2 реда формули, първият използва функцията RANDBETWEEN, това позволява на потребителя да въведе диапазон, между който ще бъде генериран случаен запис. Проблемът е, че при малък диапазон като този има голяма вероятност да има дубликати и това не би довело до много сложен тест. Така че, за да се преодолее това, има втора колона, която прави тази крачка напред и премахва дубликати, използвайки както функциите RANK. EQ и COUNTIF, те класират стойността спрямо останалата част от списъка и отчитат, ако има повторение на стойността в пълен списък, тези стойности се добавят заедно и това произвежда произволна и уникална стойност. Можем да потвърдим това, като копираме списъка, след това поставим стойности и сортираме най-малките до най-големите, това ще покаже всички уникални стойности 1-50.
Обратно в стая 1, след това можем да използваме VLOOKUP, за да вземем 1 -ва, 2 -ра, 3 -та и т.н. стойност от списъка и да я потърсим на лист с въпроси както за въпроса, така и за отговора. Всеки път, когато случайните числа се генерират, на екрана на стая 1 ще се появи нов набор от въпроси.
Excel е конфигуриран за автоматично изчисляване, това създава проблем с функцията RANDBETWEEN, тъй като при всяко зареждане на страница изчислението се изпълнява и пренарежда въпросите. Това може да бъде настроено на ръчна покупка, преминаване към Формули в лентата, след това Опции за изчисление и настройка на ръчно, ние ще се погрижим за изчислението по -късно.
Преди да приключим с тази страница, скриваме колона В (действителните отговори)
Стъпка 3: Отговорете на проверки

Проверката на отговорите е наистина съвсем проста: Стойността на всички очаквани отговори се сумира в клетка в долната част на колона C в стая 1, отговорите на играчите се зареждат в колона D и се сумират.
VBA скрипт е програмиран в бутон за стартиране на изчислението и проверка на отговорите.
За да добавите бутона, отидете на Developer в лентата, добавете бутон с помощта на Insert -> Button
След като изтеглите бутона, има опция за добавяне на нов макрос. В този случай го нарекох проверка на отговорите
Всичко, което прави, е да изпълни изчислението (само за този лист) и да провери дали сумата от очакваните отговори съвпада с сумата от отговорите на играчите. Ако числата не съвпадат, се появява съобщение, което казва „опитайте отново“, ако са успешни, тогава разкриваме листа за стая 2.
Съществува и условен формат, поставен в клетка B28 със стрелка, подканваща потребителя да премести раздели.
Стъпка 4: Получаване на различни въпроси

За да получим нови въпроси към плейъра, просто трябва да повторим изчисленията на двата листа 2 (листа с произволни числа) и след това на листа стая 1, това кара VLOOKUP да се позовава на нов набор от числа и също така да изтегли новия свързани въпроси. Тази част от кода също изчиства раздела за отговори на играчите.
Стъпка 5: Стая 2

Стая 2 е логически и пъзел с памет, потребителят ни представи последователност от 6 произволно генерирани цвята, отново използва функцията RANDBETWEEN с диапазон 1-10.
Има правила за условно форматиране, които се основават на броя в клетката, който цветът на запълване и шрифт се променят в зависимост от стойността.
Играчът трябва да въведе тези числа последователно и след това да въведе проверка, няма никакви указания какъв цвят е кой номер, така че докато тестват, те трябва да запомнят какъв резултат са получили за всеки запис.
Отново стойностите в клетките за отговор се сумират, отговорите на Player също се сумират и макросът изпълнява calc, попълва цветовете и тества резултата. Това или подтиква играча да опита отново, или ги поздравява за победата.
Има и нов бутон за последователност, който позволява на играча да получи нови цветове, това изпълнява изчислението, но само върху клетките в ред 10 и изчиства отговорите на играча в ред 12.
Опитах се да кача играта, но тъй като това е.xlsm файл, това не е позволено, така че не се колебайте да изтеглите копие от тук, ако имате въпроси, изпратете ми съобщение.
Препоръчано:
LED лампа за пъзел WebApp с ESP32: 5 стъпки (със снимки)

LED лампа за пъзел WebApp с ESP32: Играя с LED ленти от години и наскоро се преместих на място на приятел, където не можех да правя големи промени, като монтирам лентата по стените, затова събрах тази лампа, която има един -единствен проводник излиза за захранване и може да бъде плакиран
Будилник с пъзел с памет: 3 стъпки (със снимки)

Будилник с пъзел с памет: Това е часовник с алармен пъзел, което означава, че има малка игра с памет, която трябва да решите, за да спрете звъненето на алармата! Той има 3 светодиода, които при натискане на някой от бутоните, алармата ще бъде
Разбийте кодовата игра, базирана на Arduino пъзел кутия: 4 стъпки (със снимки)

Разбийте кодовата игра, базирана на Arduino пъзел кутия: В тази инструкция ще ви покажа как да създадете своя собствена игра с кодове, в която използвате ротационен кодиращ диск, за да отгатнете произволно генерирания код в сейфа. В предната част на сейфа има 8 светодиода, за да ви кажат колко от
LED пъзел светлина (акрилна лазерна резка): 7 стъпки (със снимки)

LED пъзел светлина (акрилно лазерно изрязване): Винаги съм се наслаждавал на различните акрилни лазерно изрязани нощни светлини, които други са направили. Мислейки повече за тях, си помислих, че би било чудесно, ако нощната светлина също може да се удвои като форма на забавление. С този ум реших да създам
Arduino „breadbot“пъзел игра: 6 стъпки (със снимки)

Arduino „breadbot“Пъзел: О, не! Моят бебе -робот се нуждае от няколко жици, за да оживее отново! Днес ще правим пъзел игра, която може да научи начинаещите потребители на arduino нещо за макет. Ето защо направих това! Можете да го направите толкова сложен, колкото искате, но аз избрах