Wiki Info
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT Control
Da Admin Mar Mag 10, 2022 12:55 pm

» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am

» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm

» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm

» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm

» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm

» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

I postatori più attivi del mese
Nessun utente


Gioco con Arduino: Sniper Words

2 partecipanti

Andare in basso

Gioco con Arduino: Sniper Words Empty Gioco con Arduino: Sniper Words

Messaggio Da Admin Sab Dic 12, 2015 6:13 pm


SNIPER Words è un gioco realizzato completamente con Arduino. Lo scopo principale del gioco è ricomporre una delle parole presenti all'interno della memoria. In pratica verrà mostrata questa parola per TOT secondi e successivamente il giocatore deve essere bravo a "centrare" le lettere giuste al momento giusto per ricomporre la parola.

Codice:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


 String parola[10] = { "ciao", "polpo", "pizza" , "gatto" , "gioco" , "prova" , "carta" , "dente" , "palla" , "testa"};
 char alfabetcasual[26];
 char lettera='a';
 char letteracasual;
 int t1,t2,tot=0,casual,casualalfabet,c=0;
 bool sbagliato,controlloa,ordinato,disordinato,controllofull;
 String attuale[5] = { "" , "" , "" , "" , ""};

 int pot=A0; //il potenziometro è posizionato nel pin analogico A0
 int vel=0; //contenitore che conterrà la velocità (difficoltà del livello)
 int tono=6;
