Obsah:

FLAMES pomocou C ++: 8 krokov
FLAMES pomocou C ++: 8 krokov
Anonim
FLAMES pomocou C ++
FLAMES pomocou C ++
FLAMES pomocou C ++
FLAMES pomocou C ++

Ahoj priatelia, všetci vieme o hre flames. Lol, je to jedna z najzábavnejších hier, ktoré urobili naše detstvo šťastnejším. V tomto návode sa pozrieme na to, ako kódovať program plamene pomocou jazyka C ++.

Krok 1: Použité koncepty

Použité koncepty
Použité koncepty

Tu som použil dvojnásobne prepojený zoznam v obežníku.

Krok 2: Hlavná funkcia

int main ()

{

reťazec name1, name2;

int n1, n2; cout << "ZADAJTE PRVO MENO:"; getline (cin, name1); cout << "ZADAJTE DRUHE MENO:"; getline (cin, name2);

}

Najprv musíme dostať tieto dve mená s medzerou, takže na získanie reťazca s medzerou používam funkciu getline ().

Krok 3: Ako vynechať špeciálne znaky?

void emit (reťazec a)

{

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

{

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

else if (a > = 'A' && a <= 'Z') {}

inak

a = '0';

}

}

Teraz musíme odstrániť špeciálne znaky ako &, $, '' … atď. Použitím tejto funkcie sme odstránili všetky znaky okrem abecedy. Tu namiesto odstránenia nahrádzam číslom „0“.

Krok 4: Odstránenie rovnakých znakov

pre (i = 0; meno1 ! = '\ 0'; i ++)

pre (j = 0; name2 [j]! = '\ 0'; j ++)

if ((name1 == name2 [j] || name1 == name2 [j] +32))

{

name1 = '0';

name2 [j] = '0';

prestávka;

}

Je to prvý krok hry plamene, že musíme odstrániť rovnaké postavy, aké sú v týchto dvoch menách. Tento útržok kódu nám pomáha nahradiť rovnaké znaky číslicou „0“a funguje dobre, aj keď obsahuje veľké aj malé písmena. Výkaz break nám pomáha vyhnúť sa odstráneniu opakujúcich sa znakov.

j = 0; pre (i = 0; meno1 ! = '\ 0'; i ++)

if (name1 ! = '0')

j ++;

pre (i = 0; name2 ! = '\ 0'; i ++)

if (name2 ! = '0')

j ++;

if (j == 0) cout << "BEZ PLAMENOV";

Tu odstránime všetky 0, ktoré sú prítomné v oboch názvoch. Preto sú nakoniec všetky rovnaké znaky odstránené. Potom sa j zvýši o to, že je to počet písmen, ktoré sú prítomné v oboch menách po odstránení rovnakých znakov. Teraz musíme skontrolovať, či obsahuje aspoň jeden znak alebo nie. Aby bol kód efektívny, musíme povedať, že neexistuje žiadna možnosť hrať hru flames, ak neobsahuje žiadne jedinečné znaky.

Krok 5: Vytvorenie kruhového dvojnásobne prepojeného zoznamu

reťazec a = "plamene";

Najprv vytvorte globálny reťazec, ktorý obsahuje „plamene“.

štruktúrovaný uzol typedef {

údaje o znakoch;

uzol *nasledujúci, *predchádzajúci;

} uzol;

uzol *hore = NULL, *temp;

Teraz vytvorte štruktúru, ktorá obsahuje znakové údaje, nasledujúci ukazovateľ adresy a predchádzajúci ukazovateľ adresy.

Potom vytvorte ukazovateľ, ktorý ukazuje na začiatok prepojeného zoznamu.

uzol* ins (znak a) {

uzol *nový1;

new1 = nový uzol;

new1-> údaje = a;

new1-> next = NULL;

new1-> prev = NULL;

ak (hore == NULL)

{

top = nový1;

temp = hore;

}

inak

{

temp-> next = new1;

new1-> prev = temp;

temp = nový1;

}

návrat hore;

}

Potom vložte reťazec „plamene“do dvojnásobne prepojeného zoznamu podľa znakov.

prázdna kontrola (int j) {

int count1, flag = 0;

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

top = ins (a );

}

Krok 6: Kód na hru Flames

Kód na hru Flames
Kód na hru Flames

prázdna kontrola (int j)

{

int count1, flag = 0;

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

top = ins (a );

uzol *cur = top, *prev1;

temp-> next = top;

top-> prev = temp;

zatiaľ čo (1)

{

count1 = 1;

while (count1 <j)

{

cur = cur-> ďalšie;

count1 ++;

}

uzol *temp1 = cur;

prev1 = aktuálna> prev;

cur-> prev-> next = cur-> next;

cur-> next-> prev = cur-> prev;

temp1-> next = NULL;

zadarmo (temp1);

cur = prev1-> nasledujúci;

uzol *test = cur;

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

prestávka;

}

}

musíme spustiť kruhový zoznam, ktorý je reťazcom „plamene“podľa počtu jedinečných znakov. Potom musíme odstrániť znak v „plameňoch“, ktoré sa zhodujú s počtom. V tomto útržku kódu by sme si mali uvedomiť použitie dvojnásobne prepojeného zoznamu. Veľmi pomáha odstránenie konkrétnej postavy. Odstraňuje sa priebežne. Kým to nedosiahne podmienku, že rovnaké postavy budú prichádzať opakovane.

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

Krok 7: Povedzte výsledok

prepnúť (aktuálne-> údaje)

{

prípad 'f': cout << "PRIATELIA &&";

prestávka;

prípad 'l': cout << "LOVE <3";

prestávka;

prípad 'a': cout << "AFFECTION $";

prestávka;

prípad 'm': cout << "MANŽELSTVO:)";

prestávka;

prípad 'e': cout << "ENEMY:(";

prestávka;

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

prestávka; }

Pomocou tohto príkazu prepínača oznámte konečnému výsledku, že zostáva posledný znak, po odstránení všetkých ostatných znakov podľa počtu.

Teraz môžete hrať s plameňmi jednoducho zadaním mien. Je to zábavné, nie. Zahrajte si túto hru s menami svojich priateľov a nahnevajte ich LOL. Ďakujem.

Krok 8: Kód pre Flames

Kompletný kód pre FLAMES je k dispozícii tu, github.com/naveeen684/Flames-code-using-C-/tree/master