Minmax isn't wearing pants...he never has, as we all know!Liesmith wrote:I think the only thing that could make this update better is a minor edit to the final panel: as Minmax stands there, looking badass, his pants should fall to the ground with a *flup*. It's tradition!
September 19, 2013: Ding Ding
- RedwoodElf
- Converses Frequently
- Posts: 526
Re: September 19, 2013: Ding Ding
There are worlds out there where the sky is burning...where the seas sleep and the rivers dream. People made of smoke, and cities made of song. Somewhere there's danger. Somewhere there's injustice. Somewhere else, the tea is getting Cold. C'mon Ace, we've got work to do! - The Doctor (Sylvester McCoy, last line in the old series)
-
-
- stevedj
- Voices Opinions
- Posts: 417
Re: September 19, 2013: Ding Ding
Just one little wrinkle with your code sample -- what happens if Group Y enters the Blue Circle before Group X has entered the Red Circle? There should be some logic that prevents that. So, I might modify your code suggestion as follows:Master TMO wrote:I wonder if the hacking the Maze has taken would allow something like this:
Original Code:Hacked Code:Code: Select all
OnAction :: Group(X) Enters Blue Circle :: Message("Win").Play; OnAction :: Group(X) Enters Red Circle :: Group(X).SendHome; Maze.ResetAll;
By commenting out the Maze Reset, it would allow every surviving person in the Maze to go through and win. If the creators were lazy and didn't put a check in there to make sure it hadn't already been won. Because the Maze Reset is supposed to happen immediately, there wouldn't be anybody there to step through and win again. So perhaps FMK 156 can go through now and win, even though PsiMax has also won.Code: Select all
OnAction :: Group(X) Enters Blue Circle :: Message("Win").Play; OnAction :: Group(X) Enters Red Circle :: Group(X).SendHome; /*Maze.ResetAll;*/
Original Code:
Code: Select all
OnAction :: Group(X) Enters Blue Circle :: Message("Win").Play;Circle["Blue"].Disable;Circle["Red"].Enable
OnAction :: Group(X) Enters Red Circle :: Group(X).SendHome; Maze.ResetAll;
Code: Select all
OnAction :: Group(X) Enters Blue Circle :: Message("Win").Play;Circle["Blue"].Disable;Circle["Red"].Enable
OnAction :: Group(X) Enters Red Circle :: Group(X).SendHome; /*Maze.ResetAll;*/
Code: Select all
OnAction :: Group(X) Enters Blue Circle :: Message("Win").Play; /* Circle["Blue"].Disable; */Circle["Red"].Enable
OnAction :: Group(X) Enters Red Circle :: Group(X).SendHome; /*Maze.ResetAll;*/
Better new hack:
Code: Select all
OnAction :: Group(X) Enters Blue Circle :: Message("Win").Play;Circle["Blue"].Disable;Circle["Red"].Enable
OnAction :: Group(*) Enters Red Circle :: Group($_).SendHome; /*Maze.ResetAll;*/
Meanwhile, all the non-coders here are starting to think '...what's up with all this code crap? ... '
- RocketScientist
- Global Moderator
- Posts: 5894
- Location: Massachusetts
Re: September 19, 2013: Ding Ding
You know, I actually would have expected the blue-circle-entering group to have been given a unique identifier/variable in, uh, maze-code 1.0, so it wouldn't matter if someone else entered the red circle. Or is that not a thing in maze-code?
Also, bearing in mind that I don't actually speak maze-code, and my code-fu is weak, I'm trying to figure out what the purpose is of winning at all, at that point. The blue doesn't reset AFAICT, and the red is just "on," and then whoever uses red goes home, bypassing the need for blue, right? So why reset the blue at all?
(Sorry if that's a dumb question. I just want to know all the things. )
Also, bearing in mind that I don't actually speak maze-code, and my code-fu is weak, I'm trying to figure out what the purpose is of winning at all, at that point. The blue doesn't reset AFAICT, and the red is just "on," and then whoever uses red goes home, bypassing the need for blue, right? So why reset the blue at all?
(Sorry if that's a dumb question. I just want to know all the things. )
- Master TMO
- Speaks Quietly
- Posts: 142
Re: September 19, 2013: Ding Ding
Apparently I'm the father of a new coding language. Hmm, let's see if I can clean it up a bit.
Well, I don't think I have a future as a code language developer...
But yes, with this method, it would take more than a simple hack to allow the entire Maze to win. Disabling the Maze.Reset call wouldn't reset the Blue Circle, as it makes the most sense for that to be part of the Reset code itself.
Code: Select all
OnAction :: Circle["Blue"].EnteredBy(X) :: Message["Win"].Play; Circle["Blue"].Disable; Circle["Red"].EnableFor(X); ;;
OnAction :: Circle["Red"].EnteredBy(X) :: Message["Exit"].Play; Group(X).Return; Maze.Reset; ;;
Objects ::
Maze ::
.Reset :: Clock.Stop; Clock.Set(0); Until Groups.Count => MaxSlots :: Group.Add; ;; Groups.Reset; Circle["Red"].Disable; Circle["Blue"].Enable; ;;
;;
;;
But yes, with this method, it would take more than a simple hack to allow the entire Maze to win. Disabling the Maze.Reset call wouldn't reset the Blue Circle, as it makes the most sense for that to be part of the Reset code itself.
- RocketScientist
- Global Moderator
- Posts: 5894
- Location: Massachusetts
Re: September 19, 2013: Ding Ding
Congratulations! It's a-maze-ing.Master TMO wrote:Apparently I'm the father of a new coding language.
- RedwoodElf
- Converses Frequently
- Posts: 526
Re: September 19, 2013: Ding Ding
You forgot something like:
Code: Select all
Newgroup.Failcounter = -1 (After the next step, this will be zero)
For Group = 1..TotalGroups do
Begin
Group.FailCounter += 1
End
There are worlds out there where the sky is burning...where the seas sleep and the rivers dream. People made of smoke, and cities made of song. Somewhere there's danger. Somewhere there's injustice. Somewhere else, the tea is getting Cold. C'mon Ace, we've got work to do! - The Doctor (Sylvester McCoy, last line in the old series)
-
-