İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. SDN Programlama Kafe
SDN Programlama Kafe

Codingame - Flash Oyun Oynayarak Programlama Öğrenin

Ben Kenobi04.09.20190 cevap1.283 görüntüleme
#1
Bu websitesi üzerinden kayıt olup web tarayıcı ile flash oyun oynayarak programlama öğrenebilir ve keyifli vakit geçirebilirsiniz.
C++, C, C#, Java, Python, Javascript, Bash, Clojure, Dart programlama dillerine destek veren site, oyunun görselleştirme kısmını kendi yapıp size sadece basit core algoritma kısmını bırakıyor, birtakım değişkenleri önceden set edip buna göre aksiyon almanızı istiyor. İlgili aksiyon da output stringi vererek alınabiliyor.
Her level daha zorlaşıp geçmek için daha fazla kod yazmanız gerekiyor.

Sizin için oyunu ilk bölümün C++ kodunu örnekle paylaşıyorum.

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

/*
** Bu levelda uçağın her süzülüşünde en yüksek dağı tespit edip ilk önce o dağı vurup yok etmeniz gerekiyor.
** Bu sayede süzülüş sonrası alçalan uçak dağa çarpmadan oyun tamamlanıyor.
*/

int main()
{
    // Ana oyun döngüsü
    while (true)
    {
        int index = -1; // Vurulacak dağın sırası
        int highestMountain = -1; // Süzülüş esnasındaki en yüksek dağ
     
        for (int i = 0; i < 8; ++i)
        {
            int mountainH; // Bu değişkeni size oyun veriyor ve içerisini otomatik dolduruyor, süzülüş esnasında belirtilen sıradaki dağın yüksekliğini temsil ediyor. Vurulan dağın yüksekliği bir sonraki ana oyun döngüsünde sıfır oluyor.
         
            /* Debug yapmak için ilgili dağın yüksekliğini konsola yazdırıp oyun esnasında öğrenebilirsiniz */
            cin >> mountainH;
            cin.ignore();
         
            if (highestMountain < mountainH)
            {
                highestMountain = mountainH;
                index = i;
            }
        }

        cout << index << endl; // Ateş edilecek dağın sırası stdout olarak çıktı veriliyor.
    }
}


https://www.codingame.com/
1567576152515.png
1567576179498.png
düzenlendi

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.