Nottolino quantistico: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 31:
solitamente consistono di una proteina a forma di imbuto, che alterna
una configurazione a canale chiuso in cui lo ione è fortemente
accoppiato al canale ad una a canale aperto in cui lo ione interagisce
debolmente con il canale. Il moto browniano delle molecole è allora
Riga 104 ⟶ 105:
16, in cui bastano 15 passi per perdere e ne servono 16 per vincere.
<code
/* codice */
/* Copyright BlakWolf 2004 */
#include <set> /* contenitore per regole */▼
/* Releasead under Gnu GPL V. 2 or later, at your option */
#include <cstdlib> /* rand() e srand() */▼
#include <ctime> /* time() */▼
// #include <algorithm> ▼
▲ #include <set> /* contenitore per regole */
/* ▼
▲ #include <cstdlib> /* rand() e srand() */
▲ #include <ctime> /* time() */
▲ /*
* Pedina
* contiene la posizione sulla scacchiera
*/
struct Pedina {
unsigned int posizione;
};
/*
* Regola
* associa un risultato del dado
* ad uno spostamento
* */
struct Regola {
unsigned int Lancio;
int Spostamento;
Riga 141 ⟶ 144:
};
/* Insieme di regole
* Contiene un insieme di regole del gioco
* e le applica in funzione del tiro del dado
*/
class Ruleset {
public:
typedef std::set<Regola> Container;
typedef Container::iterator Iterator;
private:
Container regole;
public:
Ruleset(Iterator from, Iterator to);
int Applica(unsigned int& Lancio);
~Ruleset(){};
};
/* Inserisce le regole nel contenitore
*/
Ruleset::Ruleset(Ruleset::Iterator from, Ruleset::Iterator to){
for (Iterator it = from; it != to; ++it)
regole.insert(*it);
}
/* Se trova una regola la applica, e ritorna lo spostamento
* altrimenti ritorna 0 (spostamento nullo)
*/
int Ruleset::Applica(unsigned int& Lancio){
Iterator it = regole.find(Regola(Lancio, 0)) ;
if (it == regole.end())
return 0;
return (it->Spostamento);
}
int main() {
unsigned int Dimesione = 30; /* lunghezza del percorso */
Riga 233 ⟶ 236:
Pedina p;
p.posizione = Dimesione / 2 ; /* Inizia la partita con la pedina al
centro */
std::srand(std::time(0)); /* Randomizzazione del seme */
Riga 267 ⟶ 270:
std::cout << "Vittorie " << Vittorie << " Giocate " << Contatore << "
("; std::cout << 100. * Vittorie / Contatore << "%)" << std::endl;
}
/* fine */
</code>
----
| |||