reklama

Microsoft Small Basic: zábava pro skutečné geeky

Céčko, Java, C#, Python? Ale prosím vás, toto jsou jazyky pro studenty středních škol. Dnes je v módě Small Basic od Microsoftu, který toho sice moc neumí, je s ním ale zábava.

Před dvěma lety na podzim se Microsoft světu pochlubil s programovacím jazykem a zároveň vývojovým prostředím Microsoft Small Basic. Jedná se o jednoduché (ale kupodivu použitelné) vývojové prostředí pro školou povinné a naprosté začátečníky. Stejně tak ale se Small Basicem snadno zabijete polední nudu.

Škola hrou

Small Basic je ve své podstatě dalším v dlouhé řadě studijních jazyků, jehož účelem je naučit mládež základní principy programování a tvorby algorimtů – stejně jako třeba výukový jazyk Karel, Logo a ve své podstatě i Pascal.

Klepněte pro větší obrázek
Prostředí Microsoft Small Basic s doplňováním kódu a interaktivní referenční nápovědou v pravém panelu

Databanka hotových skriptů od komunity

Small Basic je ve své podstatě pouze skript – přímo ve vývojovém prostředí si jej můžete spustit, podívat se, co umí a zase ho ukončit. Se svým výtvorem se ale můžete pochlubit i světu, hotový kód totiž můžete publikovat na webu Microsoftu, kde se bude interpretovat (a vykreslovat) pomocí Silverlightu. Každý takový zveřejněný „program“ má vlastní speciální identifikátor. Ten se vám bude hodit, libovolný kód si totiž pomocí tohoto identifikátoru můžete stáhnout do editoru a třeba vylepšit, případně pochopit algoritmus hry Tetris a dalších komplexních her.

Nakonec nesmím zapomenout ještě na jednu věc – Small Basic je rozšiřitelný o jednoduché knihovny. Ty mohou výrazně zvýšit funkčnost celého jazyka a několik jich budete mít k dispozici už po instalaci. Díky knihovně pro práci s fotobankou Flickr tak třeba na dvou řádcích napíšete skript, který stáhne náhodnou fotografii Prahy a nastaví ji jako tapetu Windows:

obrazek = Flickr.GetRandomPicture("Praha")
Desktop.SetWallPaper(obrazek)

Tento skript nevytvoří žádné okno, můžete ho ale samozřejmě rozšířit třeba o textový vstup, kde určíte, jaký obrázek se má stáhnout namísto Prahy. Jedná se o očební jazyk, komponenta Flickru tedy stáhne pouze jeho nejmenší rozlišení.

A ještě jedna drobnost. Několik ukázkových „programů“ najdete v adresáři C:\Program Files\Microsoft\Small Basic\Samples, respektive C:\Program Files (x86)\Microsoft\Small Basic\Samples na 64-bitových Windows.

Klepněte pro větší obrázek
Každý skript, který publikujete v katalogu, bude dostupný v silverlightovém
přehrávači – tady si třeba můžete vyzkoušet základy kolizní fyziky

Zábava pro geeky

Small Basic od Microsoftu je především hra a zábava pro znuděné geeky, které už nebaví večerní hra Diabla (mě ano), na druhou stranu lze schopností Small Basicu využít i pro nějaké to domácí užitečnější skriptování. Editor se spouští velmi rychle, má automatické doplňování kódu (lehce obarvený tradiční IntelliSense ze světa Visual Studia) a také knihovnu Math. Můžete si s ním tedy rychle spočítat matematickou úlohu a napsat i grafický plotr, který vykreslí i nějaký ten graf. Já pro jednoduché výpočty vždy používal PHP nebo Javascript, podobnou práci ale v podstatě zastane i Small Basic. V tomto směru má vlastně jenom jedno vážné mínus – absenci čtení a zápisu do souboru.

A teď už několik ukázek kódu.

Hrajeme si se Small Basicem


Každou minutu stáhne z Flickru fotku a nastaví tapetu

