Oyun Projemin Yazılımı Hakkında

Başlatan Electroman, 24 Şubat 2013, 06:28:07

subram

Alıntı yapılan: Fkarizmatik - 25 Şubat 2013, 02:00:38
Vallahi bilemiyorum yorgunluktan mı neyse artık beyin iptal.Ama takip konu ilgimi çekti.Birisi başlasın mantığı kavrayayım devamı benden  :D
hocam mantık şu;
1)ilk başta ledleri sağa sola kaydıran bir devre
2)INT bacağına bir buton.
3)Butona basılınca kesme oluşcak ve o an kayan ledlerin hangisi yanıyor ona bakılacak
              A)Eğer ledler ortada ise, program başa gidecek ve tekrardan başalayacak tek fark ile; Ledlerin kaymalar arası zaman kısaltılacak
              B)Ledler ortada değil ise program Ledleri kaydırmaya devam edecek.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

z

#16
Asagidaki program calisirmi bilmem ama yapacaklarin acisindan fikir verecektir.

Zaman=100; // 100x10=1000ms 1 sn de bir ledler ilerleyecek. Zaman 16 bitlik degisken
MinZaman=20; // 20*10=200ms  en hizli ilerleme

while(1)
{
    Tusvar=0;
    for (i=0; i<Zaman;i++)
    {
        if (ButonOku()) 
           {
              Tusvar=1;
              break;
           }
        Delay(10ms);
    }
   if(Tusvar==1)
     {
        if (LedlerOrtada==1)
          {
               // Bravo zamanlaman super level atlayalim.
               if (Zaman>MinZaman) Zaman=Zaman-10; // ledlerin hizini artir
           }
        else // erken yada gec basmis
          {
              // ledleri en basa al yada ceza ver vs//
          }
     }
    LedleriIlerlet(); // Karasimsek rutini gibi bir sey
    // Ledler ortada ise LedlerOrtada=1 yapacak değilse 0 yapacak
}
   
Bu program icin olu zamani  dusunmeye gerek yok. Interrupt kullansa bu kez de ana program bos bos bekleyecek.

Hard Reset tusu ile oyunu cok basitce basa alabilirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com