Minesweeper Oyunu: KOÜ Yazılım Mühendisliği Projesi
Merhaba, ben Metehan Şenyer, Kocaeli Üniversitesi Yazılım Mühendisliği öğrencisiyim. Bu proje, 2024-2025 dönemi Programlama Laboratuvarı III dersi kapsamında geliştirdiğim Minesweeper Oyunudur. Proje, C# dilinde geliştirilmiş, OOP prensiplerini temel alan bir mayın tarlası oyunudur.
🚀 Proje Hakkında
Minesweeper Oyunu, C# dilinde geliştirilmiş, OOP prensiplerini temel alan bir mayın tarlası oyunudur. Amacım, yalnızca teknik gereklilikleri yerine getirmek değil, aynı zamanda eğlenceli ve etkileyici bir oyun deneyimi sunmaktı. Proje, Visual Studio ile geliştirildi ve Windows Forms kullanılarak oyun oluşturuldu.
🎯 Projenin Temel Amaçları
- C# Programlama Dili kullanılarak OOP prensiplerinin uygulanması.
- Mayın Tarlası Algoritmaları ve oyun mekanikleri geliştirme.
- WinForms kullanılarak oyunun görsel tasarımının oluşturulması.
- Teknik özelliklere ek olarak skor sistemi, görseller ve GUI gibi detaylarla kullanıcı deneyimini zenginleştirmek.
🛠️ Kullanılan Araçlar
Proje boyunca aşağıdaki araçlar ve kaynaklardan faydalandım:
- C#: Oyun geliştirme ve OOP prensiplerinin uygulanması.
- WinForms: Oyunun görsel tasarımının oluşturulması.
- .Net: Oyunun çalıştırılması.
- Visual Studio: Kod geliştirme ortamı.
Kullanılan Araç | Tavsiye Linkler |
---|---|
C# | Microsoft |
C# | Murat Yücedağ C# Eğitim Kampı |
WinForms | Winforms C# Tutorials |
Minesweeper | Referans Oyun |
🎮 Oynanış Mekanikleri
Mekanik | Açıklama |
---|---|
Hücre Açma | Sol tık ile hücreleri açabilir, mayın olmayan hücrelerdeki sayıları görebilirsiniz. |
Bayrak Koyma | Sağ tık ile mayın olduğunu düşündüğünüz hücrelere bayrak koyabilirsiniz. |
Otomatik Açılma | Boş hücrelere tıkladığınızda çevresindeki mayınsız hücreler otomatik açılır. |
Skor Sistemi | Doğru bayrak yerleştirme ve hızlı tamamlama ile yüksek skor elde edebilirsiniz. |
📊 Teknik Detaylar
Projenin detayları aşağıdaki gibidir:
- Sınıflar: Oyunun yapısını modüler ve genişletilebilir hale getirmek için OOP prensiplerine uygun olarak tasarlandı.
- Cell, Board, Game gibi temel sınıflar yer almaktadır.
- ScoreManager ve GameState sınıfları oyun durumunu yönetir.
- Mayın Yerleştirme Algoritması:
- Oyun başlangıcında mayınlar rastgele yerleştirilir
- İlk tıklamada mayın gelmemesi sağlanır
- Her hücre için komşu mayın sayısı hesaplanır
- Oyun Mantığı:
- Flood-fill algoritması ile boş hücrelerin açılması
- Bayrak sistemi ve mayın kontrolü
- Kazanma/kaybetme durumu kontrolü
- Veri Yönetimi:
- Yüksek skorların saklanması ve sıralanması
- Oyun durumunun kaydedilmesi
- Ayarların persistant olarak tutulması
💾 İndirme ve Çalıştırma
Proje dosyalarını buradan indirip kendi bilgisayarınızda çalıştırabilirsiniz:
Geliştiriciler için
git clone https://github.com/metehansenyer/KOU-YZM209-CSGameProject-Minesweeper.git
Proje WinForms kullanması sebebiyle sadece Windows platformunda çalışmaktadır.
🎥 Oynanış Videosu
Oynanış videosunu buradan izleyebilirsiniz.
🤝 Teşekkürler
Zor şartlar altındaki proje sunumumdaki yardımlarından dolayı Kocaeli Üniversitesi Yazılım Mühendisliği Bölümü'den Araştırma Görevlisi Melike Bektaş Kösesoy ve Araştırma Görevlisi Şevval Şolpan hocama teşekkürlerimi arz ederim.
🌟 Benimle İletişime Geçin
Eğer bu proje ilginizi çektiyse ve benimle iletişime geçmek isterseniz, aşağıdaki bağlantıları kullanabilirsiniz:
- Email: mthansnyr@gmail.com
- LinkedIn: @metehansenyer
Oyun geliştirme ve yazılım projeleri hakkında her zaman sohbet etmeye açığım!