Kodris

Studio Yardım Merkezi


Kodris Studio Yardım Merkezi'ne hoş geldiniz! Bu dokümanda cevabını bulamadığınız sorular için lütfen bizimle iletişime geçmeye çekinmeyin!

Kodris platformu iki temel bölümden oluşmaktadır. Mor kare içerisinde yer alan kodlama yapacağımız bölüm ile turuncu kare içerisinde yer alan ve kodlama sonucunda işlemlerin gerçekleştirileceği oyun sahnemiz. Bunlara ilave olarak mavi kare içerisinde yer alan bilgilendirme kısmı bulunmaktadır. Oyun sahnemiz izometrik bir platform olup küplerin birleşmesinden meydana gelmektedir. Karakterlerimizin ilerlemesi de kare kare olmaktadır. Karakterler verilen komutlarla ve istenilen kare sayısınca sahnede ilerlemektedir. Karakterin hedefe ulaşabilmesi için oyun sahnemizde karakterin hedefe ulaşacağı kare sayısını hesaplayıp kod ya da blok modundan ilgili komutları verebilirsiniz.

Görevin çözümü için gereken komutların, algoritma oluşturarak blok dizimi yardımıyla kurulmasını sağlayan moddur.

Blok modunda sahnemizin sol tarafında bulunan komut bloklarımızı kodlama alanı içerisine sürükleyip bırakarak çözüme uygun komutlarınızı oluşturabilirsiniz. Komut bloklarını oluştururken çözüme yönelik algoritma adımlarını takip etmeniz ve sıralamayı doğru şekilde yapmanız önemlidir. Hatalı kullandığınız bloğu tekrar eski yerine (ilk aldığınız kısma) sürükleyip bırakarak silebilirsiniz.

Karakterlerimize özel bloklar oluşturmak için karakterlerimizin üzerlerine tıklamanız yeterlidir. Bu sayede karakter bloğu otomatik olarak oluşacaktır. Kodris platformunda blok ve kod modu senkronize çalıştığı için siz blok modunda komut blokları oluşturduğunuzda karşılığı olan gerçek kodlar otomatik olarak oluşturulmaktadır.

Görevin çözümünü gerçek kodlama yaparken kullanılan moddur. Kod modunda kullanıcılarımız görevlerimizin çözümü için gereken komutlarımızı kendileri yazarak ya da sahnemizin sol alt kısmında bulunan komut ikonlarımıza tıklayarak oluşturmaktadırlar. Görevimizin çözümüne uygun şekilde yazılan komutalarımızı çalıştırmak için Çalıştır butonuna tıklamanız yeterlidir. Kod modundayken takıldığınız ve çözemediğiniz bir nokta olursa blok moduna geçerek görevin çözümüne yönelik algoritma adımlarından yolan çıkarak görev çözümünü yapabilir ve tekrar kod moduna geçerek blokların kod halini görebilirsiniz. Kodris platformunda kod ve blok modu senkronize çalıştığı için siz gerçek kodlama yaparken sistem karşılığı olan blok dizimi ile algoritmanızı otomatik oluşturmaktadır.

Sağ üst köşede bulunan bilgilendirme bölümünde ise hangi konuda olduğunuzu görebilir, kullanıcı adınızı görebilir ve kullanıcı detay sayfanıza ulaşabilir, yardım almak istediğinizde Yardım linkine tıklayarak yardım alabilirsiniz.

Oyun sahnesinin sağ üst köşesinde bulunan sayılar platformda hangi sahnede olduğunuzu belirtmektedir. Kodla Büyü platformunda bir sonraki sahneye geçebilmeniz için bulunduğunuz sahneyi başarılı bir şekilde tamamlamanız gerekir.  

KODRİS karakteri sayfa ilk yüklenirken size o sahnenin çözümüyle ilgili küçük ipuçları verecektir. Daha sonrasında ise sahneyle ilgili görev ve açıklamalara ulaşmak için KODRİS karakterine tıklamanız yeterli olacaktır.  

Kullanıcılarımızın sahnedeki karakterlerimizin hedeflerine ulaşması için gereken tüm komutları yazdıktan sonra görevin tamamlanmasını sağlayan butonumuzdur. Çalıştır butonumuz sayesinde kodlamada hata yoksa yazdığımız kodlar ya da oluşturduğumuz komutlar (Kod modu ya da blok modunda çalıştığınıza göre değişir.) derlenerek kodlar/bloklar satır satır çalışarak sahnemizde görevin tamamlanmasını sağlar. Çözüm başarılı ise sonraki görev sahnesine geçebilme imkânı bulursunuz. Çalıştır butonuna basıldığında eğer kodlamanızda hata varsa kodlar derlenip çalışmaya başladığından sahnede sizin de takip edebileceğiniz şekilde hatalı çalışır. Aynı durum eksik kodlama yapıldığında da geçerlidir. Çalıştır butonumuz sayesinde eksik veya hatalı kodlama yapıldığına dair bir geri dönüt alıp kodlamayı verilen ipuçlarına göre yeniden yapma imkânı bulursunuz. Verilecek ipuçları yapılan hataya göre kullanıcıyı yönlendirecek ve hangi satır yada satırlarda hata yapıldığını gösterecektir. 

