Nädala tunnitöö 16.11.20

UFO droon

OPEN ROBERTA LAB

Mine Open Roberta Lab lehel:

lab.open-roberta.org/

Ülevalt ribalt useri alt vali: Log in with user group… (Robootikaring)

Vali robotiks ja versiooniks: EV3 – EV3 leJOS 0.9.1

Vasakult poolt saab valida plokke ja need programmiks ühendada. Paremal pool saab näha, kuidas robot liigub. Valides SIM saki saab avanenud aknast valida erinevaid stseene erinevate taustade ja objektidega. Taustapilte saab ka ise lisada.

Robotit ja objekte saab ekraanil ise sobivasse kohta liigutada.

Simulatsiooniakna all oleva kolmnurga peale vajutades saab programmi käivitada.

Ülesanne 1 – värvide tuvastamine

Liiguta robotit järgemööda erinevate värvideni ja siis tagurda algusesse tagasi. Hiljem võid programmi niimoodi muuta, et robot keereb peale värvi tuvastamist ennast ümber kuni musta jooneni. Siis pöörab jälle ümber ja liigub järgmise värvini.

Siin on näide, kuidas robot sõidab sinise värvini. Täienda programmi nii, et robot liiguks kõigi värvideni.

Ülesanne 2 – plokini sõitmine

Liiguta plokk simulatsiooniaknas kõigepealt nii kõrgele, et robot jõuaks otse sõites selleni.

Pane robot niimoodi liikuma, et see sõidaks sinise plokini ja tagurdaks algusesse tagasi. Pärast võid juurde lisada, et peale ploki tuvastamist pöörab robot ringi ja sõidab õigetpidi musta jooneni välja.

PYGAME

Pythonis ekraanide tegemine ja seal mängu loomine.

Pygame dokumendid:

www.pygame.org/docs/

Akna sulgemine ristist

import pygame
pygame.init()
ekraani_pind = pygame.display.set_mode( (640, 480) )
pygame.display.set_caption("Minu esimene aken")
ekraani_pind.fill( (0,255,0) )
while True:
    pygame.display.flip()
    
    pygame.draw.circle(ekraani_pind, [0, 0, 255], [150,200], 100, 2)
    
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
        break
pygame.quit()

Akna sulgemine ristist

import pygame, sys
pygame.init()
screen=pygame.display.set_mode([600,400])
pygame.display.set_caption("Mang")
screen.fill([255,255,255])
gameover = False
while not gameover:
    pygame.display.flip()

    pygame.draw.circle(screen, [0, 0, 255], [150,200], 100, 2)
    
    font = pygame.font.Font(pygame.font.match_font('arial'), 50)
    text = font.render("Hello World", True, [0,0,0])
    screen.blit(text, [200,200])

    for i in pygame.event.get():
        if i.type == pygame.QUIT:
            sys.exit()
            
pygame.quit()

Kujundid

Joon
pygame.draw.line(aken, värv, algus_pos, lõpp_pos, paksus)
pygame.draw.line(screen, [255,0,0], [100,100], [200,200], 2)


Ristkülik
pygame.draw.rect(aken, värv, [x, y, w, h], joone_paksus)
pygame.draw.rect(screen, [0, 225, 0], [50, 80, 200, 300], 2)
Kui joone paksus tühi või 0, siis täidetakse ristkülik värviga

Ring
pygame.draw.circle(screen, värv, tsentri_pos, raadius, joone_paksus)
pygame.draw.circle(screen, [0, 0, 255], [150,200], 100, 1)

Ovaal
pygame.draw.ellipse(screen, värv, [x, y, r1, r2], joone_paksus)
pygame.draw.ellipse(screen, [0, 225, 0], [50, 80, 200, 300], 2)

Hulknurk
pygame.draw.polygon(screen, värv, koordinaatide_loend, joone_paksus)
pygame.draw.polygon(screen, [255, 0, 255], [[50,50],[100,50],[100,150],[250,50],[350,250],[50,250]], 2)

Tekst

font = pygame.font.Font(pygame.font.match_font(‘arial’), 50)

# font = pygame.font.Font(None, 30)

font.set_underline(True)

font.set_bold(True)

font.set_italic(True)

text = font.render(“Hello World”, True, [0,0,0])

screen.blit(text, [200,200])

Tabasalu Unicorn Squad 16.11.20

LAVA

Robotite etendus

Robotid tekitavad tüdrukutes ikkagi elevust ja robotite etendusel läks just üsna palju aega ettevalmistamisele. Oli nii tore Ozobotidega tegeleda ja neile erinevaid radasid joonistada. Lõpupoole võeti kasutusele ka Lego EV3 ja tehti sellega valmis lihtsamad programmid.

Ilmselgelt oli näha, et aega nendega tegutsemiseks jäi väheks. Aga küllap kevadel jätkame ja siis saab jälle erinevaid lahedaid tegevusi teha 🙂