basicprogramming.org


Welcome, Guest. Please login or register.
Did you miss your activation email?
Forum time; Jul 31. 2010, 03:36
Home Help Search Calendar Login Register
News: Have you got suggestions for BasicProgramming.org? Let's hear them!
Interested in creating your own programming language? Check out the QDepartment group!

+  BASIC programming forum
|-+  News board
| |-+  Basic programming world
| | |-+  basicprogramming.org Winter 2009 Competition.
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] 2 3 Go Down Reply Print
Author Topic: basicprogramming.org Winter 2009 Competition.  (Read 1820 times)
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« on: Nov 24. 2009, 16:57 » Reply with quote

NOTE: Due my busy schedule, this first version of this post is very bad english. I reserve rights to edit this in near future, but rules are what they are. I only touch make sentences look nicer and clearer.

Greetings folks. This is a launch for basicprogramming.org Winter 2009 Competition.

The mission:
Generally speaking the mission is simple. There is a list of 200 words, from what is randomed 20 words. Goal of your program is to figure out, what word is currently randomed.
For example, next 20 words are randomed from the list; spaceship, green, freebasic, star trek, white, jupiter, windows, fox, one, rollerblades, diary, king, three, drums, eight, soccer, general motors, sunshine, hammer. Naturally list of randomed words is 100% same for each program.

Now, your program needs to solve out those words in order they are randomed. At this point, first word is "spaceship". How to do it? About that in next...

Your program:
As told, first word is in this example is a "spaceship". Your program can figure it out by asking a questions. You can make your program ask what ever you want, but there will be only three possible answers.
y stands for "Yes". If your program ask's "Does it have a engine?", reply would be "y".
n stands for "No". So if your program ask's "Is it a color?", reply would be "n".
c is the third possible reply. In this case, if your program would ask "Is it in Canada?", reply would be "c", since there is not valid location for spaceship as general word. Spaceship can be in lot's of places, including space. Though, it can be docked at Houston too Wink

If your program tries to guess the word instead of asking more information, output will be "Word is (word)?". Reply will be either "y" or "n". Example of one word later in this post.

It is highly important to plan your questions. If question is not clear enough, reply will be "c" easily.

Your program has 100 turns to figure out all 20 words. Same word can be only at once.

Features of your program:

Beside of allready mentioned question and reply features, your program can do bit more too. If it seems that your program cant solve current word, it can skip it and move to the next one. At this point, your program must clearly output that it wants to move on next word.
There is not specified way how to output this, it's up to you. It is highly recommended that you make this feature dumb-proof.

Input & Output:

Your program must ask questions and guess the word in english words. You can use console or windowed mode for this. There is not any certain way you are expected to do this.
Your program gets replies from a keyboard, and keyboard only. All replies ("y, n, c") are returned in lowcase.

Points, points and more points;

Each program starts from 0 points. Each question from your program "cost's" 1 point. Each wrongly guessed word cost's 3 points. If your program skips a word, it looses 10 points.
Each word your program does guess, gives 25 points.
If your program guesses correctly all 20 words in less than 100 turns, it gets 5*(100-used turns) points.

Program which is voted as "Best logger", gets extra 10 points. "Best logger" is solved out by poll, from what each competitor and forum member can give one vote. In tie situation, no "Best logger" points shared.

If two or more programs ends in same number of points, here is how we solve the winner.
1. Which program solved more words totally.
2. Which program solved words in smaller amount of turns.
3. Which program solved first word in smaller turn number.
4. Reround between these programs with new words, following rules 1 to 3.
5. Tie. Winners negotiates for who or where prize is pointed. If they cant do it in max. 7 days, prize is donated to WWF.

Allowed dialects:
This time, there is limited number of basic dialects with what you can join for this competition. Number of different dialects is so huge, that it can cause some major problems for judge (thats me).

Allowed dialects for basicprogramming.org winter 2010 competition.

Bywater BASIC; http://bwbasic.sourceforge.net/
Vintage Basic; http://www.vintage-basic.net/
FreeBasic; http://www.freebasic.net
thinBasic; http://thinbasic.com/ NOTE:Wine combatibility of your program is demanded.
yabasic; http://yabasic.basicprogramming.org/
ChipMunk Basic; http://www.nicholson.com/rhn/basic/
RunBasic; http://runbasic.com/
QB64; http://www.qb64.net/
sdlBasic; http://www.sdlbasic.altervista.org/main/index.php
BaCon; http://www.basic-converter.org/
GW-BASIC; http://en.wikipedia.org/wiki/GW-BASIC
QBasic; http://en.wikipedia.org/wiki/Qbasic
SmallBasic; http://smallbasic.sourceforge.net/
Blassic; http://blassic.org/
XBLITE; http://www.xblite.com/ NOTE:Wine combatibility of your program is demanded.
ScriptBasic; http://www.scriptbasic.org/home/

The log:
Your program must create a text log of each question, guess, skip notice and replies it has received from keyboard. Give value for this option, since it can deliver extra 10 points for your program.

The prize:

Winner of this competition get's 50.05$(us), and runner-up (2'nd) get's 12.34$(us). Prizes are payd through PayPal, and PayPal only. Incase you (or any of your friend) dont have PayPal account, you can point some organisation for what the prize is donated in your name. Political and religional organisations are not accepted. If you cant point a place where to pay the prize, moneys goes to WWF. You have 7 days time to inform me, where to send the moneys.

Competition time:
Competition starts now, and programs must be delivered to me before 20'th January 2010. Judge (still me) reserves 3 days (to 23'th Jan. 2010) time to run all programs that takes part for this contest. All programs must be send at contact@basicprogramming.org with a subject "BP.ORG Winter combo" before 20'th Jan. 2010.

Number of programs per competitor:
You can send max. 2 programs, and you cant send edited codes afterwards. Once you send your code, it is late to fix or edit it anymore. So give yourself a time to test your code. There is time Wink

Team work:
Programs must be send by a person, not by a team. Sure you can team up and create a code, but it must be send as a private person.

Who can join?:
Person who wants to take a part for this competition, must be registered in these forums. Post count can be 0, and you can remove your account right after competition is over, but till that moment, you need to be registered at this forum. This is because its easier to arrange poll for the "Best logger".

Other:
Program must be send as source file. There must be clearly stated at the begin of code, who made it, name for the program and license. GPL2, public domain or similar is recommended, since if its not possible to reveal your code in public, it is not accepted for this competition.

Log file of your program must be created so, that it is possible to open with a www-browsers. It is recommended to use pure text file, html, xhtml or related.

Program must be packed in .zip form.

There must be readme.txt or similar document in your .zip archive, where is all information needed to run your code. All needed files (except basic interpreter/compiler itself) must be in .zip archive, and paths/folders must be in order so that i need only to lauch the file, what is mentioned at readme.txt.

Program must run in basic (default) installation of used dialect. If your code demands some third party libraries that needs to install, your program is not accepted for this competition.

You can use file of listed words just as you want. Edit it, rearrange words, heck take some of them out if you want. Your program needs to solve from those words which one is currently waiting to be revealed, its up to you how you do it Wink
I saved them as DATA lines, but you can make them as text file...what ever, as long as i dont need to do anything extra because of them Grin If you use words from external file, add that file in .zip archive.

Example run:
Code:
Word 1.
Question: Does it have a heart?
n
Question: Is it on earth?
c
Question: Is it colorfull?
c
Question: Does it have a engine?
y
Question: Does it move on ground?
y [i]Well yes, when its on firing up or landing[/i]
Question: Does it have a four wheels?
n
Guess: Is it a motorcyle?
n
Question: Can it fly?
y
Question: Does it have a wings?
y
Question: Can it fly on space?
y
Guess: Is it a spaceship?
y
Word guessed, moving to word 2.
...
...
...
« Last Edit: Jan 22. 2010, 03:26 by E.K.Virtanen » Report to moderator   Logged

E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #1 on: Nov 24. 2009, 16:57 » Reply with quote

And here are the words.

