PlayPendium
About this game ↓
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026

Claw Compiler

Bir depo vincini kodla yönetin ve renkli sandıkları, özyinelemeyi zorunlu kılacak kadar dar bir komut sınırı altında yeniden istifleyin.

Nasıl oynanır

Sandık kutularını hedef yığına göre yeniden düzenlemek için vinç komutlarından (sola ve sağa hareket, tutma, bırakma ve renk koşulları) bir program oluşturun. Komut sınırı kasıtlı olarak dardır; bu yüzden tüm programınızı en baştan yeniden çalıştıran Call komutuna dayanacaksınız. Başarısız olan bir koşul, özyinelemeyi durduran temel durum olur. Tek kırmızı sandıktan altı sandıklık bir kuleye kadar elle tasarlanmış on seviye vardır ve bunların sekizi Call olmadan çözülemez.

Çözümlü bir örnek

Üçlü Kule: 1. kutuda üç kırmızı sandık var ve bunlar 2. kutuya taşınmalı; yalnızca altı komut kullanabilirsiniz. Uzun uzun yazıldığında her sandık için Grab, Right, Drop ve Left gerekir; son Left atılsa bile üç sandık için on bir komut eder. Altı yetmez.

Bu yüzden tek bir sefer yazın ve onu tekrarlatın: Grab, If-held red, Right, Drop, Left, Call. Bu altı komuttur. Vinç bir sandık tutar, tuttuğunun kırmızı olduğunu denetler, onu taşır, bırakır, geri döner ve tüm programı yeniden çağırır. Dördüncü çağrıda 1. kutu boştur, Grab hiçbir şey almaz, If-held red denetimi başarısız olur ve program durur. Başarısız olan bu denetim temel durumdur.

If-held red'i If-held blue ile değiştirin; aynı altı komut dört sandıklık seviyeyi ve altı sandıklık kuleyi de çözer, çünkü rutin sandıkları hiç saymaz; hiç sandık kalmayana kadar devam eder. Özyinelemenin özü budur: program bir adımı ve bir durma kuralını tanımlar, kaç kez çalışacağına ise girdi karar verir.

Kontroller
İpuçları ve strateji
Ne öğreneceksin

Claw Compiler, sandık istifleyen bir vinç ve katı bir hamle bütçesi aracılığıyla özyinelemeyi öğreterek zor bir fikri somut hale getirir.

Kökenler

Vinç komutları (sola ve sağa git, kavra, bırak ve renge bağlı koşullar), fiziksel bir gövdeye bağlanmış minimal bir assembly dilidir.

Küçük bir dünyadaki küçük bir robot aracılığıyla programlama öğretmek, Richard Pattis'in 1981'de bir kitapla tanıttığı ve Stanford'daki derslerinde kullandığı başlangıç dili Karel the Robot'a dayanır. Oyunlar bu fikri benimsedi: Lightbot, bir robotu labirentte programlatarak döngüleri ve prosedürleri öğretir; Claw Compiler oyununun en yakın atası ise bir robota sandık taşımayı öğrettiğiniz 2012 tarihli iPad bulmacası Cargo-Bot'tur. Two Lives Left onu, Rui Viana ile birlikte, Viana'nın stüdyonun iPad kodlama uygulaması Codea'da yaptığı prototipten geliştirdi ve tamamen iPad'de programlanmış ilk oyun olarak tanıttı.

Görev, yani sandık kutularını hedef bir yığına yeniden düzenlemek, aynı anda tam olarak tek bir şey tutabilen bir makinenin yaptığı sıralamadır. Bu tek kıskaç sınırı başlı başına bir derstir. Bir yazmacın dayattığı kısıtın aynısıdır ve gerçek sıralamanın bir şeyleri bırakacak bir yere ihtiyaç duymasının nedeni budur: yedek bir kutuya ihtiyacınız olduğunu keşfetmek, geçici depolama fikrini keşfetmektir.

Call her zaman son komut olduğu için buradaki her program kuyruk özyinelemelidir: kendini çağırma, yaptığı son iştir. Pek çok dil gerçekleştirimi bir kuyruk çağrısını en başa basit bir sıçramaya dönüştürür; bu yüzden aynı program hem özyineleme hem de döngü olarak okunabilir. İkisinin tek bir fikir olduğunu görmek, özyinelemeyi anlamanın büyük bir parçasıdır.

Claw Compiler Hakkında

Claw Compiler, PlayPendium için yapılmış orijinal ve ücretsiz bir tarayıcı oyunudur: yedi komutlu bir vinç dili, sınırları özyinelemeyi isteğe bağlı değil zorunlu kılan on seviye, herkesin paylaştığı günlük bir seviye ve diğer seviyeleri sunan bir alıştırma modu.

Tüm oyunlara göz atın →