Yeniden başlat butonu sayesinde sahnemizdeki komutlar ilk açıldığı hale geri dönecektir.

Ayarlar butonunu kullanılarak görev sahnelerimizin karakter seslerini, arka plan sesini ve oyun hızınızı ayarlayabilirsiniz. Arka plan sesi açılıp kapatılırken karakter sesleri azaltılıp-çoğaltılabilmektedir. Ya da tamamen kapatılabilmektedir. Ancak biz kodris platformunda çalışırken arka plan sesinin mümkün olduğunca kullanılmasını tavsiye ediyoruz. Arka plan sesimiz sayesinde kullanıcılarımız görev sahnemize ve karakterlerimize daha kolay odaklanabilmektedir. Ayarlar butonumuz altında bulunan bir diğer özelliğimiz ise oyunumuzun hızını ayarlamamızı sağlamaktadır. (1), (1.5) ve (2) şeklinde ayarlanabilen oyun hızımız sayesinde karakterlerimiz daha hızlı ya da normal şekilde hareket etmektedirler.

forward

Sahnemizde yer alan karakterlerimizin girilen sayı değeri kadar ilerlemesini sağlayan komuttur. Kodris platformumuzda karakterler kare platformda yer alan kareler üzerinde verilen kare sayısı kadar ilerler. Komutumuzun çalışabilmesi için forward() parantez içerisine ilerlenmesi istenilen miktar (kare) belirtilmelidir. Sadece bir adım ilerlemek istenildiğinde özel olarak forward(1) yazılmasına gerek yoktur. Bir kare ilerlemek için forward() yazılması yeterlidir. Görev sahnelerimizin tamamında görevlerimizin tamamlanabilmesi için kullanılması gereken forward komutu karakterimize temel hareket kabiliyetini sağladığından ilk öğrenilmesi gereken komutumuzdur.

Örnek Kullanım:

forward(5), forward(3), forward(9)

turn

Görevlerimizi tamamlarken karakterlerimizin görevin çözümüne uygun şekilde dönüş yapabilmesini sağlayan ve görevlerimizde sık kullanılan komutumuzdur. turn komutu sayesinde karakterimiz bulunduğu kare içerisinde sağa sola ya da geriye dönüş yapabilir. Kodris platformunda turn() komutu ile bir işlem yapılacağı zaman parametre kullanılması gerekmektedir. Karakterimizin sağa, sola ya da geriye dönüş yapabilmesini sağlayan parametrelerimiz komutumuzun yanında parantez içerisine yazılmalıdır. Sırasıyla sağa dönüş için right, sola dönüş için left ve geriye dönüş için back parametreleri kullanılmalıdır. Bu parametreleri blok modunda açılan kutucuktan seçebilirsiniz. Bu üç parametremiz dışında karakterlerimizin dönüş yapabilmelerini sağlamak amacıyla açı dereceleri de kullanılabilir.

Örnek Kullanım:

turn(right), turn(left), turn(back), turn(270), turn(180), turn(-90), turn(-180)

forwardUp

Bazı sahnelerimizde görevlerimizi tamamlayabilmek için karakterlerimizin bir ya da birkaç basamak yukarı çıkmaları gerekmektedir. Bu şekilde çözülmesi gereken sahnelerimizde karakterimizin sahnede bir kademe yukarı çıkmasını ve aynı zamanda bir adım da ilerlemesini sağlayan komutumuz forwardUp() komutudur. Karakterimizin birden çok basamak yukarı çıkması gerekliyse komutumuz içerisine yazacağımız parametre yardımıyla tek bir komut kullanarak çıkmak istediğimiz en üst noktaya ulaşabiliriz.

Örnek Kullanım:

forwardUp(), forwardUp(3)

forwardDown

