Skip to content

BerfinSemiz/memory_game

Repository files navigation

🎮 İki Kişilik Hafıza Oyunu (Memory Game)

C# Windows Forms ile geliştirilmiş iki kişilik hafıza oyunu. Oyuncular sırayla kartları açarak eşleşen çiftleri bulmaya çalışır.

🎯 Oyun Özellikleri

  • 40 kart (20 çift resim)
  • 5x8 grid düzeni
  • İki kişilik oyun
  • 5 saniye başlangıç gösterimi
  • Skor sistemi
  • Timer'lar (hamle süresi, eşleşme kontrolü)
  • Yeniden başlat özelliği

🖼️ Kullanılan Resimler

Oyun 20 farklı resim kullanır (her biri 2 adet). Desteklenen resim formatları: PNG, JPG, JPEG, GIF, BMP, TIFF, WEBP

🍎 Meyveler

  • apple - Elma
  • orange - Portakal
  • lemon - Limon
  • grape - Üzüm
  • pineapple - Ananas
  • watermelon - Karpuz

🐾 Hayvanlar

  • dog - Köpek
  • kitty - Kedi
  • elephant - Fil
  • giraffe - Zürafa
  • fish - Balık
  • lion - Aslan
  • rabbit - Tavşan

🌟 Nesneler ve Semboller

  • star - Yıldız
  • sun - Güneş
  • full-moon - Dolunay
  • angry-birds - Kızgın kuşlar
  • birthday-cake - Doğum günü pastası
  • ice-cream - Dondurma
  • leonardo - Leonardo

🎮 Oyun Kuralları

  1. Başlangıç: Kartlar 5 saniye açık gösterilir
  2. Sıra: Oyuncu 1 başlar
  3. Hamle: Her oyuncu 2 kart seçer
  4. Eşleşme:
    • Eşleşirse: Puan alır, kartlar açık kalır, aynı oyuncu devam eder
    • Eşleşmezse: Kartlar kapanır, sıra diğer oyuncuya geçer
  5. Süre: İkinci kart seçimi için 5 saniye süre
  6. Bitiş: Tüm çiftler bulunur veya bir oyuncu 11 çift bulur

🚀 Kurulum ve Çalıştırma

Gereksinimler

  • .NET 8.0 SDK veya üzeri
  • Windows işletim sistemi

Adımlar

  1. Projeyi klonlayın:

    git clone https://github.com/BerfinSemiz/memory-game.git
    cd memory-game
  2. Projeyi derleyin:

    dotnet build
  3. Oyunu çalıştırın:

    dotnet run

Visual Studio ile

  1. memory_game.sln dosyasını Visual Studio'da açın
  2. F5 tuşuna basarak çalıştırın

📁 Proje Yapısı

memory_game/
├── Form1.cs              # Ana oyun kodu
├── Form1.Designer.cs     # Form tasarımı
├── Program.cs            # Uygulama girişi
├── memory_game.csproj    # Proje dosyası
├── README.md             # Bu dosya
├── Images/               # Resim klasörü
│   ├── apple.png
│   ├── orange.png
│   └── ... (20 resim)
└── .gitignore           # Git ignore dosyası

🔧 Teknik Detaylar

Kullanılan Teknolojiler

  • C# (.NET 8.0)
  • Windows Forms
  • System.Drawing (resim işleme)
  • System.Windows.Forms.Timer (zamanlama)

Ana Sınıflar ve Metodlar

  • Form1: Ana form sınıfı
  • CreateCards(): Kartları oluşturur
  • ShuffleCards(): Kartları karıştırır
  • ShowAllCards(): Tüm kartları gösterir
  • HideAllCards(): Kartları gizler
  • CheckMatch(): Eşleşme kontrolü
  • StartNewGame(): Yeni oyun başlatır

🎨 Özelleştirme

Yeni Resim Ekleme

  1. Resmi Images/ klasörüne ekleyin
  2. Dosya adını yukarıdaki listedeki isimlerle aynı yapın (uzantı olmadan)
  3. Form1.cs dosyasındaki imageNames dizisine ekleyin
  4. Projeyi yeniden derleyin

Desteklenen Resim Formatları

  • PNG (.png) - Önerilen format
  • JPEG (.jpg, .jpeg) - Sıkıştırılmış format
  • GIF (.gif) - Animasyonlu format
  • BMP (.bmp) - Bitmap format
  • TIFF (.tiff) - Yüksek kalite format
  • WebP (.webp) - Modern web format

Resim Önerileri

  • Boyut: 80x80 piksel (otomatik ölçeklenir)
  • Format: PNG önerilir (şeffaflık desteği)
  • Kalite: Net ve okunabilir olmalı
  • Dosya Adı: Sadece harf, rakam ve tire kullanın

Oyun Ayarları

  • Kart sayısı: CreateCards() metodunda değiştirin
  • Süreler: Timer ayarlarını değiştirin
  • Grid boyutu: CreateUIControls() metodunda ayarlayın

🐛 Sorun Giderme

Resimler Görünmüyor

  • Images/ klasörünün proje dizininde olduğundan emin olun
  • Resim dosya isimlerinin kodda yazılanlarla aynı olduğunu kontrol edin (uzantı olmadan)
  • Desteklenen formatlardan birini kullandığınızdan emin olun (.png, .jpg, .jpeg, .gif, .bmp, .tiff, .webp)
  • Dosya adında özel karakter kullanmadığınızdan emin olun

Derleme Hatası

  • .NET 8.0 SDK'nın yüklü olduğundan emin olun
  • Visual Studio'yu yeniden başlatın

About

Hafıza Oyunu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages