- Oyun rastgele sirayla yanan ledlerin hangi sira ile yandigini programa girmek uzerine kurulu.
- Oyunda tur/level mantigi var. Ledler yaniyor, sirasi giriliyor, ledler yaniyor sirasi giriliyor ... seklinde.
- Ayni anda sadece 1 led yaniyor. Birden fazla led ayni anda yanmiyor.
- Her turda, o turun sayisi kadar led yaniyor. 1. turda 1 led, 2. turda 2 led, 7. turda 7 led yaniyor.
- Led sirasi soyle belirleniyor: Onceki turdaki led sirasi + rastgele bir led.
Netten arastirdigimda curses'in aslinda cok kullanilan bir kutuphane oldugunu ve en basit konsol uygulamalari icin bile kullanilmasinin buyuk kolaylik oldugunu ogrendim. Ncurses'i kurmak icin
sudo apt-get install libncurses5-dev
komutunu girmek lazim. Daha sonra c kodunun basina #include
Ncurses kutuphanesinden kullandigim fonksiyonlarin aciklamalarini koda ekledim. Ncurses hakkinda daha ayrintili bilgiye http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ adresinden ulasilabilir. Kutuphanede tanimli sabitler ve fonksiyonlarin listesi http://www.opengroup.org/onlinepubs/007908799/xcurses/curses.h.html adresinde var.
Programi yazarken en cok zorlandigim yer, getch() fonksiyonunun klavyeden bir girdi beklemeden -1 donmesiydi. Bunu halletmek icin programda nodelay modunu kapatmak gerekiyormus. Ikinci en cok zorlandigim nokta da ekranin kaydirma modunun kapali olmasindan dolayi ekrana sigmayacak satirlarin en son satira arka arkaya yazilmasi oldu. Bu sorunu cozmek icin scroll modunu acmak gerekiyormus. Aklima takilan diger noktalari ustteki iki linkten ve manuellerden hallettim.
Program maalesef sadece linux'ta calisiyor, windowsta calismiyor. Windows'ta calisan versiyonu icin linux kodunu biraz degistirmek yeterli. Yapilmasi gereken conio.h'in eklenmesi, ncurses fonksiyonlarinin cikarilmasi, usleep fonksiyonunun degistirilmesi ve printw fonksiyonlarini printf ile degistirilmesi.
Oyun duzenegi bir onceki yazimda fotografta gosterilen duzenegin aynisi. FTDI donusturucu ve ucuna baglanmis 4 tane led.
Program koduna buradan erisilebilir.
Hiç yorum yok:
Yorum Gönder