logo

Geri git   Film indir, Dizi indir, Oyun indir, Mp3 indir, Program indir » Bilişim » Programlar ( Software )
Kayıt ol Yardım Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et

Programlar ( Software ) Programlar Hakkında Herşey

Cevapla
 
Seçenekler Arama Stil
Alt 01-19-2009, 23:02   #1
RSS BiRKaN
Yeni Oyuncu
 
RSS BiRKaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Jan 2009
Mesajlar: 0
Tesekkür: 0
30 Mesajina 37 Tesekkür Aldi
RSS BiRKaN is a name known to allRSS BiRKaN is a name known to allRSS BiRKaN is a name known to allRSS BiRKaN is a name known to allRSS BiRKaN is a name known to allRSS BiRKaN is a name known to all
Standart Memory-oyunu



#include #include #include #define FALSE 0#define TRUE 1#define REMOVED 10voidswap(char *a, char *b){ char t = *a; *a = *b; *b = t;}void init(char field[], int *pairsLeft, int *player){ int i, random; srand((unsigned int) time(NULL)); for (i = 0; i < 10; ++i) { field[2*i] = field[2*i+1] = i; } for (i = 0; i < 20; ++i) { random = (int) ((20.0 - i) * (rand() / (RAND_MAX + 1.0))); swap(field + i, field + i + random); } *pairsLeft = 10; *player = 0;}voiddisplayField(char field[], int turned, int turnedIndex[]){ int turnThis = FALSE; int i, j, k; for (i = 0; i < 6; ++i) { printf("\n\n\n\n\n\n\n\n\n\n"); } printf(" 0 1 2 3 4\n"); printf(" +---+---+---+---+---+\n"); for (i = 0; i < 4; ++i) { printf(" %d |", i); for (j = 0; j < 5; ++j) { if (*field != REMOVED) { turnThis = FALSE; for (k = 0; k < turned; ++k) { if ((i == turnedIndex[2*k]) && (j == turnedIndex[2*k+1])) { turnThis = TRUE; break; } } if (turnThis == TRUE) { printf(" %d |", *field); } else { printf(" # |"); } } else { } ++field; } printf("\n"); printf(" +---+---+---+---+---+\n"); } printf("\n");}int isMoveOk(int row, int col, int read, char field[], int turned, int turnedIndex[]) { int i; if (read != 2) { scanf("%*s"); printf("Bitte Geben Sie zwei Zahlen wie \"1,2\"\n"); return FALSE; } if ((row < 0) || (row > 3)) { printf("Zeile ist falsch eingegeben\n"); return FALSE; } if ((col < 0) || (col > 4)) { printf("Spalte ist falsch eingegeben\n"); return FALSE; } if (field[row * 5 + col] == REMOVED) { printf("Card is already removed\n"); return FALSE; } for (i = 0; i < turned; ++i) { if ((row == turnedIndex[2*i]) && (col == turnedIndex[2*i+1])) { printf("Card is already turned\n"); return FALSE; } } return TRUE;}intisPair(char field[], int *turned, int *pairsLeft){ if (field[turned[0]*5 + turned[1]] == field[turned[2]*5 + turned[3]]) { field[turned[0]*5 + turned[1]] = field[turned[2]*5 + turned[3]] = REMOVED; (*pairsLeft)--; return TRUE; } else { return FALSE; }}intmain(void){ int pairsLeft; int player; int read; int turned[4]; int playerPairs[2] = {0, 0}; char field[20]; init(field, &pairsLeft, &player); while (pairsLeft != 0) { displayField(field, 0, NULL); printf("Spieler "); if (player == 0) { printf("1 (%d:%d)\n", playerPairs[0], playerPairs[1]); } else { printf("2 (%d:%d)\n", playerPairs[1], playerPairs[0]); } do { printf("1.Karte (Zeile,Spalte): "); read = scanf("%d , %d", turned, turned + 1); getchar(); } while (!isMoveOk(turned[0], turned[1], read, field, 0, NULL)); displayField(field, 1, turned); printf("Spieler "); if (player == 0) { printf("1 (%d:%d)\n", playerPairs[0], playerPairs[1]); } else { printf("2 (%d:%d)\n", playerPairs[1], playerPairs[0]); } do { printf("2.Karte (Zeile,Spalte): "); read = scanf("%d , %d", turned + 2, turned + 3); getchar(); } while (!isMoveOk(turned[2], turned[3], read, field, 1, turned)); displayField(field, 2, turned); if (isPair(field, turned, &pairsLeft)) { printf("GEWONNEN!\n"); getchar(); playerPairs[player]++; } else { printf("nicht gewonnen =(\n"); getchar(); if (player == 0) { player = 1; } else { player = 0; } } } if (playerPairs[0] > playerPairs[1]) { printf("Spieler 1 hat gewonnen %d : %d.\n" "Congratulations!!!\n", playerPairs[0], playerPairs[1]); } else if (playerPairs[1] > playerPairs[0]) { printf("Spieler 2 hat gewonnen %d : %d.\n" "Well done!!!\n", playerPairs[1], playerPairs[0]); } else { printf("Unendschieden.\n"); } return 0;}
Paylaş
RSS BiRKaN isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler Arama
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı

Hizli Erisim

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Ön Bellek (Cache Memory) RSS BiRKaN Programlar ( Software ) 0 01-18-2009 14:22


WEZ Format +2. Şuan Saat: 09:14.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
©2009 Telif Hakları TcDivx.Com'a Aittir.
.