Sommario:

Escape the Sheet (Puzzle di Excel): 5 Passaggi (con Immagini)
Escape the Sheet (Puzzle di Excel): 5 Passaggi (con Immagini)

Video: Escape the Sheet (Puzzle di Excel): 5 Passaggi (con Immagini)

Video: Escape the Sheet (Puzzle di Excel): 5 Passaggi (con Immagini)
Video: Magic Water Marker 2024, Dicembre
Anonim
Escape the Sheet (Puzzle di Excel)
Escape the Sheet (Puzzle di Excel)

Escape the sheet è un piccolo gioco di Excel che ho messo insieme diversi anni fa per insegnare a un gruppo di colleghi alcune abilità di Excel più avanzate mentre mi divertivo con i puzzle Trivia e Logic, due cose che amo!

Questo gioco è una combinazione di formule excel, formattazione condizionale sia per la cella corrente che per i valori basati su un'altra cella e alcune macro VBA per renderlo un po' più difficile da codificare.

Passaggio 1: il concetto di gioco

Il concetto di gioco
Il concetto di gioco
Il concetto di gioco
Il concetto di gioco

Non hai davvero bisogno di una grande esperienza di programmazione o di software costosi per scrivere un gioco, eccone uno che puoi fare in Excel.

Il gioco è un piccolo 2 parter, il primo livello è un quiz.

C'è una banca di 50 domande nel sistema, anche se questo potrebbe essere di più se sei così incline.

Per rimuovere ogni possibile ambiguità con l'ortografia o la corrispondenza tra maiuscole e minuscole, tutte le domande hanno risposte numeriche.

Il sistema presenterà casualmente 5 di queste domande al giocatore, il giocatore può richiedere una nuova serie di domande.

Una volta risposto alle 5 domande, il sistema informerà il giocatore che non sono andate a buon fine e di riprovare o si aprirà la stanza 2.

Room 2 è un puzzle logico in cui viene generata casualmente anche una sequenza di colori e il giocatore può rigenerarsi in qualsiasi momento. Ciascuno dei colori è associato a un numero 1-10, il giocatore deve utilizzare prove ed errori/memoria per trovare i numeri che corrispondono e replicare la sequenza.

Passaggio 2: l'installazione

Il set up
Il set up

Inizialmente ho impostato la cartella di lavoro con 4 fogli di lavoro vuoti.

A partire dal foglio 3 ho creato una tabella con un'intestazione "Domanda" e "Risposta"

Nella colonna A e utilizzando i numeri di riempimento automatico 1-50, è importante che le domande siano numerate per il processo di selezione.

Quindi vado online e attraverso la mia memoria per 50 domande con risposte numeriche.

Ora abbiamo bisogno di un modo per importare queste domande nella schermata della Stanza 1 sul foglio 1.

Questo viene fatto usando una funzione VLOOKUP, questo ci permette di usare il numero all'inizio della riga della domanda. Tuttavia, se usassimo solo 1-5 dal foglio della Stanza 1, otterremmo solo le prime 5 domande e nello stesso ordine. È qui che entra in gioco il foglio 2, qui ci sono 2 righe di formule, la prima utilizza la funzione RANDBETWEEN, questo consente all'utente di inserire un intervallo tra cui verrà generata una voce casuale. Il problema è che con un intervallo ridotto come questo c'è un'alta probabilità che ci siano duplicati e questo non renderebbe un quiz molto complicato. Quindi, per superare questo problema, c'è una seconda colonna che fa un ulteriore passo avanti e rimuove i duplicati usando entrambe le funzioni RANK. EQ e COUNTIF, queste classificano il valore rispetto al resto dell'elenco e contano se c'è una ripetizione del valore nel elenco completo, questi valori vengono sommati e questo produce un valore casuale e univoco. Possiamo confermarlo copiando l'elenco, quindi incollando i valori e ordinando dal più piccolo al più grande, questo mostrerà tutti i valori univoci 1-50.

Tornando alla stanza 1, possiamo quindi utilizzare CERCA. VERT per prendere il primo, secondo, terzo ecc. valore dall'elenco e cercarlo sul foglio delle domande sia per la domanda che per la risposta. Ogni volta che i numeri casuali vengono rigenerati, nella schermata della Stanza 1 apparirà una nuova serie di domande.

Excel è configurato per il calcolo automatico, questo causa un problema con la funzione RANDBETWEEN perché ogni volta che viene caricata una pagina, il calcolo viene eseguito e riordina le domande. Questo può essere impostato su acquisto manuale andando su Formule nella barra multifunzione, quindi Opzioni di calcolo e impostando su manuale, al calcolo ci occuperemo in seguito.

Prima di aver finito con questa pagina nascondiamo la Colonna C (le risposte effettive)

Passaggio 3: controlli di risposta

Controlli di risposta
Controlli di risposta

Il controllo delle risposte è davvero abbastanza semplice, il valore di tutte le risposte previste viene sommato in una cella in fondo alla colonna C nella stanza 1, le risposte dei giocatori vengono caricate nella colonna D e sommate.

Uno script VBA è programmato in un pulsante per eseguire il calcolo e controllare le risposte.

Per aggiungere il pulsante vai su Sviluppatore nella barra multifunzione, aggiungi un pulsante usando Inserisci -> Pulsante

Una volta disegnato il pulsante, c'è un'opzione per aggiungere una nuova macro. In questo caso l'ho chiamato controlla le risposte

Tutto ciò che fa è eseguire il calcolo (solo per questo foglio) e controllare se la somma delle risposte attese corrisponde alla somma delle risposte dei giocatori. Se i numeri non corrispondono, viene visualizzata una finestra di messaggio per dire riprova, se hanno esito positivo, nascondiamo il foglio per la stanza 2.

C'è anche un formato condizionale posizionato nella cella B28 con una freccia, che richiede all'utente di spostare le schede.

Passaggio 4: ricevere domande diverse

Ricevere domande diverse
Ricevere domande diverse

Per ottenere nuove domande per il giocatore dobbiamo semplicemente rieseguire i calcoli su entrambi i fogli 2 (il foglio dei numeri casuali) e poi sul foglio della Stanza 1, questo fa sì che CERCA. VERT faccia riferimento a un nuovo insieme di numeri e anche per inserire il nuovo domande associate. Questo pezzo di codice cancella anche la sezione di risposta dei giocatori.

Fase 5: Stanza 2

Stanza 2
Stanza 2

Room 2 è un puzzle di logica e memoria, l'utente ci ha presentato una sequenza di 6 colori generati casualmente, anche in questo caso utilizza la funzione RANDBETWEEN con l'intervallo 1-10.

Esistono regole di formattazione condizionale che, in base al numero nella cella, cambiano il colore del riempimento e del carattere a seconda del valore.

Il giocatore deve inserire questi numeri in sequenza e quindi inserire check, non ci sono indizi su quale colore sia quale numero, quindi durante il test devono ricordare quale risultato hanno ottenuto per ogni voce.

Anche in questo caso vengono sommati i valori nelle celle di risposta, vengono sommate anche le risposte del giocatore e la macro esegue il calcolo, riempie i colori e verifica il risultato. Questo spinge il giocatore a riprovare o si congratula con lui per la vittoria.

C'è anche un nuovo pulsante di sequenza per consentire al giocatore di ottenere nuovi colori, questo esegue il calcolo ma solo sulle celle nella riga 10 e cancella le risposte del giocatore nella riga 12.

Ho provato a caricare il gioco ma poiché è un file.xlsm non è consentito, quindi sentiti libero di scaricarne una copia da qui, se hai domande scrivimi un messaggio.

Consigliato: