Visual programming with Alice


The test condition next to while is obviously trivial. Instead, you could have set a more complex condition to tell Nemo to start swimming only if another fish collides with him. Functions are especially helpful in putting together a test condition; you will find them in a tab in the left pane. Functions return values such as Nemo's location, size, or color.

When you hover over one of the functions, Alice marks places in the editor, where you can use them. Just like Nemo, the other objects in the 3D world also have procedures and functions. Alice enumerates them if you click on them in the scene, or if you select them in the oversized drop-down list below the preview.

Finally, note that Nemo consists of several parts that you can move or manipulate independently of one other. If you want the fish to swish its tail, select this.Nemo from the large drop-down list, then move over to the small triangle and opt for this.Nemo.getTail. All the procedures and functions now shown in the list refer only to the tail. In this way, you can animate the tail during the swim.


Programming is not so difficult. With Alice, a few clicks of the mouse are enough to let a fish swim in the sea. This simple animation only scratches the surface of the development environment's possibilities.

If you enjoyed working with Alice thus far, you can simply experiment with the other procedures and functions. You might want to wait for a work-free, rainy weekend for experimentation: Alice is addictive and time flies when you're having fun.

An overview of the user interface is provided by the online help [2], the detailed HowTos, screencasts of the "Alice 3.1 curriculum resources" [3], and various English language books, all of which still reference Alice 2 [4].

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Access Control Lists

    The ancient Linux permission system is often insufficient for complex production environments. Access Control Lists offer a flexible alternative.

  • Cryptography and Provable Security

    A concept called provable security brings the rigor of mathematics to the art of cryptography.

  • Visual Programming

    Developers working with graphical programming languages point and click to build software from prefabricated modules. We look at five free visual programming development environments.

  • PlantUML Diagrams

    With PlantUML, you can quickly create all kinds of diagrams using human-readable text and reuse them anywhere.

  • Markdown Magic

    HedgeDoc lets you write documents collaboratively in Markdown and publish them online.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More