Sadržaj:

Escape the Sheet (Excel zagonetka): 5 koraka (sa slikama)
Escape the Sheet (Excel zagonetka): 5 koraka (sa slikama)

Video: Escape the Sheet (Excel zagonetka): 5 koraka (sa slikama)

Video: Escape the Sheet (Excel zagonetka): 5 koraka (sa slikama)
Video: Маленький лисенок вышел к людям за помощью 2024, Srpanj
Anonim
Escape the Sheet (Excel zagonetka)
Escape the Sheet (Excel zagonetka)

Escape the sheet je mala Excel igra koju sam sastavio prije nekoliko godina kako bih skupinu kolega naučio nekim naprednijim Excel vještinama dok se malo zabavljam uz Trivia and Logic zagonetke, dvije stvari koje volim!

Ova igra je kombinacija excelovih formula, uvjetno oblikovanje i za trenutnu ćeliju i za vrijednosti temeljene na drugoj ćeliji i nekim VBA makronaredbama kako bi bilo malo teže izazivati kodiranje.

Korak 1: Koncept igre

Koncept igre
Koncept igre
Koncept igre
Koncept igre

Za pisanje igre zapravo vam ne treba veliko iskustvo u programiranju niti skupi softver, evo jednog u Excelu.

Igra je mali 2 dijela, prva razina je trivijalni kviz.

U sustavu postoji banka od 50 pitanja, no ovo bi moglo biti i više ako ste tako skloni.

Da biste uklonili sve moguće nejasnoće s pravopisom ili velikim slovima, sva pitanja imaju numeričke odgovore.

Sustav će slučajno predstaviti 5 ovih pitanja igraču, igrač može zatražiti novi set pitanja.

Nakon što je odgovoreno na 5 pitanja, sustav će tada obavijestiti igrača da nisu uspjeli i pokušati ponovo ili će otvoriti sobu 2.

Soba 2 je logička zagonetka u kojoj se niz boja također generira nasumično i igrač se može regenerirati u bilo kojem trenutku. Svaka od boja povezana je s brojem 1-10, igrač mora koristiti pokušaj i pogrešku/memoriju kako bi pronašao brojeve koji odgovaraju i replicirao niz.

Korak 2: Postavljanje

Postava
Postava

U početku sam postavio radnu knjigu s 4 prazna radna lista.

Počevši od lista 3 stvorio sam tablicu s zaglavljem "Pitanje" i "Odgovor"

U stupac A i pomoću automatskog popunjavanja unose se brojevi 1-50, važno je da su pitanja numerirana za proces odabira.

Zatim odlazim na internet i kroz pamćenje dobivam 50 pitanja s brojčanim odgovorima.

Sada nam je potreban način za uvoz ovih pitanja na zaslon sobe 1 na listu 1.

To se radi pomoću funkcije VLOOKUP, što nam omogućuje upotrebu broja na početku retka pitanja. Međutim, ako bismo samo koristili 1-5 s lista 1 sobe, dobili bismo samo prvih 5 pitanja i to istim redoslijedom. Ovdje dolazi list 2, ovdje postoje 2 retka formula, prvi koristi funkciju RANDBETWEEN, što omogućuje korisniku da unese raspon između kojeg će se generirati slučajan unos. Problem je u tome što s malim rasponom poput ovog postoji velika vjerojatnost da će doći do duplikata i da to ne bi predstavljalo vrlo lukav kviz. Dakle, da bi se to prevladalo, postoji drugi stupac koji ide korak dalje i uklanja duplikate koristeći funkcije RANK. EQ i COUNTIF, te rangiraju vrijednost prema ostatku popisa i računaju se ako se vrijednost ponavlja u cijelom popisu, te se vrijednosti zbrajaju i to proizvodi slučajnu i jedinstvenu vrijednost. To možemo potvrditi kopiranjem popisa, zatim zalijepiti vrijednosti i sortirati najmanje do najveće, to će pokazati sve jedinstvene vrijednosti 1-50.

Povratak u sobu 1, tada možemo upotrijebiti VLOOKUP za uzimanje 1., 2., 3. itd. Vrijednosti s popisa i potražiti je na listu s pitanjima i za pitanje i za odgovor. Svaki put kada se slučajni brojevi regeneriraju, na zaslonu sobe 1 pojavit će se novi skup pitanja.

Excel je konfiguriran za automatsko izračunavanje, što uzrokuje problem s funkcijom RANDBETWEEN jer se svaki put kad se učita stranica izvrši izračun i promijeni redoslijed pitanja. To se može postaviti na ručnu kupnju odlaskom na Formule na vrpci, zatim na Opcije izračuna i postavljanje na ručno, kasnije ćemo se pobrinuti za izračun.

Prije nego završimo s ovom stranicom skrivamo stupac C (stvarni odgovori)

Korak 3: Odgovorite na provjere

Provjera odgovora
Provjera odgovora

Provjera odgovora doista je vrlo jednostavna. Vrijednost svih očekivanih odgovora zbraja se u ćeliju na dnu stupca C u prostoriji 1, odgovori igrača se učitavaju u stupac D i zbrajaju.

VBA skripta programirana je u gumb za pokretanje izračuna i provjeru odgovora.

Za dodavanje gumba idite na Developer na vrpci, dodajte gumb pomoću Insert -> Button

Nakon što nacrtate gumb, postoji mogućnost dodavanja nove makronaredbe. U ovom slučaju nazvao sam to provjerom odgovora

Sve što radi je pokretanje izračuna (samo za ovaj list) i provjera odgovaraju li zbroj očekivanih odgovora zbroju odgovora igrača. Ako se brojevi ne podudaraju, pojavit će se okvir s porukom da pokušate ponovo, ako su uspješni, otkrivamo list za sobu 2.

U ćeliji B28 nalazi se i uvjetni format sa strelicom koji potiče korisnika da pomiče kartice.

Korak 4: Dobivanje različitih pitanja

Dobivanje različitih pitanja
Dobivanje različitih pitanja

Da bismo dobili nova pitanja za Player, jednostavno moramo ponoviti izračune na oba lista 2 (list nasumičnih brojeva), a zatim na listu sobe 1, to uzrokuje da VLOOKUP referencira novi skup brojeva i također uvuče novi povezana pitanja. Ovaj dio koda također briše odjeljak odgovora igrača.

Korak 5: Soba 2

Soba 2
Soba 2

Soba 2 je logička i memorijska zagonetka, korisniku smo predstavili niz od 6 nasumično generiranih boja, opet koristi funkciju RANDBETWEEN s rasponom 1-10.

Postoje uvjetna pravila oblikovanja koja se temelje na broju u ćeliji da se boja ispune i font mijenjaju ovisno o vrijednosti.

Igrač mora unijeti ove brojeve u nizu, a zatim ući u provjeru, nema naznaka koje je boje koji broj pa se tijekom testiranja moraju sjetiti koji su rezultat dobili za svaki unos.

Ponovno se zbrajaju vrijednosti u ćelijama odgovora, zbrajaju se i odgovori igrača, a makro pokreće kalkulator, popunjava boje i testira rezultat. Ovo ili potiče igrača da pokuša ponovo ili im čestita na pobjedi.

Tu je i nova tipka za slijed koja omogućuje igraču da dobije nove boje. Time se pokreće kalkulacija, ali samo na ćelijama u retku 10 i brišu se odgovori igrača u retku 12.

Pokušao sam učitati igru, ali kako se radi o.xlsm datoteci, to nije dopušteno pa slobodno preuzmite kopiju odavde, ako imate pitanja, pošaljite mi poruku.

Preporučeni: