İki çocuğum aşağıdaki oyuncakla oynamayı sever:
İçinde şekilleri olan renkli alanlara dokunabilir ve kaplumbağa alanı aydınlatır ve bir ses çalar veya içindeki rengin veya şeklin adını söyler. Ortadaki düğme modu değiştirir. Bir dokunuşla, alanların dokunulduğunda farklı müzik notaları çaldığı bir mod vardır: çocuk saat yönünde üç ardışık alana dokunursa, özel bir melodi 1 çalınır. Dokunan ardışık üç alan saat yönünün tersine yerleştirilirse, özel bir melodi 2 çalınır.
Meydan okuma
Oyuncağın iç mantığını simüle edelim. Çocuğun 3 kez basıldığı bir dize verildiğinde, üç baskı birbirini takip eden alanlar içinse (saat yönünde veya saat yönünün tersine) iki farklı, tutarlı değer ve eğer değilse üçüncü bir farklı değer döndürün.
ayrıntılar
- Girdi alanları, her biri bir karakterle adlandırılacak ve bu karakterlerin rengi olabilir:
ROYGBkırmızı, turuncu, sarı, yeşil ve mavi için; veya şekilleri:HSRTCkalp, kare, yıldız (R), üçgen ve daire için. Durum önemli değil, sadece büyük veya küçük harflerle giriş ve çıkışla çalışmayı seçebilirsiniz. - Program üç basışla bir dize (veya char dizisi veya eşdeğeri bir şey) alacaktır. (Renkleri kullanarak) Örnekler:
RBO,GYO,BBR,YRG,YGB,ORB... - Program, üç olası sonucu temsil etmek için üç ayrı, tutarlı değer üretir: kombinasyon özel bir melodiyi tetiklemezse bir ilk değer, kombinasyon saat yönünde özel melodiyi tetiklerse ikinci bir değer ve kombinasyon, saat yönünün tersine özel melodi. Örnek:
0özel bir kombinasyon1için, saat yönünde bir kombinasyon-1tarafından tetiklenen melodi ve saat yönünün tersine bir kombinasyon tarafından tetiklenen melodi için. - Yanlış girişleri ele alma konusunda endişelenmenize gerek yoktur.
Test senaryoları
Input Output // Input based on colors
--------------
RBO 0 // No special combination
GYO -1 // Counterclockwise melody triggered
BBR 0 // No special combination
YRG 0 // No special combination
YGB 1 // Clockwise melody triggered
ORB -1 // Counterclockwise melody triggered
OOO 0 // No special combination
BRO 1 // Clockwise melody triggered
Bu kod golf , bu yüzden her dil için en kısa kod kazanabilir!

[0,0],[1,0],[0,1]çıktı olarak izin? Mathematica cevabının bunu yaptığını görüyorum ve 05AB1E cevabına 3 bayt kazandıracaktı.