Since the Software Engineering I course at Politecnico di Milano, I had different work oppotunities using java. The most interesting of these was undoubtedly the 50-hour java course I held for regione Lombardia. That was a sort of a starting point for all my next java projects.
Unfortunately, last year my hard disk broke, and my brother deleted my home backup. This means I lost almost all projects I had developed! Luckily I had some copies of a bunch of them scattered on the net. In the following I present what was left undamaged.
This is one of the funniest pieces
of software I have ever written. It is a clone of the classic game Gravity
Wars, in which a couple of starships fight while being attracted by the
gravity of a star centered on the screen. This is a 2-player game, since
AI was never developed even if was high in my todo list. The graphics
of the game are quite simple, but they are completely rendered real time
by drawing polygons on a double buffered screen. Each player moves using
different keys (cursor keys + keypad zero for first player, wasd + space
for player two) and has to destroy the ship without being hit or falling
into the central star. The player must also take into account its fuel
tank, otherwise his engines will stop.
Labirinto di Cnosso
This is a small program to show how
to draw mazes and how to solve them with a simple depth first algorithm.
I did this to help a couple of friends of mine pass a university exam.
This program is implemented like a game: you start on a side of the labirynth
and have to reach the minotaur on the other side. The maze is randomly
generated and its size is configurable. You can also save each maze and
your progress in it, and reload it to complete the quest later. If you're
stuck in a maze you can ask the program to show the solution.
This was a project I developed for
the Software Engineering one exam, it consists in a copmlete client server
solution that provides real-time auction funcionalities. It consists in
three parts: a server that stores auction objects into a database and
handles their current price, new offers, auction start and auction end;
a client that lets people connect to the server, see current auctions
and place their offers; an administrator client, that lets the auction
server owner to manage objects, starting prices, auction duration and
admitted clients. The screenshots shown are taken from the client side,
and are the most colorful that could be taken ;).
I also made a series of miscellaneous
java programs, from image viewers to flashing text applets that were used
to teach java to my students for the course I held for Regione Lombardia.
You can have a look at this programs, even if they do not have any practical
use. They are divided into six zip files, each containing the exercises
used in a lesson.