Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Преимущества и недостатки HEX-формата цветов

20.01.24 18:38
Re: Преимущества и недостатки HEX-формата цветов
 
uscheswoi_82 коренной житель
uscheswoi_82
в ответ AlexNek 20.01.24 12:01

Если что, я много что уже попробывал, но у меня не сложилось впечатление, что дети научаться программированию, т.к. очень всё просто.

Есть такой робот, если подносишь предмет к датчикам, он едет назад https://i.ibb.co/3dNGNZv/mvi-7389-9-OUD0-Hq-S-ezgif-com-gi...

Код очень простой:

def on_forever():
    #Если расстояние меньше 30 см
    if maqueen.ultrasonic(PingUnit.CENTIMETERS) < 30 and maqueen.ultrasonic(PingUnit.CENTIMETERS) != 0:
        # Мотор назад
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CCW, 40)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CCW, 40)
        # Включаем бибикалку (как грузовые машины когда едут назад включают сигнал)
        music.play_tone(Note.C, music.beat(BeatFraction.WHOLE))
        # Выключаем передний свет (фары)
        maqueen.write_led(maqueen.LED.LED_LEFT, maqueen.LEDswitch.TURN_OFF)
        maqueen.write_led(maqueen.LED.LED_RIGHT, maqueen.LEDswitch.TURN_OFF)
    elif maqueen.ultrasonic(PingUnit.CENTIMETERS) > 30 and maqueen.ultrasonic(PingUnit.CENTIMETERS) != 0:
        # Мотор вперёд
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 40)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 40)
        # Включаем передний свет (фары)
        maqueen.write_led(maqueen.LED.LED_LEFT, maqueen.LEDswitch.TURN_ON)
        maqueen.write_led(maqueen.LED.LED_RIGHT, maqueen.LEDswitch.TURN_ON)

#Выполняется всё время, устанавливаем "callback"-функцию
basic.forever(on_forever)


Так-же я не почувствовал что ребёнок научиться вот этому см. https://i.ibb.co/pzYV6dm/mvi-7390-rz-Du9-BXt-ezgif-com-gif... (извиняюсь за волосы, у меня линька)

Код ещё проще:

def on_forever():
  #Бесконечный цикл
  while True:
    #Включаем красный свет
    Kitronik_STOPbit.traffic_light_state(Kitronik_STOPbit.LightStates.STOP)
    #Пауза 1000 мсек
    basic.pause(1000)
    #Включаем жёлтый свет (автоматически выключается красный свет)
    Kitronik_STOPbit.traffic_light_state(Kitronik_STOPbit.LightStates.GET_READY)
    #Пауза 1000 мсек
    basic.pause(1000)
    #Включаем зелёный свет (автоматически выключается жёлтый свет)
    Kitronik_STOPbit.traffic_light_state(Kitronik_STOPbit.LightStates.GO)
    #Пауза 1000 мсек
    basic.pause(1000)

#Выполняется всё время, устанавливаем "callback"-функцию
basic.forever(on_forever)


Но вот тут пришлось немного покумекать https://i.ibb.co/7RbdPYV/IMG-3179-min.jpg

Короче в стандартной библиотеки нет возможности перевернуть спрайт (акулу) влево или вправо, есть только mySprite.image.flip_x(), пришлось самому делать:

#Спрайт повёрнут налево
left = True
#Если нажали на кнопку "влево"
def on_button_event_left_pressed():
  global left
  #Если спрайт акулы справа, то переворачиваем на лево
  if left == False:
    mySprite.image.flip_x()
    left = True

#Если нажали на кнопку "вправо"
def on_button_event_right_pressed():
  global left
  #Если спрайт акулы слева, то переворачиваем на право
  if left  == True:
    mySprite.image.flip_x()
    left = False

#Устанавливаем callback-функции, и привязываем к кнопкам влево и вправо
controller.left.on_event(ControllerButtonEvent.PRESSED, on_button_event_left_pressed)
controller.right.on_event(ControllerButtonEvent.PRESSED, on_button_event_right_pressed)
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
 

Перейти на