Rozšířený program nestáhne pouze jednu fotografii Prahy, ale bude ji naopak ze serveru Flickru stahovat každou minutu. Poté ji nastaví jako tapetu Windows. Jedná se o elementární nekonečnou smyčku s absolutně žádným nastavením, o to tu ale nejde. Jde tu o to, aby nebohé děcko pochopilo účel a funkci smyček a to nejlépe v kontextu moderní doby a mashupů – aplikací, které mixují data z různých zdrojů.

While ("True")
  obrazek = Flickr.GetRandomPicture("Praha")
  Desktop.SetWallPaper(obrazek)
  Program.Delay(60 * 1000)
EndWhile

Sinusoida

Předchozí program nemá vlastní okno, to se ale vytvoří velmi snadno. Na výběr máte textové okno (formát příkazové řádky) a okno grafické, do kterého můžete zvesela čmárat pixely. Ve spojení s elementární funkcí pro vypočet funkce sinus vykreslíte sinusoidu.

GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.Title = "Můj skvělý program"
GraphicsWindow.Width = 850
GraphicsWindow.Height = 500

For x = 0 To 900 Step 10
  y = 200+Math.Sin(x/100)*200
  GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor()
  GraphicsWindow.FillEllipse(x, y, 10, 10)
EndFor

Klepněte pro větší obrázek
Jak se stát mladým matematikem za deset sekund...

Želvák malíř

Tvorbu grafiky ale můžete i animovat. K tomu poslouží želva. Jedná se o objekt, který se chová jako hlava plotru. Můžete ji posunout na libovolné místo na plátně (tedy na okně) a želva vykreslí stopu. Proč je to želva? Jde tu o dějepis, kreslíci želvu totiž obsahoval stařičký jazyk Logo z konce šedesátých let minulého století, který pak insiproval hromadu dalších výukových programovacích jazyků včetně Small Basicu.

V našem případě můžete želvu přinutit, aby nakreslila třeba stromeček. Je to poměrně snadné, jedná se totiž o fraktál, tedy neustále se opakující algorimtus ve smyčce.

GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.PenColor = "LightGreen"

uhel = 30
delta = 10
vzdalenost = 60
Turtle.Speed = 9

KresliStrom()

Sub KresliStrom
  If (vzdalenost > 0) Then
    Turtle.Move(vzdalenost)
    Turtle.Turn(uhel)
    Stack.PushValue("vzdalenost", vzdalenost)
    vzdalenost = vzdalenost - delta
    KresliStrom()
    Turtle.Turn(-uhel * 2)
    KresliStrom()
    Turtle.Turn(uhel)
    vzdalenost = Stack.PopValue("vzdalenost")
    Turtle.Move(-vzdalenost) 
  EndIf
EndSub

Jak takový program vypadá v praxi? Podívejte se na krátké video kresby fraktálového stromu.  Chcete jiný úhel, rychlost, velikost větví a barvu? Zkopírujte kód z oficiální příručky do editoru SB a spusťte si vlastní verzi.

 

Vlastní Photoshop

Pomocí Small Basicu samozřejmě můžete pracovat i s myší a kreslit po plátně. Kód sice nenabízí žádné ovládací prvky, tento program byste ale mohli snadno rozšířit třeba tak, že si ovládací prvky sami nakreslíte, a doprogramujete logiku, která po klepnutí někde nahoře (na nakreslený ovládací prvek – známe pixelovou polohu ukazatele myši) třeba změní barvu a tloušťku pera. Pro začátečníky k nezaplacení.

GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.PenColor = "White"
GraphicsWindow.MouseDown = OnMouseDown
GraphicsWindow.MouseMove = OnMouseMove

Sub OnMouseDown
  prevX = GraphicsWindow.MouseX
  prevY = GraphicsWindow.MouseY
EndSub

Sub OnMouseMove
  x = GraphicsWindow.MouseX
  y = GraphicsWindow.MouseY
  If (Mouse.IsLeftButtonDown) then
    GraphicsWindow.DrawLine(prevX, prevY, x, y)
  EndIf
  prevX = x
  prevY = y
EndSub

Klepněte pro větší obrázek
Několik málo řádků kódu a máte vlastní kreslítko

