İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
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
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
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