Dette spillet inneholder en hasj (#) formet beholder med to horisontale linjer som krysser to vertikale linjer med forskjellige svinger. Vinneren har bestemt seg for hvilken spiller som fylte beholderen med 3OS eller 3xs i den diagonale, horisontale eller vertikale stilen. Noen ganger regnes spillet som en trekningskamp hvis ingen spiller kan vinne ved å fylle beholderen med 3OS eller 3xs i diagonal, horisontalt eller vertikal stil.
Endring av verdien av spilldiagram:
På forhånd må vi iverksette tiltak når diagrammets verdi endres. Vi må legge inn en viss verdi i en matrise, eller vi kan si det matrise. Vi initialiserte en strengdatatypematrise og inngikk verdiene mellom 1 til 9 eller 0 til 9; Vi delte matrisen i 3*3 i spillet tegnet tidligere. Programmet sletter den første utgangsskjermen når begge spillerne passerer navnene i koden vår. Den viser hovedskjermen der vi ber begge spillerne om å legge inn en numerisk verdi mellom 1 og 9, så hvis en spiller kommer inn i disse tallene, erstatter vi verdien av den spilleren i et spilldiagram med O eller X. Den samme metoden fortsetter gjentatte ganger og erstatter hver deltaker en etter en.
#inkludere
ved hjelp av navneområdet STD;
char sqr [10] = 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9';
int checkwin ();
void board ();
int main ()
int gamer = 1, a, ch;
Char Mark;
gjøre
borde();
Gamer = (Gamer%2)?1: 2;
cout << "Player " << gamer ch;-
Mark = (gamer == 1) ? 'X': 'o';
Fra og med overskriftsfilen initialiserte vi vår karakteroppstilling med navnet 'SQR' for å tegne matrisen for å vise spilldiagrammet. Så definerer vi vinnerfunksjonen som er definert nedenfor. Etter det kaller vi VITT -tavlefunksjonen vår. Fordi CheckWin () -funksjonen returnerer 1, er den 'int'; På den annen side returnerer styret ingen verdi, så det er tom eller tomt. Her starter vi hoveddelen vår der vi initialiserte variabelen vår med heltall datatyp. Her starter vi en stundsløyfe; I løkken kaller vi vår brettfunksjon og sjekker tilstanden for å bytte spillernes svinger. Spillet starter, spillerne skriver inn nummeret i boksene sine, og matrisen er konstruert fra null til ni. Vi merket alle boksene i matrisen.
Her sjekker vi inngangen til brukeren igjen og igjen til spillet slutter eller brukeren legger inn et ugyldig nummer. Hvor tilstanden vil sant, vil verdien av merket bli tildelt dette stedet enten O eller X.
if (ch == 1 && sqr [1] == '1')
SQR [1] = Mark;
ellers if (ch == 2 && sqr [2] == '2')
SQR [2] = Mark;
annet hvis (ch == 3 && sqr [3] == '3')
SQR [3] = Mark;
annet hvis (ch == 4 && sqr [4] == '4')
SQR [4] = Mark;
annet hvis (ch == 5 && sqr [5] == '5')
SQR [5] = Mark;
annet hvis (ch == 6 && sqr [6] == '6')
SQR [6] = Mark;
annet hvis (ch == 7 && sqr [7] == '7')
SQR [7] = Mark;
annet hvis (ch == 8 && sqr [8] == '8')
SQR [8] = Mark;
annet hvis (ch == 9 && sqr [9] == '9')
SQR [9] = Mark;
ellers
cout<<"Invalid move ";
Gamer--;
cin.overse();
cin.få();
I det andre, hvis vi legger noe annet, viser det meldingen om ugyldig inndata hvis vi skriver inn annet enn 1 til 9.
Sjekk vinn:
Dette spillet er veldig populært, og i dette spillet må hver spiller ønsker å vinne spillet; For dette punktet sjekker vi tilstanden ved alle innganger til brukeren hvis staten tilfredsstiller tilstanden, så vil vi skrive ut en melding om at enten den første spilleren seier eller Second Player -seier eller spill blir trukket i henhold til resultatet av spillet.
a = checkWin ();
Gamer ++;
mens (a ==-1);
borde();
if (a == 1)
cout<<"==>\en spiller "<<--gamer<<" win ";
ellers
cout<<"==>\ Agame Draw ";
cin.overse();
cin.få();
retur 0;
Funksjonsvinneren er matriksstrukturen, og tilstanden brukes til å returnere verdien; Hvis brukeren velger boksen etter at du har returnert verdien fra den vinnende funksjonskompilatoren, bestemmer vinneren, og hvis det ikke er noen returnert verdi, trekkes spillet.
I denne funksjonen kan vi se hvordan koden bestemmer vinneren.
int checkwin ()
if (sqr [1] == SQR [2] && SQR [2] == SQR [3])
retur 1;
ellers if (SQR [4] == SQR [5] && SQR [5] == SQR [6])
retur 1;
ellers if (SQR [7] == SQR [8] && SQR [8] == SQR [9])
retur 1;
ellers if (SQR [1] == SQR [4] && SQR [4] == SQR [7])
retur 1;
ellers if (SQR [2] == SQR [5] && SQR [5] == SQR [8])
retur 1;
ellers if (SQR [3] == SQR [6] && SQR [6] == SQR [9])
retur 1;
ellers if (SQR [1] == SQR [5] && SQR [5] == SQR [9])
retur 1;
ellers if (SQR [3] == SQR [5] && SQR [5] == SQR [7])
retur 1;
ellers hvis (SQR [1] != '1' && sqr [2] != '2' && sqr [3] != '3'
&& SQR [4] != '4' && sqr [5] != '5' && sqr [6] != '6'
&& SQR [7] != '7' && sqr [8] != '8' && sqr [9] != '9')
retur 0;
ellers
return -1;
Som du kan se i denne logikken, sjekker CheckWin () -funksjonen alle mulige kombinasjoner som kan bidra til å vinne spillet. Hvis noen av dem vil sant, vil meldingen vises på brukerens side som fyller det mønsteret.
Tegn spillkartet:
Først projiserer vi et spillbord; I C ++ er det utfordrende å prosjektgrafikk på en konsollskjerm, og det er grunnen til at vi velger et annet alternativ for å tegne en TIC TAC TOE -spilllinje med støtten fra COUT -uttalelsen og deretter forsøke å være i stand til at hvert diagram virker bedre når vi initialiserer verdiene.
void board ()Her definerer vi styrets funksjon (). I funksjonens kropp fjerner vi skjermen med en innebygd funksjon. Skriv deretter ut overskriften på spillet. Etter det viser vi styret vårt som også er en matrise, for å lage spillets struktur.
Nå skal vi spille dette spillet.
Konklusjon:
Denne artikkelen diskuterer hvordan vi bruker dette spillet på C ++ veldig enkel og enkel måte. Alle de grunnleggende mekanismene som kreves for å skrive kode for dette spillet. Denne guiden dekker en enkel kildekode for dette spillet for to spillere med et enkelt, enkelt og interaktivt grensesnitt. Vi utdypet alle punktene som er definert i koden og diskuterte grunnleggende funksjoner.