Page 1 of 3

PureBasic Winter Contest 2005/2006

Posted: Wed Dec 21, 2005 8:00 pm
by freedimension
Image

Hello dear Comunity

The PureBasic-Contest committee is proud to present you the
first jointly hosted contest of three major PureBasic forums,
i.e. the international PureBasic-Forum, the german PureBoard
and the PureLounge.

Everyone can take part in this great experience, be it a
master of informatics or a beginner that just started to
program a few weeks ago*
First of all: You don't have to solve all of the given tasks
to take part here, even with only one solved task you can
enter the contest. It will be judged just like the other
entries, although in the end its the total count of points
that matters. The most different challenges and the balanced
point system with that the committee is evaluating your
works, will guarantee that everybody with a little bit of
talent will have a chance to win.

*The members of the committee itself aren't allowed to
take part in the contest.




Rating

The rating is done by the members of the committee, though
after the contest the community is invited to vote their
favorite entry. Therefore we reservered an extra prize of the
audience (see below).



The prizes*
  • 1st Prize - A brand new USB2.0 hard disc,
    Silver Line from OMEGA, 300 GB and 7200 rpm,
    suitable for PC (2k, XP) and Macintosh. 210V
  • 2nd Prize - A voucher for Amazon worth 25 Euros
    (either amazon.de or .com)
  • 3rd Prize - A voucher for Amazon worth 15 Euros
  • 4th Prize - The longest Journey and Morrowind
    (PC-Games)
  • Special prize for the best entry -
    A voucher for Amazon worth 30 Euros
  • Prize of the audience -
    A voucher for Amazon worth 20 Euros
*we reserve the right to adopt the list of prizes
to the total number of participants.
The USB2.0 hard disc will only be awarded if this number
exceeds ten people.




Closing Day

The deadline to which all entries must have been committed
to us is February, 13th in 2006, 23:59 (11:59pm).



The Tasks

The following tasks are awaiting to be cracked:

1.
Santa Clause in difficulties

Santa Clause, just now on his way home to the northpole
through the winter forest, notices in time that he just
forgot to deliver presents to exactly one child. He determines
instantly to turn back and visit this child, to answer the
call of duty.

Your challenge lies in helping him find the fastest path to
the child's house, in doing so you should illustrate as
descriptive as possible the using of the A*- or
alternatively the Dijkstra-algorithm (Observe: here
you can easily earn some extra credits).

In this task the codework won't count as much as the
originality and the didactical use of the program. The aim
of your program should be to teach an absolute beginner in
path-finding the basics of this business in an entertaining
manner.
2.
Meteorology for newbies

This task is all about weather, more precisely about the
wonderful winter weather that surrounds us nowadays.
Develop a program that simulates winter weather, regardless
of it beeing a heavy snow storm or gently and quietly falling
snowflakes. You could even do a multimeteo show, simulating
all possible winter weather situations.

Whether you are doing this in 3D or are just using the sprite
functions doesn't matter. The only important thing is the
realistic look of your simulation and that it is written with
the standard means of PureBasic only.

Just one more hurdle ....

Include a possibility to manipulate the movement of the
snowflakes through your mousecursor, just like a fan would
do.
3.
Oh Christmas Tree

Christmas is just a few days from now on, and as it is, for a
decent christmas you'll need a nice decorated christmas tree.
Because Santa Clause is busy finding it's way to some poor
child (see task 1), it's your turn to decorate the tree.
As you are very orderly you decide to plan this in advance
with a small self written program that assists you in letting
you decorate a virtual christmas tree.

Once more it doesn't matter if you use 2D or 3D graphics.

4.
Set this rack in order

Wow, you obtained a whole lot of books! But, being that many,
you can't possibly put them in the rack without arranging
them properly. You are thinking about how you could organise
them in a way they take up as little room as possible. The
single shelfs of the rack can be moved in steps of 4cm up and
down. In between the top of the books and the next shelf
there has to be a gap of at least 2cm. The first row of books
is also standing on a shelf.

Write a program, that calculates the minimal height of your
rack, including the topmost row of books.

Some more details:
Height of a shelf = 1.5cm
Length of a shelf = 1.0m
Width of a book = 1.5cm
The depth of the books doesn't matter!

