-
.
Ecco qua il mio mastermind. L'ho fatto nel primo periodo in cui studiavo C++ quindi ottimizzazione 0 XD
E' comunque una base per capire il funzionamento del gioco.CODICE#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <time.h>
int main()
{
srand(time(NULL));
int num1=0, num2=0, num3=0, num4=0, tentativi=0;
int x1=0,x2=0,x3=0,x4=0;
int g1=0, g2=0, g3=0, g4=0;
num1 = rand() % 10;
while(num2==num1) {num2 = rand() % 10;}
while(num3 == num2 || num3 == num1){num3 = rand() % 10;}
while(num4==num3||num4==num2||num4==num1){num4 = rand() % 10;}
printf(" ##### BENVENUTO IN #####\n");
printf(" ###### MASTER MIND ######\n");
printf("Come giocare: prova a scoprire la combinazione segreta\n");
printf("Ricorda: X significa SBAGLIATO, O significa GIUSTO, ? significa GIUSTO MA POSTO SBAGLIATO\n\n");
printf("La combinazione segreta è stata creata,\nora prova a scoprirla!\n\n");
while(tentativi < 20){
g1 = 0; g2 = 0; g3 = 0; g4 = 0;
printf("\nInserisci la tua combinazione, scrivendo ogni singolo valore seguito da invio\n");
scanf("%d", &x1);
scanf("%d", &x2);
scanf("%d", &x3);
scanf("%d", &x4);
printf("Risposta: ");
if(x1 == num1){printf("O");g1=1;}
if(x2 == num2){printf("O");g2=1;}
if(x3 == num3){printf("O");g3=1;}
if(x4 == num4){printf("O");g4=1;}
if(g1 != 1){if(x1 == num2 || x1 == num3 || x1 == num4){printf("?");}else{printf("X");}}
if(g2 != 1){if(x2 == num1 || x2 == num3 || x2 == num4){printf("?");}else{printf("X");}}
if(g3 != 1){if(x3 == num1 || x3 == num2 || x3 == num4){printf("?");}else{printf("X");}}
if(g4 != 1){if(x4 == num1 || x4 == num2 || x4 == num3){printf("?");}else{printf("X");}}
if(x1 == num1 && x2 == num2 && x3 == num3 && x4 == num4){printf("Hai scoperto la combinazione!!\nCOMPLIMENTI!\n"); tentativi = 20;}
}
system("PAUSE");
return EXIT_SUCCESS;
}. -
Briky xbox.
User deleted
Funziona, solo che non ci sono funzioni e non hai usato gli array, ed è molto corto. xD . -
.
Eh si. Ancora non usavo gli array. . -
Briky xbox.
User deleted
Comunque va bene.
Io però devo farlo molto più difficile.
Devo anche inserire nome utente, fare più giocatori, fare una grafica con una mappa di gioco, e anche stilare una classifica con nomi e punteggi dei giocatori.. -
rona loves moony leez.
User deleted
no raga, non é corretto QUOTECODEprintf("Risposta: ");
if(x1 == num1){printf("O");g1=1;}
if(x2 == num2){printf("O");g2=1;}
if(x3 == num3){printf("O");g3=1;}
if(x4 == num4){printf("O");g4=1;}
supponiamo che la prima cifra sia sbagliata: non esce nulla, né O né ? né X
subito dopo controlla se la seconda cifra é giusta, se lo é ti esce O ma nella prima posizione, non nella seconda..
la versione corretta sarebbe con la riga if(g1 != 1)ecc subito dopo la riga if(x1==num1)ecc, e cosi' via x ogni cifra
comunque non volevo fare il saputello, anzi sono qua per imparare qualcosa infatti mi stavo leggendo le lezioni sul C++ (molto ben fatte, complimenti) e dato che é la prima volta che noto "un bug" mi sono emozionato.