Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» 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

» Google Home diventa un traduttore simultaneo
Da Admin Mar Feb 19, 2019 4:27 pm

» Recensione Xiaomi Redmi 5 - Edizione 2019
Da Admin Mar Feb 19, 2019 4:24 pm

» Guadagnare lavorando per Google Street View
Da Admin Mar Feb 19, 2019 4:20 pm

» UMIDIGI F1 - Specifiche tecniche
Da Admin Mar Feb 19, 2019 4:14 pm

» display oled 168x64
Da fulvio Dom Feb 10, 2019 9:47 am

I postatori più attivi del mese
Admin
Gioco con Arduino: Sniper Words I_vote_lcapGioco con Arduino: Sniper Words I_voting_barGioco con Arduino: Sniper Words I_vote_rcap 

Gioco con Arduino: Sniper Words

Andare in basso

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

Messaggio Da Admin il 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 : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

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

Messaggio Da FrankyFRD42 il 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à : 14
Località Località : san Cesario di Lecce

Visualizza il profilo

Torna in alto Andare in basso

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

Messaggio Da Admin il 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 : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

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

Messaggio Da FrankyFRD42 il 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à : 14
Località Località : san Cesario di Lecce

Visualizza il profilo

Torna in alto Andare in basso

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

Messaggio Da Admin il 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 : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

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

Messaggio Da Admin il 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 : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

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

Messaggio Da FrankyFRD42 il 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à : 14
Località Località : san Cesario di Lecce

Visualizza il profilo

Torna in alto Andare in basso

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

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

Prego Wink
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto


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