İçindekiler:

C++ Kullanan ALEVLER: 8 Adım
C++ Kullanan ALEVLER: 8 Adım

Video: C++ Kullanan ALEVLER: 8 Adım

Video: C++ Kullanan ALEVLER: 8 Adım
Video: ARTIK HERKES HACKER OLACAK w/@orkunisitmak 2024, Temmuz
Anonim
C++ Kullanan ALEVLER
C++ Kullanan ALEVLER
C++ Kullanan ALEVLER
C++ Kullanan ALEVLER

Merhaba arkadaşlar, Alevler oyununu hepimiz biliyoruz. Lol, çocukluğumuzu daha mutlu eden en komik oyunlardan biri. Bu derste, C++ dilini kullanarak bir alev programının nasıl kodlanacağını göreceğiz.

Adım 1: Kullanılan Kavramlar

Kullanılan Kavramlar
Kullanılan Kavramlar

Burada Dairesel çift bağlantılı listeyi kullandım.

Adım 2: Ana İşlev

int ana()

{

dize adı1, ad2;

int n1, n2; cout<<"İSİM GİRİN:"; getline(cin, isim1); cout<<"İKİNCİ ADI GİRİN:"; getline(cin, isim2);

}

İlk olarak, boşluklu iki ismi almamız gerekiyor, bu yüzden boşluklu dizgiyi almak için getline() işlevini kullanıyorum.

Adım 3: Özel Karakterler Nasıl Atlanır?

void emit(string &a)

{

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

{

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

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

Başka

a='0';

}

}

Şimdi &, $, ' ' …vb. gibi özel karakterleri kaldırmamız gerekiyor. Bu işlevi kullanarak alfabe dışındaki tüm karakterleri kaldırdık. Burada çıkarmak yerine '0' ile değiştiriyorum.

Adım 4: Aynı Karakterleri Kaldırma

for(i=0;ad1!='\0';i++)

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

if((isim1==isim2[j] || isim1==isim2[j]+32))

{

isim1='0';

name2[j]='0';

kırmak;

}

Alevler oyununun ilk adımı, iki isimde bulunan aynı karakterleri kaldırmamız gerekiyor. Bu kod parçacığı, aynı karakterleri '0' ile değiştirmemize yardımcı olur ve hem büyük hem de küçük harf içermesine rağmen iyi çalışır. break ifadesi, yinelenen karakterlerin kaldırılmasını önlememize yardımcı olur.

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

if(isim1!='0')

j++;

for(i=0;ad2!='\0';i++)

if(isim2!='0')

j++;

if(j==0) cout<<"ALEVİ YOK";

Burada, her iki isimde de mevcut olan tüm '0'ları kaldırıyoruz. Bu nedenle, nihayet, hepsi aynı, karakterler kaldırılır. Daha sonra j, aynı karakterler çıkarıldıktan sonra her iki isimde de bulunan harflerin sayısı olacak şekilde artırılır. Şimdi en az bir karakter içerip içermediğini kontrol etmemiz gerekiyor. Kodu verimli hale getirmek için, benzersiz karakterler içermiyorsa alev oyununu oynamanın mümkün olmadığını söylememiz gerekiyor.

Adım 5: Dairesel Çift Bağlantılı Liste Oluşturma

string a="alevler";

İlk olarak, "alevler" içeren global bir dize oluşturun.

typedef yapı düğümü{

karakter verileri;

düğüm *sonraki, *önceki;

}düğüm;

düğüm *üst=NULL, *temp;

Şimdi, bir karakter verisi, sonraki adres işaretçisi ve önceki adres işaretçisini içeren bir yapı oluşturun.

Ardından, bağlantılı listenin en üstüne işaret eden bir işaretçi oluşturun.

düğüm* ins(char a){

düğüm *yeni1;

yeni1=yeni düğüm;

yeni1->veri=a;

yeni1->sonraki=BOŞ;

yeni1->önceki=NULL;

if(üst==NULL)

{

üst=yeni1;

sıcaklık=üst;

}

Başka

{

temp->sonraki=yeni1;

yeni1->önceki=temp;

sıcaklık=yeni1;

}

üst dönüş;

}

Ardından, "alevler" dizisini çift bağlantılı listeye karakter bazında ekleyin.

geçersiz kontrol(int j){

int sayı1, bayrak=0;

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

top=ins(a);

}

6. Adım: Alevleri Oynamak için Kod

Alevleri Oynamak için Kod
Alevleri Oynamak için Kod

geçersiz kontrol(int j)

{

int sayı1, bayrak=0;

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

top=ins(a);

düğüm *cur=üst, *önceki1;

sıcaklık->sonraki=üst;

üst->önceki=temp;

süre(1)

{

say1=1;

süre(say1<j)

{

cur=cur->sonraki;

say1++;

}

düğüm *temp1=cur;

önceki1=kur->önceki;

cur->prev->sonraki=cur->sonraki;

cur->sonraki->prev=cur->önceki;

temp1->sonraki=NULL;

ücretsiz(temp1);

cur=prev1->sonraki;

düğüm *test=cur;

if(test->data==test->sonraki->veri)

kırmak;

}

}

"alevler" dizisi olan dairesel listeyi benzersiz karakter sayısına göre çalıştırmamız gerekiyor. Daha sonra sayı ile örtüşen "alevler" içindeki karakteri çıkarmamız gerekiyor. Bu kod parçacığında çift bağlantılı bir liste kullanımının farkına varmalıyız. Belirli bir karakteri kaldırmak için çok yardımcı olur. Sürekli kaldırır. Aynı karakterlerin tekrar tekrar gelmesi şartına ulaşana kadar.

if(test->data==test->sonraki->veri) sonu;

7. Adım: Sonucu Anlatın

switch(cur->veri)

{

case 'f':cout<<"Arkadaşlar&&";

kırmak;

case 'l':cout<<"AŞK<3";

kırmak;

case 'a':cout<<"SEVGİ$";

kırmak;

case 'm':cout<<"EVLİLİK:)";

kırmak;

case 'e':cout<<"DÜŞMAN:(";

kırmak;

case 's':cout<<"KARDEŞ";

kırmak; }

Sayıya göre diğer tüm karakterleri çıkardıktan sonra kalan son karakter olan nihai sonucu söylemek için bu switch ifadesini kullanın.

Artık sadece isimleri girerek alevleri kolayca oynayabilirsiniz, çok komik. Bu oyunu arkadaşlarınızın isimlerini kullanarak oynayın ve onları LOL'ye kızdırın. Teşekkürler.

Adım 8: Alev Kodu

FLAMES için tam kod burada mevcuttur, github.com/naveeen684/Flames-code-using-C-/tree/master