Мазмуну:

C ++ колдонуу жалындары: 8 кадам
C ++ колдонуу жалындары: 8 кадам

Video: C ++ колдонуу жалындары: 8 кадам

Video: C ++ колдонуу жалындары: 8 кадам
Video: Godot 2D и 3D бесплатный открытый игровой движок / OpenGL / C++, C#, GD Native Object Pascal / 2021 2024, Июль
Anonim
FLAMES C ++ колдонуу
FLAMES C ++ колдонуу
FLAMES C ++ колдонуу
FLAMES C ++ колдонуу

Салам достор, баарыбыз жалын оюну жөнүндө билебиз. Лол, бул биздин балалыкты бактылуу кылган эң күлкүлүү оюндардын бири. Бул көрсөтмөдө, биз C ++ тилин колдонуп, жалын программасын кантип коддоону көрөбүз.

1 -кадам: Колдонулган түшүнүктөр

Колдонулган түшүнүктөр
Колдонулган түшүнүктөр

Бул жерде мен Circular кош байланышкан тизмесин колдондум.

2 -кадам: Негизги функция

int main ()

{

сап аты1, аты2;

int n1, n2; cout << "БИРИНЧИ АТЫН КИРГИЗ:"; getline (cin, name1); cout << "ENTER SECOND NAME:"; getline (cin, name2);

}

Биринчиден, биз боштук менен эки ысымды алышыбыз керек, ошондуктан мен боштук менен сапты алуу үчүн getline () функциясын колдоном.

3 -кадам: Өзгөчө белгилерди кантип таштоо керек?

боштук чыгаруу (сап жана а)

{

үчүн (int i = 0; a ! = '\ 0'; i ++)

{

эгер (a > = 'a' && a <= 'z') {}

эгер башка (a > = 'A' && a <= 'Z') {}

башка

a = '0';

}

}

Эми биз &, $, '' … ж.б сыяктуу өзгөчө белгилерди алып салышыбыз керек. Бул функцияны колдонуу менен биз алфавиттерден башка бардык белгилерди алып салдык. Бул жерде, алып салуунун ордуна, мен аны '0' менен алмаштырам.

4 -кадам: Ошол эле белгилерди алып салуу

үчүн (i = 0; name1 ! = '\ 0'; i ++)

үчүн (j = 0; name2 [j]! = '\ 0'; j ++)

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

{

name1 = '0';

name2 [j] = '0';

тыныгуу;

}

Бул жалын оюнунун биринчи кадамы, биз эки аталышта болгон ошол эле белгилерди жок кылышыбыз керек. Бул код үзүндүсү бизге ошол эле символдорду '0' менен алмаштырууга жардам берет жана ал чоң жана кичине тамгаларды камтыса дагы жакшы иштейт. Break билдирүүсү кайталануучу белгилерди алып салуудан качууга жардам берет.

j = 0; үчүн (i = 0; name1 ! = '\ 0'; i ++)

if (name1 ! = '0')

j ++;

үчүн (i = 0; name2 ! = '\ 0'; i ++)

if (name2 ! = '0')

j ++;

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

Бул жерде биз эки аталышта бар болгон 0'лерди алып салабыз. Ошондуктан, акыры, баары бир, белгилер алынып салынат. Андан кийин j бир эле символдорду алып салгандан кийин эки аталышта тең болгон тамгалардын саны экени көбөйтүлөт. Эми анын жок дегенде бир тамгасы бар же жок экенин текшеришибиз керек. Кодду эффективдүү кылуу үчүн, эгерде уникалдуу белгилер жок болсо, жалын оюнун ойноо мүмкүнчүлүгү жок экенин айтыш керек.

5 -кадам: тегерек кош шилтеме тизмесин түзүү

string a = "жалын";

Биринчиден, "жалындарды" камтыган глобалдык сапты түзүңүз.

typedef структура түйүнү {

char маалыматы;

түйүн *кийинки, *мурунку;

} түйүн;

түйүн *top = NULL, *temp;

Эми, тамга маалыматын, кийинки дарек көрсөткүчүн жана мурунку дарек көрсөткүчүн камтыган структураны түзүңүз.

Андан кийин шилтемеленген тизменин башын караган көрсөткүчтү түзүңүз.

node* ins (char a) {

түйүн *жаңы1;

new1 = жаңы түйүн;

new1-> маалыматтар = а;

new1-> next = NULL;

new1-> prev = NULL;

if (top == NULL)

{

top = new1;

temp = top;

}

башка

{

temp-> next = new1;

new1-> prev = temp;

темп = жаңы1;

}

кайтуу чокусу;

}

Андан кийин, "жалын" сабын мүнөздүү түрдө кош байланышкан тизмеге киргизиңиз.

жараксыз текшерүү (int j) {

int count1, байрак = 0;

үчүн (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

6 -кадам: Отту ойнотуу үчүн код

Жалындарды ойнотуу үчүн код
Жалындарды ойнотуу үчүн код

жараксыз текшерүү (int j)

{

int count1, байрак = 0;

үчүн (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

түйүн *cur = top, *prev1;

temp-> next = top;

top-> prev = temp;

учурда (1)

{

count1 = 1;

жатканда (count1 <j)

{

cur = cur-> кийинки;

count1 ++;

}

түйүн *temp1 = cur;

prev1 = cur-> prev;

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

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

temp1-> кийинки = NULL;

бекер (temp1);

cur = prev1-> next;

түйүн *тест = cur;

эгер (тест-> маалыматтар == тест-> кийинки-> маалыматтар)

тыныгуу;

}

}

биз уникалдуу белгилердин санына ылайык "жалын" сабы болгон тегерек тизмени иштетишибиз керек. Андан кийин биз "жалын" санагына дал келген мүнөздү алып салышыбыз керек. Бул коддун үзүндүсүндө эки эселенген тизменин колдонулушун түшүнүшүбүз керек. Белгилүү бир мүнөздү алып салууга көп жардам берет. Ал үзгүлтүксүз жок кылат. Ошол эле каармандар кайталанган шартка жеткенге чейин.

if (test-> data == test-> next-> data) бузуу;

7 -кадам: Жыйынтыгын айт

которуштуруу (cur-> маалыматтар)

{

case 'f': cout << "DOSTLAR &&";

тыныгуу;

case 'l': cout << "LOVE <3";

тыныгуу;

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

тыныгуу;

case 'm': cout << "НИКЕ:)";

тыныгуу;

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

тыныгуу;

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

тыныгуу; }

Бул которуу билдирүүсүн колдонуңуз, акыркы натыйжа башка бардык белгилерди санакка ылайык алып салгандан кийин калат.

Эми сиз жөн эле ысымдарды киргизүү менен отту оңой ойной аласыз, бул тамаша. Бул оюнду досуңуздун атын колдонуп ойноңуз жана аларды ачуулантыңыз LOL. Рахмат.

8 -кадам: Жалындар үчүн код

FLAMES үчүн толук код бул жерде жеткиликтүү, github.com/naveeen684/Flames-code-using-C-/tree/master