Bazı sahnelerimizde görevlerimizi tamamlayabilmek için sahnemize göre üst kademelerde bulunan karakterlerimizin bir ya da birkaç basamak aşağı inmeleri gerekmektedir. Bu şekilde çözülmesi gereken sahnelerimizde karakterimizin sahnede bir kademe aşağı inmesini ve aynı zamanda bir adım da ilerlemesini sağlayan komutumuz forwardDown() komutudur. Karakterimizin birden çok basamak aşağı inmesi gerekliyse komutumuz içerisine yazacağımız parametre değerler yardımıyla tek bir komut kullanarak inmek istediğimiz en alt noktaya ulaşabiliriz.

Örnek Kullanım:

forwardDown(), forwardDown(2)

repeat

İngilizce tekrar etmek anlamına gelen repeat() komutu sayesinde karakterlerimize görevleri tamamlamak için tekrar etmeleri gereken işlemleri kısa yoldan yaptırabiliriz. Repeat komutumuz bir n değişkeniyle birlikte kullanılmaktadır. Buradaki n değişkenimiz karakterlerimizin işlemleri kaç kez tekrar edeceğini belirlememizi sağlamaktadır. Girilen n değeri kadar tekrarlanan işlemlerimiz sayesinde komutlarımızı kısa yoldan yazmış ve üç yıldız uygulamamıza göre en kısa ve doğru komutlarımızı oluşturmuş oluruz. Repeat komutu kullanılırken dikkat edilmesi gereken en önemli nokta tekrar etmesini istediğimiz komutlarımızın repeat komutumun hemen alt satırında ve tab tuşu kullanılarak iç taraftan başlayacak şekilde yazılmasını sağlamaktır. Kod modunda Repeat komut ikonuna tıkladığınıza yada örneğin Repeat 5: yazıp entera bastığınızda imleç otomatik bir alt satıra geçerek bir tab ilerleyecektir. Bu şekilde yazdığımız komutlarımız belirttiğimiz n miktarınca tekrar etmektedir.

Kullanım:

Örnek Kullanım:

repeat 4:
	forward()
	getCorn()

for

Karakterimizin belirli ya da değişkene bağlı yapmasını istediğimiz işlemleri birbiri ardına aynı şekilde tekrarlaması gereken durumlarda kullanılan komutumuzdur. For komutumuz sayesinde tekrarlanan işlemlerimizi aynı şekilde tekrar tekrar yazmamıza gerek kalmadan for döngüsü içerisinde bir kez yazıp tekrar etmesi gereken miktarı belirterek kısa yoldan oluşturmuş oluruz. For döngüsü komutlarımızın kısalmasını sağladığı için üç yıldız uygulamasına göre en kısa ve doğru kod yazımına ulaşmamızda da bize yardımcı olmaktadır. For döngüsü değişkenler ile birlikte kullanılabildiği için kaç kez tekrarlanması sayısal değer olarak girilmeden de komutlarımızı tekrar edebilmemize olanak sağlamaktadır. Kullanımı sırasında oluşturacağımız bir değişkenden itibaren vereceğimiz range(aralık) boyunca işlemleri tekrar etmemizi sağlamaktadır.

Kullanım:

Örnek Kullanım:

for a in range(3):
	forward()
	getBone()

if

Karakterimizin yapacaklarını bir koşula bağlamak istediğimizde kullandığımız komuttur. Bu komut sayesinde koşullu durumlar eğer anlamına gelen if komutu kullanılarak belirlenir ve karakterimiz buna göre işlemleri gerçekleştirir. Karakterimizin görev sahnelerinde yer alan iki seçenek arasında karar verebilmesini sağlayan if komutumuz ile karakterimize örneğin taze-bayat iyi-kötü arasında seçimler yaptırabiliriz.

Örnek Kullanım:

if carrot.fresh:
	getCarrot()

getCarrot

Karakterimiz sevimli tavşanın çok sevdiği havuçları toplamasını sağlayan komuttur. Bu komutumuz sayesinde karakterimiz sahnede yer alan havuçları alabilmekte ve görevlerini tamamlayabilmektedir. Komutumuzun düzgün şekilde çalışabilmesini sağlamak için karakterimizin bulunduğu konumdan itibaren gerekli komutlar verilerek havuçların bulundukları karelere kadar sırasıyla ilerlemek ve ardından getCarrot() komutumuz sayesinde havuçları toplamak gerekmektedir. getCarrot() komutumuz tavşan karakterimiz ile birlikte kullanılmaktadır.

Örnek Kullanım:

getCarrot()

getBone

Karakterimiz sevimli köpeğin çok sevdiği kemikleri toplamasını sağlayan komuttur. Bu komutumuz sayesinde karakterimiz sahnede yer alan kemikleri alabilmekte ve görevlerini tamamlayabilmektedir. Komutumuzun düzgün şekilde çalışabilmesini sağlamak için karakterimizin bulunduğu konumdan itibaren gerekli komutlar verilerek kemiklerin bulundukları karelere kadar sırasıyla ilerlemek ve ardından getBone() komutumuz sayesinde kemikleri toplamak gerekmektedir. getBone() komutumuz köpek karakterimiz ile birlikte kullanılmaktadır.

