Sisukord:

LEEKID C ++ kasutamine: 8 sammu
LEEKID C ++ kasutamine: 8 sammu

Video: LEEKID C ++ kasutamine: 8 sammu

Video: LEEKID C ++ kasutamine: 8 sammu
Video: SUPER KIDS Lin Qiunan VS Ryusei Imai VS Jaden Smith Fight 2024, Juuli
Anonim
FLAMES Kasutades C ++
FLAMES Kasutades C ++
FLAMES Kasutades C ++
FLAMES Kasutades C ++

Tere sõbrad, me kõik teame leekide mängust. Lol, see on üks naljakamaid mänge, mis tegi meie lapsepõlve õnnelikumaks. Selles juhendis näeme, kuidas leekide programmi C ++ keelt kodeerida.

Samm: kasutatud mõisted

Kasutatud mõisted
Kasutatud mõisted

Siin kasutasin kahekordselt lingitud ringkirja.

Samm: põhifunktsioon

int main ()

{

stringi nimi1, nimi2;

int n1, n2; cout << "SISESTA ESIMENE NIMI:"; getline (cin, nimi1); cout << "SISESTAGE TEINE NIMI:"; getline (cin, nimi2);

}

Esiteks peame kaks nime tühikuga hankima, nii et kasutan stringi tühikuga saamiseks funktsiooni getline ().

Samm: kuidas erimärke vahele jätta?

tühine väljastamine (string & a)

{

jaoks (int i = 0; a ! = '\ 0'; i ++)

{

kui (a > = 'a' && a <= 'z') {}

muidu, kui (a > = 'A' && a <= 'Z') {}

muidu

a = '0';

}

}

Nüüd peame eemaldama erimärgid nagu &, $, '' … jne. Selle funktsiooni abil eemaldasime kõik tähemärgid peale tähestiku. Siin asendan selle eemaldamise asemel "0" -ga.

Samm: samade märkide eemaldamine

(i = 0; nimi1 ! = '\ 0'; i ++)

jaoks (j = 0; nimi2 [j]! = '\ 0'; j ++)

kui ((nimi1 == nimi2 [j] || nimi1 == nimi2 [j] +32))

{

nimi1 = '0';

nimi2 [j] = '0';

murda;

}

See on leekide mängu esimene samm, et peame eemaldama samad märgid, mis esinevad kahes nimes. See koodilõik aitab meil samad märgid asendada „0” -ga ja toimib hästi isegi siis, kui see sisaldab nii suuri kui ka väiketähti. Katkestuslause aitab meil vältida korduvate märkide eemaldamist.

j = 0; jaoks (i = 0; nimi1 ! = '\ 0'; i ++)

kui (nimi1 ! = '0')

j ++;

(i = 0; nimi2 ! = '\ 0'; i ++)

kui (nimi2 ! = '0')

j ++;

if (j == 0) cout << "NO FLAMES";

Siin eemaldame kõik mõlema nime juures olevad nullid. Seetõttu eemaldatakse lõpuks tähemärgid. Seejärel suurendatakse j, et see on tähtede arv, mis on mõlemas nimes pärast samade märkide eemaldamist. Nüüd peame kontrollima, kas see sisaldab vähemalt ühte märki või mitte. Koodi tõhustamiseks peame ütlema, et leekide mängu pole võimalik mängida, kui see ei sisalda unikaalseid märke.

Samm 5: ümmarguse topeltlingitud loendi loomine

string a = "leegid";

Esiteks looge globaalne string, mis sisaldab "leeke".

typedef struktuuri sõlm {

char andmed;

sõlm *järgmine, *eelmine;

} sõlm;

sõlm *ülemine = NULL, *temp;

Nüüd looge struktuur, mis sisaldab märgi andmeid, järgmist aadressi ja eelmist aadressi kursorit.

Seejärel looge kursor, mis osutab lingitud loendi ülaosale.

sõlm* ins (char a) {

sõlm *uus1;

new1 = uus sõlm;

uus1-> andmed = a;

uus1-> järgmine = NULL;

uus1-> eelmine = NULL;

kui (üleval == NULL)

{

top = uus1;

temp = ülemine;

}

muidu

{

temp-> järgmine = uus1;

uus1-> eelmine = temp;

temp = uus1;

}

tagasi top;

}

Seejärel sisestage string "leegid" kahekordselt lingitud tähemärkide kaupa.

tühine kontroll (int j) {

int count1, lipp = 0;

jaoks (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

6. samm: leekide mängimise kood

Kood leekide mängimiseks
Kood leekide mängimiseks

tühine kontroll (int j)

{

int count1, lipp = 0;

jaoks (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

sõlm *cur = ülemine, *prev1;

temp-> järgmine = ülemine;

top-> eelmine = temp;

samas (1)

{

loendus 1 = 1;

samas (number1 <j)

{

cur = cur-> järgmine;

count1 ++;

}

sõlm *temp1 = cur;

prev1 = cur-> eelnev;

cur-> eelmine-> järgmine = cur-> järgmine;

cur-> järgmine-> eelmine = cur-> eelnev;

temp1-> järgmine = NULL;

tasuta (temp1);

cur = eelmine1-> järgmine;

sõlm *test = cur;

kui (test-> andmed == test-> järgmine-> andmed)

murda;

}

}

peame käivitama ümmarguse loendi, mis on unikaalsete märkide arvu järgi "leekide" string. Siis peame eemaldama märgi "leekidest", mis langevad kokku loendusega. Peaksime aru saama, et selles koodilõigus kasutatakse topeltlingitud loendit. See aitab palju konkreetse tegelase eemaldamisel. See eemaldatakse pidevalt. Kuni jõuab tingimuseni, et samad tegelased tulevad korduvalt.

if (test-> data == test-> next-> data) katki;

Samm: rääkige tulemusest

lüliti (cur-> data)

{

juhtum 'f': cout << "SÕBRAD &&";

murda;

juhtum 'l': cout << "ARMASTUS <3";

murda;

juhtum 'a': cout << "AFFECTION $";

murda;

juhtum 'm': cout << "ABIELU:)";

murda;

juhtum 'e': cout << "VAENLIK:(";

murda;

juhtum 's': cout << "SIBLING";

murda; }

Kasutage seda lülituslauset, et öelda lõpptulemus, mis on viimane märk alles pärast kõigi teiste märkide eemaldamist vastavalt arvule.

Nüüd saate lihtsalt leeke mängida, sisestades lihtsalt nimed. See on naljakas. Mängi seda mängu, kasutades oma sõbra nimesid ja tee nad vihaseks LOL. Aitäh.

8. samm: leekide kood

FLAMESi täielik kood on saadaval siin, github.com/naveeen684/Flames-code-using-C-/tree/master