c de okey programı yapma

secil88

New member
Katılım
10 Ara 2008
Mesajlar
1
Reaction score
0
Puanları
0
arkadaşlar hocamız c de okey programlamayı proje olarak verdi fakat şuana kadar gördüğümüz bilgilerle yapamayacağımızı söylüyor araştırmamız gerekiyormuş nasıl ve nerde araştırabilirim yapmam mümkün mü
 
Öncelikle türkçe kaynaklardan araştırmalar yaparak C'yi iyice öğrenmelisin. Bunun için hackhell'i ve C öğretmek için yapılmış site ve programları kullanabilirsin (Türkçe kaynak kitapları pek önermem, en azından benim işime yaramadılar :) ). Sonra elde ettiğin bilgilerle basit birkaç program yazmalısın (hesap makinesi, bilgisayarın rastgele seçtiği bir sayıyı tahmin etme oyunu gibi). Sonra (yaklaşık 2 ay geçmiş olacak) okey programını fazla zorlanmadan yazabilirsin.


Örnek kaynak:

Gaziantep Üniversitesi tarafından yapılmış güzel bir site. 21 adımda C'yi ince ayrıntılarıyla öğretiyor.
www1gantep.edu.tr/~bingul/c/index.php?ders=1 (www1 'den sonra nokta koymalısın)

Eğer 21 günlük vaktin varsa, her adıma 1 gün ayırmak suretiyle bu kaynaktan çalış derim. Aksatma ve hızlıca sonraki adımlara atlama. Çok faydasını göreceksin.
 
Aşşağıdaki program deitel kitabından bi örnek.rand fonksiyonu kullanarak rastgele sayılar üretiyor 1 den 52 ye kadar kart destesi oluşturuyor maça,sinek,kupa,karo olmak üzere ve yine onları yine rasgele dağıtıyor.Bu mantığı izleyebilirsin.Başlangıçta 4 oyuncuyada rastgele 14 er taş verirsin atarken onlar rastgele atarlar kullanıcıda kendi atmak istediğini seçer.Böle bi algoritma kurabilirsin tabi genişletip daha kullanılır hale getirmek senin elinde .Kolay gelsin...

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void shuffle( int [][ 13 ] );
void deal( const int [][ 13 ], const char *[], const char *[] );

int main()
{
const char *suit[ 4 ] =
{ "Hearts", "Diamonds", "Clubs", "Spades" };
const char *face[ 13 ] =
{ "Ace", "Deuce", "Three", "Four",
"Five", "Six", "Seven", "Eight",
"Nine", "Ten", "Jack", "Queen", "King" };
int deck[ 4 ][ 13 ] = { 0 };

srand( time( 0 ) );

shuffle( deck );
deal( deck, face, suit );

return 0;
}

void shuffle( int wDeck[][ 13 ] )
{
int row, column, card;

for ( card = 1; card <= 52; card++ ) {
do {
row = rand() % 4;
column = rand() % 13;
} while( wDeck[ row ][ column ] != 0 );

wDeck[ row ][ column ] = card;
}
}

void deal( const int wDeck[][ 13 ], const char *wFace[],
const char *wSuit[] )
{
int card, row, column;

for ( card = 1; card <= 52; card++ )

for ( row = 0; row <= 3; row++ )

for ( column = 0; column <= 12; column++ )

if ( wDeck[ row ][ column ] == card )
printf( "%5s of %-8s%c",
wFace[ column ], wSuit[ row ],
card % 2 == 0 ? '\n' : '\t' );
}
 
Geri
Üst