All posts by Tobias Balle-Petersen

Lær JavaScript med elevatorer

En klassiker når det handler om at lære at programmere, er gamification. Altså, det at gøre tilegnelsen af ny viden sjovere, ved at præsentere den som et spil.

Elevator Saga et et glimrende eksempel: Programmer et elevatorsystem i en bygning, så personer transporteres rundt uden for meget ventetid. Du får et ufærdigt program skrevet i JavaScript, som du skal opdatere, så elevatorerne kører som de skal for at løse opgaven. Se videoen her under, og gå så i gang på play.elevatorsaga.com.

Dronen der ikke kan flyve

Et fantastiskt eksempel på hvad en dygtig håndværker kan lave med sine hænder, en drejebænk og andre værktøjer fra en fjern, ikke-digital, fortid. En drone drevet af komprimeret luft, der ikke skal kunne flyve. Den er lavet for at vise hvor flot mekanik er. Et sandt stykke ingeniørkunst.

Den fantastiske perle-plade-printer

Nu er det sket! Det alle nørder har forestillet sig i årevis er blevet til virkelighed. Den fantastiske perle-plade-printer er blevet til virkelighed. Se her hvordan maskinen printer en perleplade med Mario & Yoshi og smelter dem sammen på en metalplade der opvarmes (Som en heated bed på en 3D-printer). Man kan se, at en masse af delene er lavet på en 3D-printer. Software’en skulle være skrevet i sproget Python. Printeren ser ud til at kunne bruge perler i 64 forskellige farver. Projekter er tilsyneladende ikke beskrevet i detaljer noget sted, men Hackaday har en kort beskrivelse her.

Installer Python og biblioteket Arcade på din computer

I Opfinderklubben, er der flere hold der programmerer i sproget Python med spil-biblioteket Arcade.  For at blive rigtig dygtig til at programmere, er det vigtigt at man øver sig derhjemme, på sin egen computer. Derfor følger her en beskrivelse af hvordan du kommer i gang med Python og  Arcade på din egen computer.

Continue reading Installer Python og biblioteket Arcade på din computer

Sådan opretter man en konto på Snap!

I Opfinderklubben bruger vi sproget Snap! når vi programmerer. Der er udviklet og drevet af det amerikanske universitet Berkeley. Snap! fungerer som det kendte sprog Scratch, men med en del udvidelser.

For at få mest muligt ud af undervisningen, er det vigtigt at man der hjemme  kan arbejde videre på de ting vi arbejder med når vi er sammen. Der er muligt at eksportere sit projekt som en xml-fil, og at tage projektet  med hjem på f.eks. et USB-stick, men det er noget besværligt. Derfor sker det i praksis ret sjældent.

Continue reading Sådan opretter man en konto på Snap!

Programmér dit eget rumskib

Af og til, kan det føles lidt tørt at komme i gang med at programmere i tekst, hvis man kommer fra Snap! eller Scratch. En sjov måde at begynde på, er at programmere sit eget rumskib der kæmper mod andre rumskibe. Det kan man gøre på siden codegames.io.  Ved at kigge på nogle variable, kan man få at vide hvor fjenden er, end fart osv. Der er et simpelt sprog, med tilhørende dokumentation. Man kan vælge mellem et antal rumskibe at kæmpe mod, men desværre er der ikke mulighed for at kæmpe med andre brugeres rumskibe. Det virker som om den funktionalitet har været planlagt, men at det aldrig er blevet til noget.

Continue reading Programmér dit eget rumskib

Fantastiske sprites til spil

Hvis man laver spil, er Kenney en fantastisk ressource hvis man mangler grafik. Kenney stiller en mængde såkaldte spritesheets til rådighed. Et spritesheet er et antal stykker 2D grafik (sprites) med et fælles tema. Der er mange temaer på Kenney, alt fra møbler og rumskibe til elementer til platformspil. De forskellige spritesheets kan frit benyttes, selv kommercielt. Kenney stiller også samlinger af lydeffekter of 3D-modeller til rådighed.

Byg open source-robotten Otto

Robotten Otto er en open source-robot hvis krop man selv kan 3D-printe. De elektroniske dele er billige, og lette at skaffe. Robotten styres af en Arduino Nano-microprocessor, 4 servomotorer og en ultralyds-afstandsmåler. På den måde, kan robotten bevæge sig rundt, uden at støde ind i (større) ting.

Alle filerne til robotten, inklusive dokument der viser hvordan robotten samles,  kan hentes i projektets GitHub repository. De dele der skal 3D-printes er her. Hvis du ikke kan finde dokumentet der viser hvordan robotten bygges, kan du hente Opfinderklubbens kopi her: OttoDIY_InstructionsManual_V08. I dit Arduino-miljø, skal du installere biblioteketet Otto, som findes i GitHub her. Du kan også vælge Opfinderklubbens, muligvis forældede, version her: Otto.

Som alternativ til at programmere robotten som en Arduino, man man bruge det blokbaserede mblock, der kan downloades her. Der er en pdf i Otto’s GitHub der viser hvordan.

 

 

Sådan kører du eksempler fra Python Arcade

I Opfinderklubben, er vi gået i gang med at programmere spil i sproget Python, med spil-biblioteket Arcade.  På bibliotekets site, er der en side med eksempler, der introducerer diverse spil-koncepter.  En af de mange eksempler hedder sprite_collect_coins.py. For at køre det eksempel på din maskine med Arcade installeret, skal  bruge følgende kommando i terminalen (På Linux kan du starte terminalen med tast-kombinationen ctrl+alt+t):

python3 -m arcade.examples.sprite_collect_coins

Læg mærke til, at du skal udelade .py-endelsen fra navnet på eksemplet.

Prøv at køre de følgende eksempler:

  • sprite_collect_coins.py
  • snow.py
  • sprite_rooms.py
  • sprite_simple_platformer.py
  • sprite_move_scrolling.py
  • bouncing_balls.py
  • drawing_primitives.py
  • shape_list_demo_skylines.py
  • maze_depth_first.py

Du kan (på Linux) finde alle eksemplerne i mappen /usr/local/lib/python3.6/dist-packages/arcade/examples. Prøv at åbne dem i din tekst-editor (Vi bruger Geany). I mappen med eksempler, er der to filer som du kan bruge som udgangspunkt for dine egne spil: starting_template_simple.py og starting_template.py.