Passer au contenu

Créez une horloge en Small Basic

Pour fêter l’apparition cette semaine de la version française de Small Basic, voici un nouvel épisode de notre initiation à la programmation à l’aide de ce langage ultra-simple, spécifiquement conçu pour restaurer l’idée d’une programmation fun et amusante comme dans les années 80. Cet épisode nous permettra de découvrir une nouvelle fonction: les Timers!

Small Basic est un langage d’initiation à la programmation qui privilégie l’idée de s’amuser en programmant. Il appartient à cette nouvelle initiative de Microsoft visant à encourager les plus jeunes (de 7 à 77 ans) à découvrir les joies de la programmation. Pour en savoir plus, cliquez — ici — . 

Nous avons déjà eu l’occasion de longuement présenter ce nouveau langage et environnement de développement. Il n’était jusqu’ici disponible qu’en anglais. Le voici désormais qui débarque en version française.

– Téléchargez Small Basic en suivant ce lien  

– Installez-le en suivant l’assistant pas à pas

– Au lancement, Small Basic reconnaît automatiquement la langue de votre système et s’adapte en conséquence. Autrement dit, le logiciel affiche une interface et une aide en français lorsqu’il est lancé sur un système Windows en français.

– Dans les deux étapes suivantes, nous allons découvrir une nouvelle instruction (Timer) et l’étonnante fonction de publication très Web 2.0. 

RAPPEL DES EPISODES PRECEDENTS… 

Dans notre premier épisode (voir ici), nous avons présenté l‘environnement de développement, montré que le logiciel permettait non seulement de créer des petites applications simples (en mode console), mais aussi des plus sophistiquées capables d’interroger des services Web comme Flickr (ici

Dans le deuxième épisode (voir ici), nous avons étudié quelques concepts fondamentaux du langage comme les variables, les boucles et les tests. Nous les avons illustrés avec le Jeu du nombre mystérieux (voir ici). 

Dans le troisième épisode (voir ici), nous avons vu que Small Basic s’est inspiré du langage LOGO pour offrir des instructions graphiques très amusantes et pédagogiques (voir ici)!

Dans le quatrième épisode (voir ici), nous avons découvert le rôle des sous-programmes et de l’instruction SUB et nous avons recréé le célébrissime jeu PONG, l’ancêtre des jeux vidéo modernes!

Dans le cinquième épisode (voir ici), nous avons découvert les nouveautés de la version “0.2” de Small Basic ainsi que les instructions qui permettent d’animer des sprites à l’écran.

 

Les Timers permettent de déclencher l’exécution d’un sous-programme (SUB) à intervalles réguliers. Cela s’avère très pratique dans les jeux pour déplacer des ennemis ou des éléments de décors. Cela est aussi très pratique dès que l’on veut dans un programme rafraichir automatiquement un affichage.

Pour mettre en oeuvre un Timer, il faut utiliser le nouveau mot-clé TIMER et ses fonctions associées.

– On commence par définir un intervalle en utilisant: TIMER.INTERVAL = x  (où x est un nombre en millisecondes). Par exemple:  “Timer.Interval = 1000” déclenchera un évènement toutes les secondes.

– Ensuite on indique au programme quel sous-programme il doit exécuter en lui donnant un nom à l’aide de TIMER.TICK = NomDuSub 

Ce qui donne quelque chose comme ça:

Timer.Interval = 500
Timer.Tick = BougeEnnemis
… 
Sub BougeEnnemis
‘ insérer ici le code pour déplacer ennemis
EndSub

– Pour suspendre un Timer, utilisez la commande: TIMER.PAUSE()

– Pour redémarrer un Timer suspendu, utilisez la commande: TIMER.RESUME()

Nous allons à l’étape suivante découvrir comment utiliser cette fonction pour afficher une horloge analogique.

Le programme suivant affiche une horloge analogique avec ses aiguilles des heures et minutes, ainsi que sa troteuse de secondes.

‘ Début du programme

xRAD = Math.Pi / 180


GraphicsWindow.Height=200
GraphicsWindow.Width=200
GraphicsWindow.BackgroundColor=”Black”
GraphicsWindow.Show()

Timer.Interval = 1000
Timer.Tick = ShowTime


‘ Fin du programme

Sub ShowTime
Sec=Clock.Second*6
Min=Clock.Minute*6
Heu=Clock.Hour*30

GraphicsWindow.Clear()
GraphicsWindow.PenColor=”Yellow”
GraphicsWindow.DrawEllipse(0,0,200,200)

X = 100 + (90*Math.Sin(xRAD*Sec))
Y = 100 – (90*Math.Cos(xRAD*Sec))
GraphicsWindow.DrawLine(100,100,X,Y)

GraphicsWindow.PenColor=”Green”
X = 100 + (80*Math.Sin(xRAD*Min))
Y = 100 – (80*Math.Cos(xRAD*Min))
GraphicsWindow.DrawLine(100,100,X,Y)

GraphicsWindow.PenColor=”Red”
X = 100 + (60*Math.Sin(xRAD*Heu))
Y = 100 – (60*Math.Cos(xRAD*Heu))
GraphicsWindow.DrawLine(100,100,X,Y)

GraphicsWindow.PenColor=”Cyan”
GraphicsWindow.DrawBoundText(70,150,100,Clock.Time)
EndSub

 

Small Basic propose désormais un moyen très simple de partager des programmes avec ses amis.

Une fois que votre programme est totalement terminé et finalisé, il suffit simplement de cliquer sur le bouton “Publier“.

Votre code source est alors envoyé sur un serveur spécial de Microsoft qui mémorise tous les programmes qui lui sont soumis. Une fois que le serveur a bien reçu votre programme il vous retourne un code (une sorte de numéro de référence).

Vous pouvez ensuite communiquer ce code à vos amis.

Il leur suffit alors de cliquer sur Importer et de saisir le code que vous leur avez fourni pour qu’ils puissent automatiquement télécharger le code source puis l’exécuter sur leur propre Small Basic.

Signalons que le code peut aussi être visualisé en ligne, simplement en saisissant:
http://smallbasic.com/program/?CODE

Ainsi, pour télécharger simplement l’exemple d’horloge de l’étape précédente sans avoir à le ressaisir:
– Lancez Small Basic
– Cliquez sur l’icône Importer
– Saisissez MLT668-1
– Attendez quelques secondes que le code se télécharge dans une nouvelle fenêtre.

Ce principe de publication est vraiment très pratique pour partager des programmes et découvrir les productions des autres amateurs de Small Basic.

Voici d’ailleurs quelques exemples à découvrir d’urgence:

* Le jeu LIGHTS OUT de DanAwesome: VDK353
* Super Pong: MDJ923
* Bricks : QRQ360

 

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.

Opera One - Navigateur web boosté à l’IA
Opera One - Navigateur web boosté à l’IA
Par : Opera

Duval Loic