Like mentioned above, the shelves can be moved in steps of
4cm, the first one begins at 0cm above ground, the second one
could start at 4cm (if you could find a book only 2cm in
height ;)) and so on.

Minimal distance from the highest book in a row to the next
shelf should be >= 2cm.

You will get the data of the books to arrange in a separate
text file "books.txt". This will be built like in the
following example:

Code: Select all

5
115
334
221
775
123
The first row contains the total amount of books, every
following row the height of one of the books in millimetre (mm).

Living in a castle with a decent forest you mustn't fear of
running out of shelves or height ;)

5.
Karaoke Star

Christmas is fun, you're always getting a bunch of cool
presents (not only books). Mentioned that you remember that
you forgot to buy a present for your kid sister. In absence
of alternatives you decide to program a little karaoke
machine for her, of course with that holy touch, christmas
songs and the kind. As your sis is not the brightest when it
comes to computers you should also have a look at the
usability, the simpler to understand the better.

Only shortly after you gave this present to your little
sister you notice the catch of it ...

... your sister is now constantly sitting in front of
your computer *argh*.


The emphasis of this task should lie in a neat look of the
application and an intuitive userinterface that even the
dumbest of all users could follow.

6.
Snowflake-o-mat

Wintertime, wintertime, everything is white in white, covered
by millions of tiny snow crystals. You wonder, how a
snowflake looks like? Well, find out and then create a program
that randomly generates images of snowflakes in large scale,
the more realistic the better. You should be able to set the
seed for the random function.
The generated snowflakes have to be at least 256 pixels in
width and height.
As you could have guessed, it doesn't matter whether you use
2D or 3D functions to obtain the results.


7.
Santa's storehouse

Imagine you are Santa Clause, every year your elfs and cobolds
are producing huge amounts of presents for all the good kids
in our world. But as it is, the kids are getting more and
more, and so are the presents, hence your storehouse is near
from bursting.

Create a virtual storehouse on your screen and a stack of
presents with different measures for each of them.
You have to be able to move the boxes with your mouse, the
objective of the game lies in moving as many of them into the
storehouse.

8.
It's sledge time

Just like every year, all the snow that has fallen is melting
too fast. To get at least a little bit of the fun you write a
small sledge simulator. But beware! You surely won't get a
new computer this christmas, so you have to make your
simulator as downward compatible and retro style as possible.

It's not the number of the pixels that count, it's the fun
of gaming.

9.
Heavens calling

Santa Clause exchanged Rudolph the reindeer and his
colleagues against a pack of lemmings. Write a program in
which his sleigh (together with the lemmings and himself) is
"flying" from top left to the right. Due to the fact that
lemmings aren't very good in flying, you have to be able to
help him a little bit by drawing lines that will catch his
fall and provide ground for his further Advancing.
The sleigh should be able to drive up and down the lines,
falling as soon as there is no ground directly underneath
its vats.

Small Example:

Code: Select all

**-### ->
________                 ______
                   _____/
        \________/

**: sleigh
 #: Lemming
->: driving direction
This is an example terrain which you have to be able to draw
while the sleigh advances from left to right. Your program
has to calculate dynamically the way of the sleigh.

10.
Newsmachine

You are fed up! It's winter and there are almost only bad
news out there. Instead of fleeing further into your winter
depression you decide to take action against this. You begin
to write a program which screens a bunch of news and filters
out all the bad news, letting through only the good ones.

The news will be available in a simple text file with the
following layout:

Code: Select all

=Newstitle on one line, leading equals sign
Newstext with an
arbitrary line count

=2nd Newstitle 
2nd Newstext
...
In this Task we surely will take a somewhat deeper look into
the code, especially clever or witty approaches will be
rewarded.
Rules

Further rules for the contest:
  • The sourcecode has to be free for everyone to see.
  • No overly use of Assembler
  • Only the standard libraries coming with PureBasic
    are allowed
  • No 3rd party DLLs (like for example FMod), i.e. only
    DLLs that surely are installed on every Windows system
    are allowed.
  • The program has to be written 100% by yourself.
  • An arbitrary amount of the tasks may be solved, be it
    only one, two ... or even all ten.

