PureBasic Winter Contest 2005/2006

Developed or developing a new product in PureBasic? Tell the world about it.
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

PureBasic Winter Contest 2005/2006

Post 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.
Last edited by freedimension on Tue Dec 27, 2005 12:30 pm, edited 1 time in total.
<°)))o><²³
Killswitch
Enthusiast
Enthusiast
Posts: 731
Joined: Wed Apr 21, 2004 7:12 pm

Post by Killswitch »

Sounds like a great contest - expect my entry :D
~I see one problem with your reasoning: the fact is thats not a chicken~
User avatar
Joakim Christiansen
Addict
Addict
Posts: 2452
Joined: Wed Dec 22, 2004 4:12 pm
Location: Norway
Contact:

Post by Joakim Christiansen »

Sounds hard but i'll try! :D
I like logic, hence I dislike humans but love computers.
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

Post by freedimension »

Not as hard as it could have been, trust me ;)
<°)))o><²³
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Post 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?
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

Post 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.
<°)))o><²³
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

Post 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.
<°)))o><²³
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Post 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.
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

Post by freedimension »

You wouldn't consider tearing a present in two halves in reality, would you? So why should you do this virtualy? ;)
<°)))o><²³
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Post 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.
akee
Enthusiast
Enthusiast
Posts: 496
Joined: Wed Aug 18, 2004 9:52 am
Location: Penang, Malaysia

Post by akee »

Looks like a DarkBasic competition... Then again Pure Basic can kick it anytime... :p
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

Post 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 <)
<°)))o><²³
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

Post by NoahPhense »

I think Fred should be an Honorary First Place winner. :D
User avatar
Hroudtwolf
Addict
Addict
Posts: 803
Joined: Sat Feb 12, 2005 3:35 am
Location: Germany(Hessen)
Contact:

Post by Hroudtwolf »

He is it already ;-)
freedimension
Enthusiast
Enthusiast
Posts: 613
Joined: Tue May 06, 2003 2:50 pm
Location: Germany
Contact:

Post by freedimension »

Hroudtwolf wrote:He is it already ;-)
Yep, he won the best prize ever back in 1977 :D
<°)))o><²³
Post Reply