//
// main.cpp
// Gioco dei dadi fatto con le classi
//
// Created by alessandro barazzuol on 03/01/22.
/*
Scrivere un gioco in C++ che simula il gioco dei dadi: due giocatori (
PC e Utente) lanciano due dadi:
a.se esce 1 in entrambi i dadi si perde tutto
b.se escono due valori diversi si sommano i valori
c.se escono due 6 si raddoppia la somma ( 24)
Simulare 10 giocate e visualizzare la classifica.
*/
#include <iostream>
#include "dado.hpp"
#include "player.hpp"
int main(int argc, const char * argv[]) {
srand(time(0));
//dichiaro due players
player *alessandro= new player("ALESSANDRO");
player*pc= new player("PC");
//lancio 10 volte i dadi per PC e ALESSANDRO
for(int i=0;i<10;i++)
{
pc->tira(2);
alessandro->tira(2);
}
pc->punteggio();
alessandro->punteggio();
return 0;
}
//
// dado.cpp
// classe dado
//
// Created by alessandro barazzuol on 03/01/22.
//
#include "dado.hpp"
dado::dado(){}
int dado:: lancia()
{
return rand()%6+1;
}
//
// dado.hpp
// definizioni di dado
//
// Created by alessandro barazzuol on 03/01/22.
//
#ifndef dado_hpp
#define dado_hpp
#include <iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
class dado
{
public:
dado();
//lancia il dado e ritorna valori da 1 a 6
int lancia();
};
#endif /* dado_hpp */
//
// player.cpp
// player
//
// Created by alessandro barazzuol on 03/01/22.
//
#include "player.hpp"
#include "dado.hpp"
player::player(const char *nome)
{
punti=0;
this->nome=new char[SIZE];
strcpy(this->nome,nome);
}
void player:: tira(int n)
{
//array che contiene n lanci
int lanci[SIZE]={0};
//creazione e lancio di n dadi
for(int i=0;i<n;i++)
{
lanci[i]=(new dado())->lancia();
}
//visualizzazione dei n lanci usciti
cout<<this->nome;
for(int i=0;i<n;i++)
cout<<" "<<lanci[i];
cout<<endl;
calcola(lanci,n);
}
void player:: calcola(int lanci[],int n)
{
//calcolo del punteggio secondo la consegna
for(int i=0;i<n;i++)
punti+=lanci[i];
for(int i=0;i<n-1;i++)
if(lanci[i]==1 && lanci[i+1]==1)
punti=0;
for(int i=0;i<n-1;i++)
if(lanci[i]==6 && lanci[i+1]==6)
punti+=12;
//aspetto che l'utente prema un tasto per procedere
char c=getchar();
}
void player::punteggio()
{
cout<<this->nome<<" "<< punti<<endl;
}
char *player::getNome()
{
return nome;
}
//
// player.hpp
// classe player
//
// Created by alessandro barazzuol on 03/01/22.
//
#ifndef player_hpp
#define player_hpp
#include <iostream>
#define SIZE 100
class player
{
private:
char *nome;
int punti;
//cotruttore di un player
public:
player(const char*);
//lancio di n dadi
void tira(int);
//visualizza il punteggio
void punteggio();
//visualizza il nome del player
char *getNome();
//calcola il punteggio secondo la consegna
void calcola(int*,int);
};
#endif /* player_hpp */
Post Views: 171