void setup() {
  randomSeed(millis());
  lcd.begin(16, 2);
  pinMode(7,INPUT);
  pinMode(pot, INPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(13,INPUT);
  pinMode(tono,OUTPUT);
}

void loop() {
  for(int i=0;i<26;i++)
  {
  alfabetcasual[i]=('a'+i);   
  }
  lcd.clear();
  lcd.print("Click to start");
  do{
    delay(30);
    if(digitalRead(7)==1){
      ordinato=true;
      break;
    }
    if(digitalRead(13)==1){
      disordinato=true;
      break;
    }
  }while(true);
  lcd.clear();
  lcd.print("Tieni a mente: ");
  lcd.setCursor(0,1);
  if(c<9) c++;
  else c=0;
  lcd.print(parola[c]);
  delay(5000);
  lcd.clear();
  lcd.print("Ricomponila");
  lcd.setCursor(0,1);
  if(ordinato){
  do
  {
    vel = map(analogRead(A0), 0, 1023, 300, 2000);
    lcd.clear();
    lcd.print("Ricomponila :");
    lcd.setCursor(0,1);
    lcd.print(attuale[0]+attuale[1]+attuale[2]+attuale[3]+lettera);
    t1=millis();
   
    do{
    if(digitalRead(7)==1){
    if(lettera!=parola[c].charAt(tot)){
      sbagliato=true;
      delay(1000);
      break;
    }
    attuale[tot]=lettera;
    lettera='a';
    controlloa=true;
    tot++;
    delay(190);
    break;
    } 
    t2=millis();
    }while(t2-t1<vel);
    if(sbagliato) break;
    if(lettera=='z'){
      lettera='a';
      controlloa=true;
    }
    if(!controlloa) lettera++;
    controlloa=false;
  }while(tot<5);
  }
  else{
    do
  {
    do{
      casualalfabet=random(0,27); 
    }while(alfabetcasual[casualalfabet]=='1');
    letteracasual=alfabetcasual[casualalfabet];
    alfabetcasual[casualalfabet]='1';
    vel = map(analogRead(A0), 0, 1023, 300, 2000);
    lcd.clear();
    lcd.print("Ricomponila :");
    lcd.setCursor(0,1);
    lcd.print(attuale[0]+attuale[1]+attuale[2]+attuale[3]+letteracasual);
    t1=millis();
   
    do{
    if(digitalRead(13)==1){
    if(letteracasual!=parola[c].charAt(tot)){
      sbagliato=true;
      delay(1000);
      break;
    }
    attuale[tot]=letteracasual;
    for(int i=0;i<26;i++)
    {
      alfabetcasual[i]=('a'+i);   
    }
    tot++;
    delay(190);
    break;
    } 
    t2=millis();
    }while(t2-t1<vel);
    if(sbagliato) break;
    controllofull=true;
    for(int i=0;i<26;i++)
      {
        if(alfabetcasual[i]!='1') controllofull=false;   
      }
    if(controllofull){
    for(int i=0;i<26;i++)
      {
        alfabetcasual[i]=('a'+i);   
      }
    }
  }while(tot<5);
  }

  if(!sbagliato){
    lcd.clear();
    lcd.print("GIUSTO!!!");
    tone(tono, 750, 200);
    digitalWrite(9,HIGH);
    delay(200);
    noTone(tono);
    tone(tono, 750, 200);
    digitalWrite(9,LOW);
    delay(200);
    noTone(tono);
    tone(tono, 750, 200);
    digitalWrite(9,HIGH);
    delay(200);
    noTone(tono);
    tone(tono, 750, 200);
    digitalWrite(9,LOW);
    delay(200);
    noTone(tono);
    digitalWrite(9,HIGH);
    delay(2200);
  }
  else {
    lcd.clear();
    lcd.print("RIPROVA!!!");
    tone(tono, 250, 1500);
    digitalWrite(8,HIGH);
    delay(1500);
    noTone(tono);
  }
  attuale[0]="";
  attuale[1]="";
  attuale[2]="";
  attuale[3]="";
  attuale[4]="";
  sbagliato=false;
  lettera='a';
  tot=0;
  digitalWrite(9,LOW);
  digitalWrite(8,LOW);
  ordinato=false;
  disordinato=false;
  }


Ultima modifica di Admin il Lun Gen 22, 2018 9:57 pm - modificato 1 volta.
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da FrankyFRD42 Mar Gen 16, 2018 7:18 pm

scusate ma come si può avere il codice di questo progetto? Embarassed Embarassed
FrankyFRD42
FrankyFRD42
Sono un nuovo membro
Sono un nuovo membro

Messaggi Messaggi : 3
Crediti Crediti : 6
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 16.01.18
Età Età : 19
Località Località : san Cesario di Lecce

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da Admin Mer Gen 17, 2018 4:25 pm

Ciao, il codice del progetto era in un PC formattato. Non so se magari lo trovi in qualche backup. 

Ricordami eventualmente se non riscrivo qui entro domani Wink

A presto Ciao!
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da FrankyFRD42 Dom Gen 21, 2018 6:56 pm

Admin ha scritto:Ciao, il codice del progetto era in un PC formattato. Non so se magari lo trovi in qualche backup. 

Ricordami eventualmente se non riscrivo qui entro domani Wink

A presto Ciao!

Sono passati un pò di giorni... Ti sei dimenticato? Question
FrankyFRD42
FrankyFRD42
Sono un nuovo membro
Sono un nuovo membro

Messaggi Messaggi : 3
Crediti Crediti : 6
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 16.01.18
Età Età : 19
Località Località : san Cesario di Lecce

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da Admin Lun Gen 22, 2018 5:56 pm

Si  Rolling Eyes

Devo controllare di avere ancora il codice, sperando di aver fatto un backup del vecchio PC.

Ti farò sapere, eventualmente scrivimi un Messaggio Privato così mi arriva la notifica.

A presto Ciao!
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da Admin Lun Gen 22, 2018 9:57 pm

Eccolo!
Codice:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


 String parola[10] = { "ciao", "polpo", "pizza" , "gatto" , "gioco" , "prova" , "carta" , "dente" , "palla" , "testa"};
 char alfabetcasual[26];
 char lettera='a';
 char letteracasual;
 int t1,t2,tot=0,casual,casualalfabet,c=0;
 bool sbagliato,controlloa,ordinato,disordinato,controllofull;
 String attuale[5] = { "" , "" , "" , "" , ""};

 int pot=A0; //il potenziometro è posizionato nel pin analogico A0
 int vel=0; //contenitore che conterrà la velocità (difficoltà del livello)
 int tono=6;
void setup() {
  randomSeed(millis());
  lcd.begin(16, 2);
  pinMode(7,INPUT);
  pinMode(pot, INPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(13,INPUT);
  pinMode(tono,OUTPUT);
}

void loop() {
  for(int i=0;i<26;i++)
  {
  alfabetcasual[i]=('a'+i);   
  }
  lcd.clear();
  lcd.print("Click to start");
  do{
    delay(30);
    if(digitalRead(7)==1){
      ordinato=true;
      break;
    }
    if(digitalRead(13)==1){
      disordinato=true;
      break;
    }
  }while(true);
  lcd.clear();
  lcd.print("Tieni a mente: ");
  lcd.setCursor(0,1);
  if(c<9) c++;
  else c=0;
  lcd.print(parola[c]);
  delay(5000);
  lcd.clear();
  lcd.print("Ricomponila");
  lcd.setCursor(0,1);
  if(ordinato){
  do
  {
    vel = map(analogRead(A0), 0, 1023, 300, 2000);
    lcd.clear();
    lcd.print("Ricomponila :");
    lcd.setCursor(0,1);
    lcd.print(attuale[0]+attuale[1]+attuale[2]+attuale[3]+lettera);
    t1=millis();
   
    do{
    if(digitalRead(7)==1){
    if(lettera!=parola[c].charAt(tot)){
      sbagliato=true;
      delay(1000);
      break;
    }
    attuale[tot]=lettera;
    lettera='a';
    controlloa=true;
    tot++;
    delay(190);
    break;
    } 
    t2=millis();
    }while(t2-t1<vel);
    if(sbagliato) break;
    if(lettera=='z'){
      lettera='a';
      controlloa=true;
    }
    if(!controlloa) lettera++;
    controlloa=false;
  }while(tot<5);
  }
  else{
    do
  {
    do{
      casualalfabet=random(0,27); 
    }while(alfabetcasual[casualalfabet]=='1');
    letteracasual=alfabetcasual[casualalfabet];
    alfabetcasual[casualalfabet]='1';
    vel = map(analogRead(A0), 0, 1023, 300, 2000);
    lcd.clear();
    lcd.print("Ricomponila :");
    lcd.setCursor(0,1);
    lcd.print(attuale[0]+attuale[1]+attuale[2]+attuale[3]+letteracasual);
    t1=millis();
   
    do{
    if(digitalRead(13)==1){
    if(letteracasual!=parola[c].charAt(tot)){
      sbagliato=true;
      delay(1000);
      break;
    }
    attuale[tot]=letteracasual;
    for(int i=0;i<26;i++)
    {
      alfabetcasual[i]=('a'+i);   
    }
    tot++;
    delay(190);
    break;
    } 
    t2=millis();
    }while(t2-t1<vel);
    if(sbagliato) break;
    controllofull=true;
    for(int i=0;i<26;i++)
      {
        if(alfabetcasual[i]!='1') controllofull=false;   
      }
    if(controllofull){
    for(int i=0;i<26;i++)
      {
        alfabetcasual[i]=('a'+i);   
      }
    }
  }while(tot<5);
  }

  if(!sbagliato){
    lcd.clear();
    lcd.print("GIUSTO!!!");
    tone(tono, 750, 200);
    digitalWrite(9,HIGH);
    delay(200);
    noTone(tono);
    tone(tono, 750, 200);
    digitalWrite(9,LOW);
    delay(200);
    noTone(tono);
    tone(tono, 750, 200);
    digitalWrite(9,HIGH);
    delay(200);
    noTone(tono);
    tone(tono, 750, 200);
    digitalWrite(9,LOW);
    delay(200);
    noTone(tono);
    digitalWrite(9,HIGH);
    delay(2200);
  }
  else {
    lcd.clear();
    lcd.print("RIPROVA!!!");
    tone(tono, 250, 1500);
    digitalWrite(8,HIGH);
    delay(1500);
    noTone(tono);
  }
  attuale[0]="";
  attuale[1]="";
  attuale[2]="";
  attuale[3]="";
  attuale[4]="";
  sbagliato=false;
  lettera='a';
  tot=0;
  digitalWrite(9,LOW);
  digitalWrite(8,LOW);
  ordinato=false;
  disordinato=false;
  }
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da FrankyFRD42 Mer Gen 24, 2018 7:43 pm

grazie Very Happy
FrankyFRD42
FrankyFRD42
Sono un nuovo membro
Sono un nuovo membro

Messaggi Messaggi : 3
Crediti Crediti : 6
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 16.01.18
Età Età : 19
Località Località : san Cesario di Lecce

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da Admin Gio Gen 25, 2018 9:12 am

Prego Wink
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Gioco con Arduino: Sniper Words Empty Re: Gioco con Arduino: Sniper Words

Messaggio Da Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.