Code:
DATA "water"
DATA "white"
DATA "donkey kong"
DATA "wednesday"
DATA "march"
DATA "six"
DATA "michael jackson"
DATA "taxi"
DATA "stockholm"
DATA "measuring tape"
DATA "tractor"
DATA "mickey mouse"
DATA "eighty"
DATA "freight truck"
DATA "lawyer"
DATA "candle"
DATA "queen"
DATA "shoe"
DATA "yabasic"
DATA "brown"
DATA "weather"
DATA "camera"
DATA "meteor"
DATA "star wars"
DATA "april"
DATA "mitsubishi"
DATA "hundred"
DATA "paypal"
DATA "uranus"
DATA "saxophone"
DATA "sauna"
DATA "monday"
DATA "sock"
DATA "islam"
DATA "hawk"
DATA "eight"
DATA "fifty"
DATA "october"
DATA "sixty"
DATA "tiger"
DATA "freebasic"
DATA "thirty"
DATA "diving board"
DATA "john lennon"
DATA "eagle"
DATA "jupiter"
DATA "poison"
DATA "king"
DATA "goofy"
DATA "ironing board"
DATA "swimsuit"
DATA "seventy"
DATA "whale"
DATA "horse"
DATA "thursday"
DATA "july"
DATA "glove"
DATA "knife"
DATA "june"
DATA "blue"
DATA "automobile"
DATA "qbasic"
DATA "shirt"
DATA "diaper"
DATA "skiing competition"
DATA "ape"
DATA "sunshine"
DATA "milk"
DATA "spaceship"
DATA "tuesday"
DATA "xbox"
DATA "spiderman"
DATA "swimming-pool"
DATA "fish"
DATA "seven"
DATA "ac/dc"
DATA "feeding bottle"
DATA "super mario bros"
DATA "bread"
DATA "rollerblades"
DATA "grey"
DATA "paris"
DATA "internet"
DATA "dinosaur"
DATA "wolf"
DATA "moscow"
DATA "ten"
DATA "soup"
DATA "violin"
DATA "madrid"
DATA "christianity"
DATA "december"
DATA "program"
DATA "sunrise"
DATA "liquor"
DATA "soccer"
DATA "windows"
DATA "august"
DATA "donald duck"
DATA "president"
DATA "washington"
DATA "pogo stick"
DATA "hat"
DATA "cat"
DATA "diary"
DATA "storm"
DATA "television"
DATA "forty"
DATA "babylon 5"
DATA "batman"
DATA "grass"
DATA "sunday"
DATA "jacket"
DATA "friend"
DATA "david hasselhoff"
DATA "thunder"
DATA "helsinki"
DATA "train"
DATA "parrot"
DATA "rain"
DATA "green"
DATA "sunset"
DATA "berlin"
DATA "two"
DATA "drums"
DATA "five"
DATA "martti ahtisaari"
DATA "bicycle"
DATA "general motors"
DATA "movie"
DATA "linux"
DATA "dog"
DATA "one"
DATA "nine"
DATA "thinbasic"
DATA "sdlbasic"
DATA "book"
DATA "vacuum cleaner"
DATA "quakenet"
DATA "saturday"
DATA "playstation"
DATA "september"
DATA "taxes"
DATA "elevator"
DATA "minister"
DATA "trousers"
DATA "tennis"
DATA "mars"
DATA "ottawa"
DATA "star trek"
DATA "beach"
DATA "shark"
DATA "light bulb"
DATA "tokyo"
DATA "fox"
DATA "motorcycle"
DATA "wrench"
DATA "yellow"
DATA "may"
DATA "black"
DATA "bank account"
DATA "four"
DATA "metallica"
DATA "cloud"
DATA "pastry"
DATA "toyota"
DATA "helicopter"
DATA "twenty"
DATA "nintendo"
DATA "tina turner"
DATA "february"
DATA "superman"
DATA "ping pong"
DATA "phone"
DATA "canberra"
DATA "freenode"
DATA "axe"
DATA "hammer"
DATA "skis"
DATA "neptune"
DATA "bill clinton"
DATA "three"
DATA "skateboard"
DATA "unix"
DATA "guitar"
DATA "friday"
DATA "ninety"
DATA "piano"
DATA "earth"
DATA "holiday"
DATA "power drill"
DATA "vladimir putin"
DATA "red"
DATA "november"
DATA "hot-air balloon"
DATA "ice hockey"
DATA "microphone"
DATA "beer"
DATA "bill gates"
DATA "january"
Report to moderator   Logged

syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #2 on: Nov 25. 2009, 05:48 » Reply with quote

Interesting. EK, how are you going to evaluate the questions of the programs? Manually?

syzygy
Report to moderator   Logged
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #3 on: Nov 25. 2009, 05:52 » Reply with quote

