Jump to page: 1 2 3
Thread overview
Program fikri: "Kutuyu kapa" oyunu
Jan 18, 2012
yavuzgunay
Feb 05, 2012
Salih Dinçer
Aug 22, 2012
Salih Dinçer
Aug 23, 2012
Salih Dinçer
Aug 23, 2012
erdem
Aug 23, 2012
Salih Dinçer
Aug 23, 2012
erdem
Aug 23, 2012
Salih Dinçer
Aug 23, 2012
Salih Dinçer
Aug 23, 2012
Salih Dinçer
Aug 23, 2012
Salih Dinçer
Aug 23, 2012
erdem
December 06, 2011

Bu oyunu yeni öğrendim, Türkçesini bilmiyorum, ve hiç oynamadım. :) İngilizce isimleriden birisi "shut the box".

Kurallar çok basit:

Bütün oyuncuların 1'den 9'a kadar sayıları var. Sayılar açık; herkes görüyor. Amaç bütün sayıları kapatmak. (Oyunun eski asıllarında sayılar galiba tahta parçalarla kapatılıyormuş. Kağıtta üzerlerine çarpı işareti de koyulabilir tabii ki.)

Oyuncu iki zar atıyor. Zarların değerleri toplanıyor. Oyuncu, toplamları zarların toplamına denk gelen sayılar seçiyor ve onları kapatıyor. Örneğin 2 ve 3 gelmişse, toplamları 5 olduğu için toplamları 5 olan sayılar kapatıyor: 1 ve 4 olabilir, veya 2 ve 3 olabilir, veya yalnızca 5 olabilir. Oyuncu isterse tek zarın değerini de kullanabiliyor. (Zarların toplamı 6 ve daha yüksekse ve 6 ve daha yüksek sayılar zaten kapanmışlarsa zaten başka yolu yok.)

Atılan zara karşılık sayı kapatamayan oyuncunun oyunu sona eriyor. Doğru anladıysam, hep aynı oyuncu zar atıyor ve ancak onun işi bitince diğer oyuncuya geçiliyor. Her oyuncu kapattığı sayı adedi kadar puan alıyor. (Oyunun başka puanlama çeşitleri de varmış.)

Bilgiler şurada:

http://en.wikipedia.org/wiki/Shut_the_Box

Program fikri olarak kolaya benziyor.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 18, 2012

değişik bir oyunmuş.

madem oyun yapımından açıldı konu, d dilinde directx kullanma imkanı var mı ? çok fazla okumadım d nin yapabildiklerini ama sanırım c++ başlık dosyalarını okuyabiliyormuş, yani directx çok rahat entegre edilebilir ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 18, 2012

Hoşgeldin yavuzgunay! :)

D ile directx hiç duymadım. Şimdilik durum şu:

  • D programları C kütüphanelerini ile aynen bağlanabiliyor. Ancak, C başlıklarını ekleme olmadığı için o başlıkların D ilintilerinin (D binding) yazılmış olmaları gerekiyor. İlinti yazmak kolay: otomatize edilebiliyor ama sonradan bir insanın mutlaka üzerlerinden geçmesi gerekiyor; çünkü örneğin C ile D dizileri aynı değiller. Parametre olarak dizi alan C işlevlerine D dizileri oldukları gibi gönderilemiyorlar. Pek bir zorluk yok.

  • Yukarıda anlatılan C++ başlıkları için de geçerli ama bir kısıtlama var: D çoklu kalıtımı desteklemediği için ve D'nin şablonları C++'ınkilerden çok daha güçlü olduğu için çoklu kalıtım ve şablon kullanan C++ işlevleri ve sınıfları için D ilintisi yazılamıyor. Bu durumun düzeltilmesi konusunda baskılar var; belki bu kısıntı da giderilir.

Oyun programcılığı için SDL var. Görsel olarak da GtkD ve QtD. Yarım ;) kitaplarımız şurada:

http://ddili.org/ders/index.html

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 05, 2012

Hoş geldiniz, Yavuz Bey...

SDL henüz bugün ilgimi çekmeyi başardı hatta az önce apt-get komutunu verdim bile...:)

Directx ise sanırım Windows platformu için olsa gerek. Scene camiasında çok güzel şeyler yaptıklarını gördüm. En son şu 4 KB.'lık müziği ve kurduğu sanal 3B gezegen atmosferi ile büyüleyici iş başarmışlar:

http://ddili.org/forum/unb_lib/designs/modern/img/arrow_right.pnghttp://scene.org/file.php?file=/parties/2009/breakpoint09/in4k/rgba_tbc_elevated.zip&fileinfo

Bir öneri (soru) ben dillendirmek isterim. Bu belki bir oyun değil ama zihni çalıştıran ve ortaya çıkan sonuç ile şaşırtan güzel bir beyin oyunu sayılabilir. Aslında çözmek için kod yazmak veya çizelge oluşturmak gerekiyor. Çünkü sonuç gerçekten büyük (neredeyse googol sabiti kadar!) bir sayı. Soruyu türeten Ali Ağabey'in adaşı Ali Eskici:

Alıntı (Ali Eskici):

>

40 adet kutunun her birinin içinde 39 kutu,
Bu 39 kutunun her birinin içinde 38 kutu,
Bu 38 kutunun her birinin içinde 37 kutu,
...
Bu 3 kutunun her birinin içinde 2 kutu,
Bu 2 kutunun her birinin içinde 1 kutu bulunmaktadır.

Buna göre toplam kutu sayısı nedir?

Not: Dikkatli düşünün, cevap sandığınızdan çok farklı olabilir.

Kaynak: http://aliesoft.com/blog/?cat=3

