Turinys:

FLAMES Naudojant C ++: 8 žingsniai
FLAMES Naudojant C ++: 8 žingsniai

Video: FLAMES Naudojant C ++: 8 žingsniai

Video: FLAMES Naudojant C ++: 8 žingsniai
Video: Индивидуальный метод окраски / Magic Flake Pink Purple / Шаг за шагом / Мастерская живопись 2024, Liepa
Anonim
FLAMES Naudojant C ++
FLAMES Naudojant C ++
FLAMES Naudojant C ++
FLAMES Naudojant C ++

Sveiki draugai, mes visi žinome apie liepsnos žaidimą. Lol, tai vienas iš juokingiausių žaidimų, kurie padarė mūsų vaikystę laimingesnę. Šioje instrukcijoje pamatysime, kaip koduoti liepsnos programą naudojant C ++ kalbą.

1 žingsnis: naudojamos sąvokos

Naudojamos sąvokos
Naudojamos sąvokos

Čia aš naudoju dvigubai susietą „Circular“sąrašą.

2 žingsnis: pagrindinė funkcija

int main ()

{

eilutės pavadinimas1, vardas2;

int n1, n2; cout << "Įvesti PIRMĄJĄ PAVADINIMĄ:"; getline (cin, vardas1); cout << "Įveskite antrąjį pavadinimą:"; getline (cin, vardas2);

}

Pirma, turime gauti du pavadinimus su tarpais, todėl aš naudoju funkciją getline (), kad gaučiau eilutę su tarpais.

3 žingsnis: Kaip atsisakyti specialių simbolių?

void emit (eilutė ir a)

{

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

{

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

kitaip, jei (a > = 'A' && a <= 'Z') {}

Kitas

a = '0';

}

}

Dabar turime pašalinti specialius simbolius, tokius kaip &, $, '' … ir tt Naudodami šią funkciją pašalinome visus simbolius, išskyrus abėcėlę. Čia vietoj pašalinimo pakeičiu jį „0“.

4 žingsnis: pašalinkite tuos pačius simbolius

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

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

jei ((vardas1 == vardas2 [j] || vardas1 == vardas2 [j] +32))

{

vardas1 = '0';

vardas2 [j] = '0';

pertrauka;

}

Tai pirmas liepsnos žaidimo žingsnis, kad turime pašalinti tuos pačius simbolius, esančius dviejuose pavadinimuose. Šis kodo fragmentas padeda mums tuos pačius simbolius pakeisti „0“, be to, jis veikia gerai, net jei jame yra ir didžiosios, ir mažosios raidės. Pertraukos teiginys padeda išvengti pasikartojančių simbolių pašalinimo.

j = 0; for (i = 0; name1 ! = '\ 0'; i ++)

jei (vardas1 ! = '0')

j ++;

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

jei (vardas2 ! = '0')

j ++;

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

Čia pašaliname visus „0“, esančius abiejuose pavadinimuose. Todėl pagaliau visi simboliai pašalinami. Tada j padidinama, kad tai yra raidžių, esančių abiejuose pavadinimuose, skaičius pašalinus tuos pačius simbolius. Dabar turime patikrinti, ar jame yra bent vienas simbolis, ar ne. Kad kodas būtų efektyvus, turime pasakyti, kad nėra galimybės žaisti liepsnos žaidimo, jei jame nėra unikalių simbolių.

5 veiksmas: sukurkite apskritą dvigubai susietą sąrašą

eilutė a = "liepsnos";

Pirmiausia sukurkite visuotinę eilutę, kurioje yra „liepsnos“.

typedef struktūros mazgas {

char duomenys;

mazgas *kitas, *ankstesnis;

} mazgas;

mazgas *viršuje = NULL, *temp;

Dabar sukurkite struktūrą, kurioje yra simbolių duomenys, kitas adreso žymeklis ir ankstesnis adreso žymeklis.

Tada sukurkite žymeklį, nukreiptą link susieto sąrašo viršaus.

mazgas* ins (char a) {

mazgas *naujas1;

new1 = naujas mazgas;

new1-> duomenys = a;

naujas1-> kitas = NULL;

naujas1-> ankstesnis = NULL;

if (viršuje == NULL)

{

viršuje = naujas1;

temp = viršuje;

}

Kitas

{

temp-> kitas = naujas1;

new1-> prev = temp;

temp = naujas1;

}

grįžti viršuje;

}

Tada įveskite „liepsnos“eilutę į dvigubai susietą sąrašą pagal simbolius.

negaliojantis patikrinimas (int j) {

int skaičius1, vėliava = 0;

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

viršuje = ins (a );

}

6 žingsnis: kodas žaisti „Flames“

Kodas žaisti „Flames“
Kodas žaisti „Flames“

negaliojantis patikrinimas (int j)

{

int skaičius1, vėliava = 0;

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

viršuje = ins (a );

mazgas *cur = viršuje, *prev1;

temp-> kitas = viršuje;

viršuje-> prieš = temp;

kol (1)

{

skaičius1 = 1;

o (skaičius1 <j)

{

cur = cur-> kitas;

skaičius1 ++;

}

mazgas *temp1 = cur;

prev1 = cur-> ankstesnis;

cur-> ankstesnis> kitas = cur-> kitas;

cur-> kitas-> ankstesnis = cur-> ankstesnis;

temp1-> kitas = NULL;

nemokama (temp1);

cur = ankstesnis-> kitas;

mazgas *testas = cur;

jei (bandymas-> duomenys == testas-> kitas-> duomenys)

pertrauka;

}

}

mes turime paleisti apskritą sąrašą, kuris yra „liepsnos“eilutė pagal unikalių simbolių skaičių. Tada turime pašalinti simbolį „liepsnose“, kurios sutampa su skaičiumi. Turime suprasti, kad šiame kodo fragmente naudojamas dvigubai susietas sąrašas. Tai labai padeda pašalinti tam tikrą simbolį. Jis nuolat pašalinamas. Kol nepasieks sąlygos, kad tie patys personažai ateis pakartotinai.

jei (bandymas-> duomenys == testas-> kitas-> duomenys) pertrauka;

7 žingsnis: pasakykite rezultatą

jungiklis (cur-> data)

{

atvejis 'f': cout << "DRAUGAI &&";

pertrauka;

atvejis 'l': cout << "MEILĖ <3";

pertrauka;

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

pertrauka;

atvejis 'm': cout << "SANTUOKA:)";

pertrauka;

atvejis 'e': cout << "ENEMY:(";

pertrauka;

atvejis 's: cout << "SIBLING";

pertrauka; }

Naudokite šį jungiklio teiginį, norėdami pasakyti galutinį rezultatą, kuris yra paskutinis simbolis, pašalinus visus kitus simbolius pagal skaičių.

Dabar galite lengvai žaisti liepsną tiesiog įvesdami pavadinimus. Tai juokinga. Žaisk šį žaidimą naudodami savo draugo vardus ir supykink juos LOL. Ačiū.

8 žingsnis: liepsnos kodas

Visą FLAMES kodą rasite čia, github.com/naveeen684/Flames-code-using-C-/tree/master