Wordle Turkce c programlama
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>
char kelimeler[][5] = {"EKMEK","ARMUT","AHMET","HASAN","VARİL","KALEM","TAHTA","ADANA","TARIK","HAYAT" } ;
char kelime[5], tahmin[5], bilinenHarfler[5]={'-','-','-','-', '-' }, tablo[6][5] ;
static int index;
void kelimeUret()
{
srand(time(0)) ;
int indis= rand()%10 ;
char *ptr= kelimeler[indis];
int i=0;
while (i<5 )
{
kelime[i++]=*ptr;
ptr++;
}
index=0;
}
int tabloyaYerlestir( char *ptr )
{
int i, sonuc=1;
for( i=0; i<5; i++ )
{
if( kelime[i] != *ptr )
{
sonuc=0;
bilinenHarfler[i]= '-';
}
else
bilinenHarfler[i]=*ptr;
tablo[index][i]= *ptr;
ptr++;
}
index++;
return sonuc;
}
void tabloYazdir ()
{
system("cls") ;
int i,j;
printf("\n\n\t\t\t WORDLE TR \n\n") ;
for ( i =0; i<6; i++ )
{
printf("\t\t") ;
for(j=0; j<5; j++ )
{
printf(" [ %c ] ", tablo[i][j] ) ;
}
printf("\n\n") ;
}
//bilinen harfleri yeşil renkte gösteriyoruz
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
printf("\tBilenen harfler : %s \n\n", bilinenHarfler ) ;
SetConsoleTextAttribute(hConsole, FOREGROUND_INTENSITY );
}
int main ()
{
kelimeUret() ;
printf("Aranan kelime : %s \n", kelime ) ;
int sayac=0, sonuc ;
tabloYazdir();
while( sayac<6 )
{
printf("Tahmin : ") ; scanf(" %[^\n]s", tahmin ) ;
strupr(tahmin) ;
sonuc= tabloyaYerlestir(tahmin );
tabloYazdir();
if( sonuc ==1 )
break;
sayac++;
}
if(sonuc==0 )
{
printf("\nMALESEF BILEMEDINIZ ! \n\n" ) ;
printf("Aranan Kelime : %s \n", kelime ) ;
}
else
{
printf("\nTEBRIKLER BILDINIZ \n" ) ;
printf("Kelimemiz : %s \n", kelime ) ;
}
return 0;
}
Güzel olmuş, aklınıza sağlık, üzerinde ufak bir değişiklik umarım beğenirsiniz...
YanıtlaSil#include
#include
#include
#include
#include
char kelimeler[][5]= {"AHMET", "HASAN", "MESUT", "EKMEK", "SIFIR", "TARIK", "FATMA", "ARMUT", "LEYLA", "BEYZA" } ;
char kelime[5], tahmin[5], tablo[6][5], bilinenHarfler[5] = {'-','-','-','-','-'} ;
static int indis, index;
void kelimeUret()
{
srand (time(0)) ;
indis= rand() %10;
int i=0;
while( i<5 )
{
kelime[i] = kelimeler[indis][i];
i++;
}
index=0;
}
void yesil()
{
HANDLE renk = GetStdHandle(STD_OUTPUT_HANDLE ) ;
SetConsoleTextAttribute( renk, FOREGROUND_GREEN ) ;
}
void normal ()
{
HANDLE renk = GetStdHandle(STD_OUTPUT_HANDLE ) ;
SetConsoleTextAttribute( renk, FOREGROUND_INTENSITY );
}
int tabloDoldur()
{
int sonuc=1;
int i ;
for( i=0; i<5; i++ )
{
if( kelime[i] != tahmin[i] )
{
sonuc=0;
bilinenHarfler[i]='-';
}
else
bilinenHarfler[i]= tahmin[i];
tablo[index][i]= tahmin[i];
}
index++;
return sonuc;
}
void tabloYazdir ()
{
int i,j;
printf("\n\n\t\t\t WORDLE TR \n\n") ;
for ( i =0; i<6; i++ )
{
printf("\t\t") ;
for(j=0; j<5; j++ )
{
if( i==index -1 )
if( kelime[j] == tahmin[j] )
yesil();
printf(" [ %c ] ", tablo[i][j] ) ;
normal();
}
printf("\n\n") ;
}
yesil();
normal();
}
int main( )
{
int sayac=0, n, sonuc;
kelimeUret() ;
tabloYazdir() ;
while( sayac < 6 )
{
printf("\nTahmininiz : ") ; scanf(" %[^\n]s", tahmin ) ;
strupr(tahmin) ;
n= strlen(tahmin);
if(n!=5)
{
printf("Tahmininiz 5 harflik kelimelerden olsun ! \n") ;
continue ;
}
sonuc= tabloDoldur();
tabloYazdir();
if( sonuc==1 )
break;
sayac++;
}
if( sonuc ==1)
{
printf("\nTebrikler Bildiniz. \n") ;
printf("Gunun Kelimesi : " );
yesil();
printf("%s", kelime ) ;
normal();
}
else
{
printf("\nMalesef Bilemediniz ! \n") ;
printf("Gunun Kelimesi : " );
yesil();
printf("%s", kelime ) ;
normal();
}
return 0;
}
Degisiklik icin Teşekkurler kardesim.
Sil