S pomocí Small Basicu můžete dále zachytávat kliky myši, klávesnicový vstup, můžete vykreslit zcela vlastní uživatelské rozhraní jako třeba ve hře Tetris, takže si mladý programátor osvojí docela širokou škálu znalostí. Především je to ale celé hra a experimentování s pixely a barvičkami. Pokud by se vám ale přeci jen podařilo něco napsat, můžete kód exportovat do velkého Visual Basicu a pokračovat v něm dál.

A to je všechno. Small Basic 0.95 od Microsoftu je už lokalizovaný do češtiny a běží nad .NET Frameworkem, k chodu pak budete potřebovat alespoň verzi 3.5. Pro majitele Windows 7 to překážka nebude, ti ostatní budou muset navštívit Microsoft Update.

Napište skript a podělte se

Napsali jste nějaký pěkný skript ve Small Basicu? Nasdílejte ho na web smallbasic.com a pochlubte se v diskuzi pod článkem odkazem na silverlightový „emulátor“, nebo napište alespoň identifikátor vaší aplikace.

Důležité odkazy:

stáhnout program Microsoft Small Basic 0.95 Licence: freeware, 5,7 MB
Autor: Microsoft
Web programu: smallbasic.com


Témata článku: Software, Technologie, Microsoft, Programování, GigaMania, Basic, Small, Tetris, Delta, Sinus

81 komentářů

Nejnovější komentáře

  • Dannero 11. 2. 2011 18:30:59
    můj první jazyk byl Visual Basic, připadal mi geniálně jednoduchý,vydržel...
  • Dany0 10. 2. 2011 16:40:29
    Kurník já úplně zapomněl na EasyPython nebo Antaresia nebo jak se to...
  • David Petrla 10. 2. 2011 16:21:24
    Upřímně. Windows Phone 7 se programuje skoro stejně. :-D Dokonce to už...
reklama
Určitě si přečtěte

Microsoft: Zbavte se už konečně zastaralých a děravých Windows 7

Microsoft: Zbavte se už konečně zastaralých a děravých Windows 7

** Microsoft pomalu začíná kritizovat svůj nejpopulárnější OS ** Chce konečně dostat podniky na Desítky ** Bezpečnostní podpora Sedmiček vydrží ještě necelé tři roky

17.  1.  2017 | Jakub Čížek | 407

Vyzkoušeli jsme FM štěnici: Když si vtipálci hrají na pirátské rozhlasové vysílání

Vyzkoušeli jsme FM štěnici: Když si vtipálci hrají na pirátské rozhlasové vysílání

** Dnes žádnou elektroniku programovat nebudeme ** Štěnice totiž funguje sama o sobě ** Stačí připojit baterii a naladit frekvenci

Včera | Jakub Čížek | 21

8 produktů, o kterých byste neřekli, že nesou značku Apple

8 produktů, o kterých byste neřekli, že nesou značku Apple

** Věděli jste, že Apple vyvinul celkem 45 modelů tiskáren? ** ** Monitor na výšku, plotter nebo herní konzole - to vše měl Apple ve své nabídce ** Většinu z těchto produktů pohřbil Steve Jobs

19.  1.  2017 | Stanislav Janů | 43

Umělá inteligence dokáže ze snímků srdce předpovědět, kdy zemřete

Umělá inteligence dokáže ze snímků srdce předpovědět, kdy zemřete

** Strojové učení lze skvěle použít pro vylepšení modelů pro předpověď srdečních komplikací ** Nová technologie umožňuje přesněji určit rizikové pacienty ** Dřívější diagnostika může díky včasně léčbě do budoucna zachránit životy

21.  1.  2017 | Karel Javůrek | 7

Takto si špičkoví grafici představují nový Facebook. S čistým vzhledem a bez reklam

Takto si špičkoví grafici představují nový Facebook. S čistým vzhledem a bez reklam

** Design Facebooku se delší dobu nemění a pro mnohé je nudným ** Grafici zkouší navrhovat nové koncepty toho, jak by mohla síť vypadat ** Hlasujte pro nejzdařilejší návrh

Včera | Stanislav Janů | 60


Aktuální číslo časopisu Computer

99 nejlepších programů pro váš počítač

Zvykejte si na umělou inteligenci

Velké testy PC zdrojů a gamepadů

Alternativní zdroje energie

reklama
reklama