Title: Learning Python part 3 Post by: vite on September 07, 2013, 06:16:35 AM Well i'm half way through LPTHW at this point the book wants me to memorize symbols and their functions and practice.
So to take a break from the usual study drill I decided to make an automata to run on top of something called. LABY a game it seems to solve the maze part of the problems roughly about 4 of them. You can review my attempt at the game here: https://gist.github.com/vitepython/6472113 Note: Op is not a programmer and is learning this as a hobby. Title: Re: Learning Python part 3 Post by: b!z on September 07, 2013, 06:42:39 AM So are you learning to code, or playing a game? or both?
Title: Re: Learning Python part 3 Post by: vite on September 07, 2013, 01:47:36 PM So are you learning to code, or playing a game? or both? Learning to code Solving the LABY maze challenges was to test what I have learned so far. Title: Re: Learning Python part 3 Post by: jackjack on September 07, 2013, 03:04:19 PM Where is robot.py?
Quote while x == 3 - 4: Do you really mean while x==-1?Title: Re: Learning Python part 3 Post by: vite on September 07, 2013, 03:14:09 PM Where is robot.py? Quote while x == 3 - 4: Do you really mean while x==-1?Robot.py comes within LABY if you see the gist comment; the link to laby is there. Hmm since x is a random generated number I thought I was telling pythin if x equals 3 or 4 then go back to function... Edit : if u run ubuntu desktop you can install it from the software center. Title: Re: Learning Python part 3 Post by: FirstAscent on September 07, 2013, 03:24:16 PM Where is robot.py? Quote while x == 3 - 4: Do you really mean while x==-1?Robot.py comes within LABY if you see the gist comment; the link to laby is there. Hmm since x is a random generated number I thought I was telling pythin if x equals 3 or 4 then go back to function... Then it should be: while x == 3 or x == 4: In your code, it should be obvious that 3 - 4 is an expression which subtracts 4 from 3. Furthermore, - has greater precedence than ==, thus the expression 3 - 4 evaluates before the equality operator. Finally, 3 and 4 are constants, thus the interpreter can evaluate them at compile time, if it does do a mini-compile upon running, and convert them into the value -1. Now, let's look at some aspects of precedence and predicates. If the == operator had greater precedence than the - operator (which it doesn't), then we would have a statement which attempts to subtract 4 from the value of True or False. If coding in C, which you are not, the equality expression would evaluate to 0 or 1. Interestingly, we could do this: while((x == 3) - 4) { Which would evaluate to -3 if x did indeed equal 3. Title: Re: Learning Python part 3 Post by: vite on September 07, 2013, 03:44:55 PM What I find odd is that the ant is behaving the way I want it to behave. Meaning that if random outputs 3 or 4 it moves forward.
I guess I should do x == none instead. To break the loop ??? Just trying to figure out why the ant behaves as intended. Edit: figured it out X >= 3 That way %50 it will check to move forward And the rest of the other time it will try left or right The behavior can be altered by increasing/decreasing the range of the random numbers Title: Re: Learning Python part 3 Post by: vite on September 07, 2013, 04:46:18 PM Disregard the previous solution and thanks for the feedback...
I will just remove x == 3 - 4 all together, since I have the range from 1 to 4 if it does not generate 1 or 2 in the random number it will go back to function to check on other conditions and just move accordingly. Title: Re: Learning Python part 3 Post by: polrpaul on September 07, 2013, 04:50:43 PM this probably belongs in a python developers forum? :-\
Title: Re: Learning Python part 3 Post by: jackjack on September 07, 2013, 06:17:03 PM You can use "while x in [3, 4]"
Title: Re: Learning Python part 3 Post by: Moogle on September 07, 2013, 11:04:04 PM Good effort :-) I'm trying to learn java in my spare time. Wanna start making some apps for my phone :-P might finally be able yo get all my ahitty c# games playable on a phone :-D
Title: Re: Learning Python part 3 Post by: FirstAscent on September 08, 2013, 01:38:31 AM Are we dealing with floats?
In such a case, perhaps you meant something like this: while x >= 3 and x < 4: Title: Re: Learning Python part 3 Post by: vite on September 09, 2013, 08:15:05 PM Are we dealing with floats? In such a case, perhaps you meant something like this: while x >= 3 and x < 4: Are we dealing with floats? In such a case, perhaps you meant something like this: while x >= 3 and x < 4: both this solutions give me an error within laby using if and or gives me and error The best thing was to do if x == 1: left() if x == 2: right() main() Title: Re: Learning Python part 3 Post by: FirstAscent on September 09, 2013, 08:25:00 PM What error?
Title: Re: Learning Python part 3 Post by: vite on September 11, 2013, 12:31:17 PM What error? The solutions you offered are written correctly. But it seems the game LABY does not have a complete python library or just cannot read them. Gives me a track... syntax... on line depending on where I placed the code. Title: Re: Learning Python part 3 Post by: FirstAscent on September 11, 2013, 04:48:06 PM Well, I don't know anything about LABY. Why don't you write some code from the ground up?
Here's a good project for you: Write a program that builds a 2d road network using recursion, by growing roads one branch at a time, creating a road topology that is reasonable and authentic looking, including urban areas, suburbs, and rural areas. Print the topological data out to a Renderman RIB file, and use the freely available 3Delight renderer to render the network. Use this paper as inspiration, but do not adopt the L-system methodology: http://graphics.ethz.ch/Downloads/Publications/Papers/2001/p_Par01.pdf |