DNA Replicator is official

And with 2 and a half days to spare.

I added a tutorial level, based on advice from alex. I did not add any music or sound effects. Think about it: do you hear any sound from microscopic things? I don't think so! Plus I'm an audiophobe.

I also varied the victory messages to give the gamer a little bit better of a payoff for doing well, and made a few minor interface improvements. Otherwise, it's pretty much the same game as it was two days ago.

Barring any bug reports, it won't change any more.

BONUS TIP: If you want to see the pretty animation without the hassle of hitting the vi keys, find the line "autotap=False" in main.py, and set autotap to the percent of automatic hits you want. For example, "autotap=0.75" will automatically hit 75% of nucleotides. "autotap=1.0" will hit all of them.

(log in to comment)

Comments

Sorry, but on OS X under Python 2.5:
richards:~/Desktop/DNAReplicator-1.1-src richard$ python run_game.py
Traceback (most recent call last):
  File "run_game.py", line 16, in 
    main.main()
  File "/Users/richard/Desktop/DNAReplicator-1.1-src/lib/main.py", line 146, in main
    basedl[base] = compilemesh(a)
  File "/Users/richard/Desktop/DNAReplicator-1.1-src/lib/main.py", line 107, in compilemesh
    for i in xrange(3*npoints):
OverflowError: long int too large to convert to int
I took the liberty of printing out the value of npoints in that loop:
0
0
1317996136097918674820520708617011200
Something's not right :)
Friggin Endianness. (Thanks for the pointer.)
Uploaded a new final source version that should fix the endian bug. (No need to bother for the Windows package. ;)
"Barring any bug reports, it won't change any more." :-)
Well... I found a bug. When I play tutorial and lost:

Traceback (most recent call last):
File "run_game.py", line 16, in
main.main()
File "/home/ceportela/Desktop/pyweek/DNAReplicator-1.2-src/lib/main.py", line 231, in main
scoreboard(score,hits,nbases)
File "/home/ceportela/Desktop/pyweek/DNAReplicator-1.2-src/lib/main.py", line 705, in scoreboard
if reward2 is not None:
UnboundLocalError: local variable 'reward2' referenced before assignment

I know, I know. I would have to win. Is very easy!