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...