Sayfalar

Menü

9 Mart 2022 Çarşamba

Wordle oyunu c programlama

 Wordle oyunu c programlama, txt dosyasından rastgele kelime seçer. txt dosyasını isteyen olursa mail olarak gönderebilirim. İyi oyunlar

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<time.h>

#include<stdbool.h>

#include <locale.h>

#define kelime_sayisi 10000

bool surec(const char* cevap, const char* tahmin )

{

int i,j;

char ipucu[6] = {'-','-','-','-','-','\0'};

bool cevapbayrak[5] = {false,false,false,false,false};

for(i=0; i<5; i++)

{

if(tahmin[i] == cevap[i])

{

ipucu[i] = 'D';

cevapbayrak[i] = true;

}

}

for(i=0; i<5l; i++)

{

if(ipucu[i] == '-')

{

for(j=0; j<5; j++)

{

if(tahmin[i] == cevap[j] && !cevapbayrak[j])

{

ipucu[i] = 'Y';

cevapbayrak[j] = true;

break;

}

}

}

}

printf("%s\n",ipucu);

return strcmp(ipucu, "DDDDD") == 0;

}

int main()

{

setlocale(LC_ALL, "Turkish");

char** kelime_listesi =calloc(kelime_sayisi, sizeof(char*));

int harf_sayisi =0,i;

char* besharfli = malloc(6*sizeof(char));

FILE* kelimedosya =fopen("words.txt","r");

while(fscanf(kelimedosya, "%s" ,besharfli) != EOF && harf_sayisi < kelime_sayisi )

{

kelime_listesi[harf_sayisi] = besharfli ;

harf_sayisi++;

besharfli = malloc(6*sizeof(char));

}

fclose(kelimedosya);

srand(time(NULL));

char* rastgelecevap = kelime_listesi[rand()%harf_sayisi];

int tahmin_sayisi = 0;

bool dogru_tahmin =false;

char* tahminet =malloc(6*sizeof(char));

while(tahmin_sayisi < 6 && !dogru_tahmin)

{

printf("5 Harfli kelime giriniz: ");

scanf("%s", tahminet);

printf("Tahmininiz: %s\n", tahminet);

tahmin_sayisi += 1;

dogru_tahmin = surec(rastgelecevap , tahminet);

}

if(dogru_tahmin)

{

printf("Basarili: %d. Tahminde Dogru cevap\n", tahmin_sayisi);

}

else

{

printf("Basarisiz Kelime: %s\n", rastgelecevap);

}

for(i=0; i< harf_sayisi; i++)

{

free(kelime_listesi[i]);

}

free(kelime_listesi);

free(besharfli);

free(tahminet);

return 0;

}



Hiç yorum yok:

Yorum Gönder

Her yorum bilgidir. Araştırmaya devam...