Hi syzygy. I hope to see your name in the list of competitors Wink

There is no certain need to evaluate the questions themself. What matters is how many words program can figure out. In what kind of questions this is done, is up of the programmer.

Thing must be done manually, or else there is need to set major limits for the questions, and that would increase possibility of innovations. Ill ratherly spend few hours time, than set limits to questions.
Report to moderator   Logged

syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #4 on: Nov 25. 2009, 08:36 » Reply with quote

I have a prototype running.

Hope I can clean it up and submit it before the weekend.

syzygy
Report to moderator   Logged
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #5 on: Nov 25. 2009, 08:51 » Reply with quote

Whoa, this fast allready? Hopefully you are not this fast with your partner... Grin
Report to moderator   Logged

syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #6 on: Nov 25. 2009, 08:57 » Reply with quote

Nimble fingers, EK... and a slow day at work... Did I mention it can work with arbitrary word lists? ;-)

syzygy

(Edit for cheap jokes)
« Last Edit: Nov 25. 2009, 08:58 by syzygy » Report to moderator   Logged
guy1954
Newbie
*
Offline Offline

Posts: 2


« Reply #7 on: Nov 25. 2009, 09:24 » Reply with quote

Hi EKV,

Is it on purpose that you did not include xblite in the allowed BASIC dialects?
If it is the case, I won't be able to compete as it is the only dialect of BASIC that I master.

Bye! Guy
Report to moderator   Logged
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #8 on: Nov 25. 2009, 10:41 » Reply with quote

Hi guy.

You asked a good question. I wished that i could add xblite in list of allowed dialects. However, i havent been able to get it work properly under wine. Currently i dont have windows computer to use at all, and unless someone donate me a legal copy of windows, there is no chance for me to run xblite code.

Though, i noticed that my wine is pretty outdated, so next thing is that i will update it, and try xblite. If it works properly, ill add xblite in allowed dialects list immediately.
Report to moderator   Logged

E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #9 on: Nov 25. 2009, 10:43 » Reply with quote

Did I mention it can work with arbitrary word lists? ;-)

Lol, well your program. Waiting to see what the heck youre doing there  Cheesy
Report to moderator   Logged

aurelB
Hero Member
*****
Offline Offline

Posts: 663



WWW
« Reply #10 on: Nov 25. 2009, 11:13 » Reply with quote

hey EK you say me that ABasic work under Wine so if this is
true then Creative Basic can also work?
You say you dont have Windows - what kind of hacker you are Grin
I just joke... Grin
You can use something called Essential XP  Cool
By the way i dont have PayPal account becose this thing dont work in my
country anyway Roll Eyes
Report to moderator   Logged

syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #11 on: Nov 25. 2009, 11:25 » Reply with quote

Waiting to see what the heck youre doing there  Cheesy

Cheating, of course. ;-)

syzygy
Report to moderator   Logged
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #12 on: Nov 25. 2009, 11:46 » Reply with quote

hey EK you say me that ABasic work under Wine so if this is
true then Creative Basic can also work?

AFAIK, it is a commercial dialect, and you can get only trial version of it for free. So i decided to leave it out of allowed dialects.

Quote
You say you dont have Windows - what kind of hacker you are Grin
I just joke... Grin

Brightened hacker Wink

Quote
By the way i dont have PayPal account becose this thing dont work in my
country anyway Roll Eyes

WWF and several other organizations accept's paypal donations Wink After all, few hours of coding for a good purpose is worth of more than few bucks in a vallet Smiley
Report to moderator   Logged

E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #13 on: Nov 25. 2009, 11:47 » Reply with quote

Cheating, of course. ;-)

For some reason i think i know the way you are trying to win here Wink Ill let you know if i were right.
Report to moderator   Logged

E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #14 on: Nov 25. 2009, 12:02 » Reply with quote

@guy. I tested with latest wine and latest xblite release to compile pong.x. Worked fine, though graphics are bit slow.
I will add xblite in to the list of allowed dialects, with a note Wine combatibility of your program is demanded..

I hope to see you in the list of competitors Smiley
Report to moderator   Logged

Pages: [1] 2 3 Go Up Reply Print 
« previous next »
Jump to:  
Atom RDF RSS 0.91 RSS 2.0


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!