Game of Life! (msw logo üzerinde ^^)

Okulumuzun ilk döneminde bize öğretilen program idi msw logo. Yeni öğrenciler programlamaya giriş yapsın diye bu tip eğitim programları gösteriliyor.

Msw logo bir çizim programı denebilir, fakat kullanıcılar komut girerek çizim yapıyorlar.

logo2

Yukarıdaki üçgen (ismi turtle, eskiden hakikaten kaplumbağa şeklindeymiş ondan adı böyle =)) bizim kalemiz. Biz verdiğimiz komutlarla turtle ı hareket ettiriyor, döndürüyor ve çizim yapıyoruz. Yukarıdaki örnekte turtle karenin sol alt köşesinden başladı ve yukarı bakıyordu. fd 100 (forward 100) ile 100 pixel ileri gitti ve karenin sol kenarını çizdi. rt 90 üçgeni 90 derece saat yönünde döndürdü. Sonra gene fd 100 ile karenin üst kenarını çizdik. Yukarıdaki komutları takip ederek resimdeki şekli oluşturduk.

Kulağa komik bir program gibi gelebilir =), ama gayet geniş bir şey aslında. 3d çizim yapmaya izin veriyor mesela. İnternette araştırılırsa çok güzel çizimler sunan basit kodlar bulunabilir. Mesela bir örnek şu (tıklayarak büyük halini açın):

desen

Bu deseni ortaya çıkartan kod da şurada. Denemek için Edall a tıklayın, kodu yapıştırın, “save and exit” ile çıkın ve komut verilen yere “db 2 6” yazıp çalıştırın. Yapan arkadaş recursive in dibine vurmuş hakikaten.

Benimde yıllar sonra aklıma esti ve game of life ı msw logo üzerinde çalıştırayım dedim =D. Sonucu da burada

gameoflifemswlogo

Kaynak kodumuzda buradan alabilirsiniz.

http://www.shultays.com/gameoflifelogo.txt

Kullanmak için Edall butonuna tıklayın, açılan pencereye bu kodu yapıştırın ve “save and quit” ile pencereyi kapatın. Daha sonra komut yerine “gameoflife 16 16 100” yazarak game of life ı başlatabilirsiniz (ilk 16 değeri satır sayısı, ikinci 16 sütun ve 100 de toplam kaç generation yapılacak onun sayısı, isteğinize göre arttırıp azaltabilirsiniz)

Mswlogo yu indirebilmek için.

http://www.softronix.com/logo.html

Game of Life hakkında bilgi

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Loading Facebook Comments ...

Leave a Reply

Your email address will not be published. Required fields are marked *