Тема:
Базовый синтаксис
Аргументы
Условные операторы
Арифметика
Переменные
Цели:
Соберите все самоцветы.
Руководство:
Информация
Сделать конструкцию if-true для команд, которые вы хотите выполнить, и if-false для команд, которые вы не хотите выполнять.
Помните, что оператор == означает «равно?»
1 + 2 == 3 верно
3 + 3 ==5 ложно.
В Clojure оператор «равно?» выглядит как «=»
(= (1+2) 3) верно.
(= (3+3) 5) ложно.
Обзор
Этот уровень это всё операторы если. В самом деле, вы вообще не должны писать код. Ваша работа отладка.
Всё, что вам нужно сделать, это исправить if выражение так, чтобы ваш герой выполнял те действия, которые вы хотите. И не выполнял, те что вы не хотите, что бы он делал.
Блок кода внутри управляемого блока (тело ) будет выполнятся только если условие отрабатывает, как истина.
Возьмём например первый if:
1 2 |
if 1 + 1 + 1 == 3: self.moveXY(5, 15) # Идите к первой группе мин. |
JavaScript:
1 2 3 |
if(1 + 1 + 1 == 3) { this.moveXY(5, 15) # Идите к первой группе мин. } |
CoffeScript:
1 2 |
if 1 + 1 + 1 is 3 @moveXY(5, 15) # Идите к первой группе мин. |
Clojure:
1 2 |
(if (= (+ 1 1 1) 3) ;; ∆ Make this false. (.moveXY this 5 15)) ;; Идите к первой группе мин. |
LUA:
1 2 3 |
if 1 + 1 + 1 == 3 then self:moveXY(5, 15) # Move to the first mines. end |
Награда:
Бонус за чистый код:
Самоцветы или смерть, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# Команды, находящиеся в теле if-оператора, написанные ниже будут исполнятся только если условие будет выполнено. # Исправьте все if-операторы для прохождения уровня. # == значит "равно ли", т.е. сравнение. if 1 + 1 + 1 == 4: # ∆ Make this false. self.moveXY(5, 15) # Идите к первой группе мин. if 2 + 2 == 4: # ∆ Make this true. self.moveXY(15, 40) # Идите к первому самоцвету. # != значит "не равно". if 2 + 2 != 3: # ∆ Make this true. self.moveXY(25, 15) # Идите ко второму самоцвету. # < значит "меньше чем". if 2 + 2 < 5: # ∆ Make this true. enemy = self.findNearestEnemy() self.attack(enemy) if 2 < 1: # ∆ Make this false. self.moveXY(40, 55) if False: # ∆ Make this false. self.moveXY(50, 10) if True: # ∆ Make this true. self.moveXY(55, 25) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// Команды, находящиеся в теле if-оператора, написанные ниже будут исполнятся только если условие будет выполнено. // Исправьте все if-операторы для прохождения уровня. // == значит "равно ли", т.е. сравнение. if (1 + 1 + 1 == 4) { // ∆ Make this false. this.moveXY(5, 15); // Идите к первой группе мин. } if (2 + 2 == 4) { // ∆ Make this true. this.moveXY(15, 40); // Идите к первому самоцвету. } // != значит "не равно". if (2 + 2 != 3) { // ∆ Make this true. this.moveXY(25, 15); // Идите ко второму самоцвету. } // < значит "меньше чем". if (2 + 2 < 5) { // ∆ Make this true. var enemy = this.findNearestEnemy(); this.attack(enemy); } if (2 < 1) { // ∆ Make this false. this.moveXY(40, 55); } if (false) { // ∆ Make this false. this.moveXY(50, 10); } if (true) { // ∆ Make this true. this.moveXY(55, 25); } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# Команды, находящиеся в теле if-оператора, написанные ниже будут исполнятся только если условие будет выполнено. # Исправьте все if-операторы для прохождения уровня. if 1 + 1 + 1 is 4 # ∆ Make this false. @moveXY 5, 15 # Идите к первой группе мин. if 2 + 2 is 4 # ∆ Make this true. @moveXY 15, 40 # Идите к первому самоцвету. if 2 + 2 isnt 3 # ∆ Make this true. @moveXY 25, 15 # Идите ко второму самоцвету. # < значит "меньше чем". if 2 + 2 < 5 # ∆ Make this true. enemy = @findNearestEnemy() @attack enemy if 2 < 1 # ∆ Make this false. @moveXY 40, 55 if false # ∆ Make this false. @moveXY 50, 10 if true # ∆ Make this true. @moveXY 55, 25 |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
;; Команды, находящиеся в теле if-оператора, написанные ниже будут исполнятся только если условие будет выполнено. ;; Исправьте все if-операторы для прохождения уровня. ;; = значит "равно". (if (= (+ 1 1 1) 4) ;; ∆ Make this false. (.moveXY this 5 15)) ;; Идите к первой группе мин. (if (= (+ 2 2) 4) ;; ∆ Make this true. (.moveXY this 15 40)) ;; Идите к первому самоцвету. ;; not= значит "не равно". (if (not= (+ 2 2) 5) ;; ∆ Make this true. (.moveXY this 25 15)) ;; Идите ко второму самоцвету. ;; < значит "меньше чем". (def enemy (.findNearestEnemy this)) (if (< (+ 2 2) 5) ;; ∆ Make this true. (.attack this enemy)) (if (< 2 1) ;; ∆ Make this false. (.moveXY this 40 55)) (if false ;; ∆ Make this false. (.moveXY this 50 10)) (if true ;; ∆ Make this true. (.moveXY this 55 25)) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
-- Команды, находящиеся в теле if-оператора, написанные ниже будут исполнятся только если условие будет выполнено. -- Исправьте все if-операторы для прохождения уровня. -- == значит "равно ли", т.е. сравнение. if 1 + 1 + 1 == 4 then -- ∆ Make this false. self:moveXY(5, 15) -- Идите к первой группе мин. end if 2 + 2 == 4 then -- ∆ Make this true. self:moveXY(15, 40) -- Идите к первому самоцвету. end -- ~= значит "не равно". if 2 + 2 ~= 3 then -- ∆ Make this true. self:moveXY(25, 15) -- Идите ко второму самоцвету. end -- < значит "меньше чем". if 2 + 2 < 5 then -- ∆ Make this true. local enemy = self:findNearestEnemy() self:attack(enemy) end if 2 < 1 then -- ∆ Make this false. self:moveXY(40, 55) end if false then -- ∆ Make this false. self:moveXY(50, 10) end if true then -- ∆ Make this true. self:moveXY(55, 25) end |
Комментарии: