(But what if I don't have a Unix workstation running X Windows?)
To run a demo, you just have to
See also the FudPaint Gallery!
Run it!
Derivate
+ - * / ^
sin cos tan atan
exp log sqrt abs sinh cosh
This kind of application is very suitable for implementation in a functional language since it requires expression parsing, symbolic expression manipulation and evaluation of expressions, all of which is very simple to do in a functional language.
To plot a function, it needs to be evaluated at hundreds of points (depending on the size of the window). Even though a very simple interpreter is used for this, plotting a function usually takes only a fraction of a second.
Run it! (Updated 991215)
You move the gun by pressing the left and right mouse buttons. You fire by pressing the middle mouse button.
The paper Implementing Real-time Interactive Multi-User Games with Fudgets describes the implementation. (This is actually a second implementation, which is slightly more efficent than the one described in the paper.)
This is my experimental Fudget-testing application which is similar to the program that Sandra Foubister wrote to illustrate interaction combinators*, but with less features.
------------- --------------- | | --- | | | | | c | | | | | |-h-| | | | design | | o | | board | | | |-i-| | | | | | c | | | | | |-e-| | | | | | | | | ------------- --- --------------- ------------- --------------- |finished des.| |update w. tile | ------------- --------------- ----------------------- | | | | | | | -------tools----------- | | | | | | | -----------------------
Lines may be added to the design using the left mouse button, and deleted using the right mouse button. Clicking the button underneath design transfers the new design to the currently selected tile in choice, and to the tools area.
Clicking the button underneath board updates the tiles on the board to the currently selected tile (in whatever rotation/reflection the each previous tile on the board was in).
NB. The two update buttons can be a little slow to operate (on my Sun 3/60) because they have a lot of effect on the screen.
Bugs: the grid obscures vertical and horizontal lines in the design area. I could not change the line thickness or colour because the GCChangeAttributes (I think?) command wasn't implemented.
Otto is a program that allows you to play Othello against the computer (it does not play a very strong game).
In Atoms two players place stones (atoms) on the squares of a board. When a square is full it explodes and the atoms invade the neighbour squares. This can cause a chain reaction. The purpose is to dominate the board.
Implementation notes can be found in the Fudget solution to the Explode challange in the Glasgow GUI Fest documentation.
Since it fetches inlined images in parallel (this is easy to implement using Fudgets) it is ofter faster than browsers like NCSA Mosaic, that fetch one image at a time.
Implementation notes can be found in the Fudgets solution to the HTML browser challenge in the Glawgow GUI Fest documentation.
Run it! Color version.
Run it! Monochrome version. (In case the color version doesn't work on your screen...)
(updated 990415 23:43)