Örnek Kullanım:

getBone()

getBanana

Karakterimiz sevimli maymunun çok sevdiği muzları toplamasını sağlayan komuttur. Bu komutumuz sayesinde karakterimiz sahnede yer alan muzları alabilmekte ve görevlerini tamamlayabilmektedir. Komutumuzun düzgün şekilde çalışabilmesini sağlamak için karakterimizin bulunduğu konumdan itibaren gerekli komutlar verilerek muzların bulundukları karelere kadar sırasıyla ilerlemek ve ardından getBanana() komutumuz sayesinde muzları toplamak gerekmektedir. getBanana() komutumuz maymun karakterimiz ile birlikte kullanılmaktadır.

Örnek Kullanım:

getBanana()

getBamboo

Karakterimiz sevimli pandanın çok sevdiği bambuları toplamasını sağlayan komuttur. Bu komutumuz sayesinde karakterimiz sahnede yer alan bambuları alabilmekte ve görevlerini tamamlayabilmektedir. Komutumuzun düzgün şekilde çalışabilmesini sağlamak için karakterimizin bulunduğu konumdan itibaren gerekli komutlar verilerek bambuların bulundukları karelere kadar sırasıyla ilerlemek ve ardından getBamboo() komutumuz sayesinde bambuları toplamak gerekmektedir.getBamboo() komutumuz panda karakterimiz ile birlikte kullanılmaktadır.

Örnek Kullanım:

getBamboo()

getCorn

Karakterimiz sevimli rakunun çok sevdiği mısırları toplamasını sağlayan komuttur. Bu komutumuz sayesinde karakterimiz sahnede yer alan mısırları alabilmekte ve görevlerini tamamlayabilmektedir. Komutumuzun düzgün şekilde çalışabilmesini sağlamak için karakterimizin bulunduğu konumdan itibaren gerekli komutlar verilerek mısırların bulundukları karelere kadar sırasıyla ilerlemek ve ardından getCorn() komutumuz sayesinde mısrıları toplamak gerekmektedir. getCorn () komutumuz rakun karakterimiz ile birlikte kullanılmaktadır.

Örnek Kullanım:

getCorn()

clear

İngilizce temizlemek anlamına gelen clear() komutuyla Sahnemizde yiyeceklerimizin üzerlerini kaplayan yeşillikleri temizleyebiliriz. Bazı görev sahnelerimizde karakterlerimiz toplamak istedikleri yiyecekler üzerleri yeşilliklerle kaplanmış durumda bulunmaktadır. Bu gibi durumlarda karakterlerimizin öncelikle yeşillikle kaplı olan kareye kadar ilerlemeleri ve ardından yazacağımız clear komutu sayesinde hedeflerine ulaşmalarına yardımcı olmamız gerekmektedir. Karakterlerimiz hedeflerine ulaşmak için geçmeleri gereken engelleri clear komutu sayesinde aşabilmektedirler.

Örnek Kullanım:

clear()

Kodris platformu temel olarak öğrencilerimizin gerçek kodlama yapmasına yönelik tasarlanmıştır. Bunun içinde sahnede bulunan karakterin blokları hazır halde değil sahnede bulunan karakter üzerine tıklandığında blok ve kod modunda otomatik oluşturulmaktadır. Yardımcı karakter olan kaplumbağa örneğinde olduğu gibi sahnedeki herhangi bir turtle karakterine tıkladığınızda kaplumbağa bloğu blok modunda otomatik olarak oluşacaktır. Kod modunda ise otomatik olarak turtle yazacaktır.



Örnek Kullanım:

turtle.forward()

Kod modu içerisinde yazılan komutlarımızın sayısı arttıkça oluşturduğumuz komutların hangi amaçlarla kullanıldıklarını unutmaya ya da karıştırmaya başlayabiliriz. Bunu engellemek için yorum satırı özelliğimizi kullanabiliriz. Komutlarımız arasına ekleyebileceğimiz yorum satırlarımız komutlarımızın ne amaçla yazıldığına dair hatırlatıcı ipuçları olabilir. #(diyez) işareti ile başlayan satıra yazılan her şey komut satırı olarak yorumlanır ve komutların bozulmasına neden olmaz.

#Buraya yazdıklarımız bilgisayar tarafından komut olarak değil yorum olarak algılanır, sahnenin çalışması esnasında derlenen ve çalışan kod içerisinde yer almaz.