Çözümü yanlış bulunmuş çünkü geçenlerde bunu Zeka Oyunları, Facebook grubunda (http://www.facebook.com/groups/289774691074372/) tartışmıştık. Yani sitede an itibariyle yazdığı gibi sonuç "2.217.887.688.014.780*10^33" değil. Ama doğru cevabın x E+94 basamaklı olduğunu, 41. kutuda ise kendisi dahil toplam 6,22199762820005E+97 kutu içerdiğini söyleyebilirim!

Denklemi ise çok basit ama bir süre zihininiz ve belki parmaklarını çalıştırmanız için değerlerin ne olduğunu yazmayacağım...:)

'xK = ((K * K1) + 1) * K2'

Başarılar...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 05, 2012

Alıntı (Salih Dinçer):

>

Bir öneri (soru) ben dillendirmek isterim.

Bunun için başka konu açtım:

http://ddili.org/forum/thread/713

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 23, 2012

Ama hocam olmaz ki!

Bunu SDL ile yapman gerek; gel seni SDL'ci yapalım...:)

Şimdi onu da sen yaparsın deme çünkü Erdem'i de kaybettik. Zannedersem Allegro saflarına geçti. Ama yakında bomba gibi şeylerle onu Allegro'dan kurtaracağım inşaallah.

Alıntı:

>

Yükleme Notları:
'svn checkout http://kutuyu-kapat.googlecode.com/svn/trunk/ kutuyu-kapat
cd kutuyu-kapat
make
./kutuyu-kapat'

Dip Not: zar_secicisi.d dosyasına "import std.string;" satırını eklemelisiniz...

Sevgiler, saygılar...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 23, 2012

Başlangıç olsun diye...:)

import sdl, std.stdio, std.random;

 enum GENİŞLİK  = 600;
 enum YÜKSEKLİK = 200;

void main(){
// var olmayan zar yüzeyi: 7
 int[][] zarlar = [ [    0,  0, 32, 0, 1, 25, 0x303030 ], // gövde
                    [  -20, -20, 8, 0, 1,  2, 0xCC0000 ], // sol üst
                    [   20,  20, 8, 0, 1,  2, 0xCC0000 ], // sağ alt
                    [  -20,  20, 8, 0, 1,  2, 0xCC0000 ], // sol alt
                    [   20, -20, 8, 0, 1,  2, 0xCC0000 ], // sağ üst
                    [  -20,   0, 8, 0, 1,  2, 0xCC0000 ], // orta sol
                    [   20,   0, 8, 0, 1,  2, 0xCC0000 ], // orta sağ
                    [    0,   0, 8, 0, 1,  2, 0xCC0000 ]  // orta
                  ];
// hepsinin dilim olduğunu (int[][]) ümit ediyorum...:)
  auto ortaNokta = zarlar[$-1][];
  auto bir = zarlar[0..1][] ~ ortaNokta;
  auto iki = zarlar[0..3][];
  auto üç = iki ~ ortaNokta;
  auto dört = zarlar[0..5][];
  auto beş = dört ~ ortaNokta;
  auto altı = zarlar[0..7][];
// foreach() için işaretçi dizisi...
  int[][]*[6] zar = [ &bir, &iki, &üç, &dört, &beş, &altı ];/*
  zar[0] = &bir; zar[1] = &iki; zar[2] = &üç;
  zar[3] = &dört; zar[4] = &beş; zar[5] = &altı; //*/

 bool DEVAM = true;
 auto PENCERE = "Kutuyu Kapa v1".ptr;

 SDL_Event event;
 SDL_Surface* ekran = SDL_SetVideoMode(GENİŞLİK, YÜKSEKLİK, 0, SDL_HWSURFACE);
 SDL_WM_SetCaption(PENCERE, PENCERE);

 int sırası;
 auto rnd = Random(unpredictableSeed);
 SDL_Surface*[zar.length] zarYüzeyleri;

 foreach(işaretçi; randomCover(zar, rnd)) {
    zarYüzeyleri[sırası] = şekilÜret(100, 100, *işaretçi);
    sırası++;
 }
 SDL_Rect konumu;
          konumu.y = 50;

 while (DEVAM) {
   foreach(konum, yüzey; zarYüzeyleri) {
     konumu.x = cast(short)(konum * 100);
     SDL_BlitSurface(yüzey, null, ekran, &konumu);
   }
   SDL_Flip(ekran);
   while (SDL_PollEvent(&event)) {
     if(event.type == SDL_KEYUP) {
       if(event.key.keysym.sym == SDLK_ESCAPE) DEVAM = false;  // ESC tuşu
     } else if(event.type == SDL_QUIT) DEVAM = false;  // ALT-F4 tuşu
   }
 }
 SDL_Quit();
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 23, 2012

Alıntı (acehreli):

>

Sende derleme hatası mı verdi, yoksa olması gerektiğini kendin mi farkettin? Bende hatasız derleniyor çünkü. (?)

Evet, bende derleme hatası verdi: DMD 2.059

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 23, 2012

Alıntı:

>

import'ların private/public konularında sorunlar mı vardı? Belki onunla da ilgilidir. Neyse; düzelmiş olmalı.

Şuralarda bahsi geçti. 2.060'ta var mı hala bilmiyorum.

http://ddili.org/forum/thread/199
ve
http://ddili.org/forum/post/6500

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 22, 2012

Son zamanlardaki MVC sohbetlerinden esinlenerek bu oyunu da kodladım:

http://code.google.com/p/kutuyu-kapat/

Eksiklikleri var ama şimdilik ilgilenmeyeceğim. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2 3