Posted: Wed Dec 21, 2005 8:40 pm
by Killswitch
Sounds like a great contest - expect my entry :D

Posted: Wed Dec 21, 2005 9:17 pm
by Joakim Christiansen
Sounds hard but i'll try! :D

Posted: Wed Dec 21, 2005 9:24 pm
by freedimension
Not as hard as it could have been, trust me ;)

Posted: Wed Dec 21, 2005 9:32 pm
by Trond
Where should we send our entries? And will the "news" be in English?

Edit: Can we submit multiple solution to the same problem?

Posted: Wed Dec 21, 2005 9:53 pm
by freedimension
One last bit of information:

How to submit your entries

We only can review and rate entries that comply
to the following rules regarding the transmittal.

The entries has to be submitted to the following email address:

WinterContest@PureArea.net

The subject of this email should be the number of the task.

That's how it should look like...

WinterContest: 5

This would be an entrie for the Karaoke Star task.

Every task has to be submitted separately, the files have to be an zip or rar file.

In order to be able to publish an entry, there also has to be a text file (in english of course) that tells us a few things about the entry and the contestant.

It should look like this:

1 .Title
2 .Author
3 .Name of the task
4 .Filesize
5 .>>reserved for us<<
6 .>>reserved for us<<
7 .Explanation
8 .Explanation
9 . -"-
10....
11....
12....
....and so on.

From line 7 on you can explain a little bit about the entry.

An example:
Xmas karaoke studio 2005
PureUser
Task: 5 (Karaoke Star)
50.3 KB


Hello,

I really did my best with this one. I surely will get a prize, do I?

Kind regards

Your PureUser



The filename should have the following format:

tasknumber_author_language.txt
while for language until now only 'german' or 'english' are valid.

For example:

5_PureUser_english.txt


That's all folks.

Oh, by the way:
The entries can be seen on PureArea.net, just go to "Contest" and then click on the banner of this contest. This way you'll get to the showcase.
Until closing day you can't download the entries, but we will provide you with some screenshots where possible, so you have at least something to ogle.

Posted: Wed Dec 21, 2005 10:04 pm
by freedimension
Trond wrote:And will the "news" be in English?
It will be in the language the entrie is submitted in, thus either in german or english.
Can we submit multiple solution to the same problem?
That's a good question, we haven't talked about that. I will ask the other members of the committee.

Posted: Wed Dec 21, 2005 10:07 pm
by Trond
With the shelf problem, the width of the shelf is not a multiple of the width of the books. Are we allowed to tear books in parts vertically to conserve space?

Edit: Thanks for the info in the post above, didn't see it until I posted.

Posted: Wed Dec 21, 2005 10:35 pm
by freedimension
You wouldn't consider tearing a present in two halves in reality, would you? So why should you do this virtualy? ;)

Posted: Wed Dec 21, 2005 11:25 pm
by Trond
freedimension wrote:You wouldn't consider tearing a present in two halves in reality, would you? So why should you do this virtualy? ;)
Well, the paste function in Word is better than the real glue. But ok, I'll keep them whole.

Posted: Thu Dec 22, 2005 1:40 am
by akee
Looks like a DarkBasic competition... Then again Pure Basic can kick it anytime... :p

Posted: Thu Dec 22, 2005 10:36 am
by freedimension
Trond wrote:Can we submit multiple solution to the same problem?
Until we change our mind we decided that it's not possible. You have to choose which solution you like better and then submit this one to us. It's all about tactics, you know?
This also applies to the special price for the best entry, it's your choice whether you do one task near perfect and hope for this prize or you do all of the tasks but less thoroughly ... or a mixture of these two possibilities, of course <)

Posted: Thu Dec 22, 2005 1:23 pm
by NoahPhense
I think Fred should be an Honorary First Place winner. :D

Posted: Thu Dec 22, 2005 2:14 pm
by Hroudtwolf
He is it already ;-)

Posted: Thu Dec 22, 2005 2:39 pm
by freedimension
Hroudtwolf wrote:He is it already ;-)
Yep, he won the best prize ever back in 1977 :D