Jump to content




[MC1.8+] Pipe Mania

game

8 replies to this topic

#1 Bomb Bloke

    Hobbyist Coder

  • Moderators
  • 7,099 posts
  • LocationTasmania (AU)

Posted 15 May 2016 - 01:47 AM

pastebin get skcs9x1s pipemania

Posted Image


Requires an Advanced Computer, plus any version of ComputerCraft for MC1.8 or later. Also requires the BLittle API, though it'll attempt to download it automatically if it's missing. Should be fully playable on an external monitor (via the monitor script).

Pretty simple, you click around the playing area to place pipes from the dispenser on the left. Once the timer on the right empties, the "flooz" starts to flow; run it through the pipe for at least the specified distance in order to reach the next level.

50 points are awarded for each pipe the flooz runs through, doubled once the specified distance is reached and / or if the fast-forward button is pressed. 500 points are awarded for each junction crossed twice. 50 points are lost for placing a pipe over an existing one, and 100 are lost for each unused pipe remaining once the flooz spills.

Subsequent levels reduce the time before the flooz starts moving, and every second level increases the pipe distance requirement.

The game can optionally be started in kiosk mode (disabling the ability to quit) if started with the "-k" parameter.

Version History

Edited by Bomb Bloke, 06 August 2016 - 02:39 PM.


#2 DannySMc

  • Members
  • 1,808 posts
  • Location/home/dannysmc95

Posted 01 June 2016 - 05:34 PM

As I think you lost all your replies in the latest incident let me say that this is really fun to play!! Nice job!

#3 Bomb Bloke

    Hobbyist Coder

  • Moderators
  • 7,099 posts
  • LocationTasmania (AU)

Posted 02 June 2016 - 01:52 AM

I did, but no big deal. Thanks though. :)

#4 DannySMc

  • Members
  • 1,808 posts
  • Location/home/dannysmc95

Posted 02 June 2016 - 04:10 PM

View PostBomb Bloke, on 02 June 2016 - 01:52 AM, said:

I did, but no big deal. Thanks though. :)

You have no idea, this is like my favourite game on CC haha, I used to play these types of games on my phone. You should make some more like it, more puzzle based :P.

#5 DarkEyeDragon

  • Members
  • 31 posts
  • LocationBelgium

Posted 26 June 2016 - 04:20 PM

You sir. Are amazing. I clap for you xD You're legit the most creative and random person on this forum. And probably one of the better coders aswell. Where did you learn how to code (lua)? And any tips you could give for a newbie?

#6 Bomb Bloke

    Hobbyist Coder

  • Moderators
  • 7,099 posts
  • LocationTasmania (AU)

Posted 27 June 2016 - 02:50 AM

Aw, you flatter me. ;)

ComputerCraft was my introduction to Lua; but I actually learned to code on a BBC Micro (with the monochrome-green display and everything), typing in programs out of library books. Moved from there to QB (which has a great IDE; you can right-click on most any given keyword, and up comes the help system with a page of detail and source for an example program making use of it). Then to Java, which has too many methods and needs automated tools to write its documentation...

So I'm self-taught with no official training, and there's a lot I don't know.

But here's your random tip for the day; try and learn about some older file formats. Programming boils down to your ability to abstract a concept and reflect it in code - writing code that follows the obvious steps towards your goal often isn't the best way to do things (and leads to naive programming). Coming up with something that appears completely disjointed from the problem at hand can often lead to a much better solution (in terms of execution efficiency as well as overall length of code) - but you don't actually have to be "creative" to use any such tricks! It's perfectly valid to learn them from other programmers, and well-written file specifications tend to be text-book guides towards such new ways of thinking. They not only tell you how the bits and bytes are ordered, but why. :)

Compression's a great example of abstraction. One of my favourite old guides is this one detailing LZW compression.

#7 DarkEyeDragon

  • Members
  • 31 posts
  • LocationBelgium

Posted 28 June 2016 - 09:31 AM

View PostBomb Bloke, on 27 June 2016 - 02:50 AM, said:

Aw, you flatter me. ;)

ComputerCraft was my introduction to Lua; but I actually learned to code on a BBC Micro (with the monochrome-green display and everything), typing in programs out of library books. Moved from there to QB (which has a great IDE; you can right-click on most any given keyword, and up comes the help system with a page of detail and source for an example program making use of it). Then to Java, which has too many methods and needs automated tools to write its documentation...

So I'm self-taught with no official training, and there's a lot I don't know.

But here's your random tip for the day; try and learn about some older file formats. Programming boils down to your ability to abstract a concept and reflect it in code - writing code that follows the obvious steps towards your goal often isn't the best way to do things (and leads to naive programming). Coming up with something that appears completely disjointed from the problem at hand can often lead to a much better solution (in terms of execution efficiency as well as overall length of code) - but you don't actually have to be "creative" to use any such tricks! It's perfectly valid to learn them from other programmers, and well-written file specifications tend to be text-book guides towards such new ways of thinking. They not only tell you how the bits and bytes are ordered, but why. :)

Compression's a great example of abstraction. One of my favourite old guides is this one detailing LZW compression.

Thanks bunch for taking the time to write this! Its very informative and I'll try out some new things. The issue i have right now though is that i don't know what to make. I'm out of idea's to make programs for. I guess I should probably try to make a program for the most stupid things? Anyway, thanks again for being such a great help xD

#8 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 05 August 2016 - 02:29 AM

I've never been good at pipemania. I don't think I even cracked your default top-10 scores.

Had a lot of fun playing it though. Really nicely done, cheers BombBloke.

One tiny suggestion- I sometimes clicked the >> a few times because I wasn't sure if it was working or not. If you're using a timer event, you could possibly replace the event with a new one when that button is pressed so you can see the effect immediately, or update the UI somehow?

Edited by nitrogenfingers, 05 August 2016 - 02:29 AM.


#9 Bomb Bloke

    Hobbyist Coder

  • Moderators
  • 7,099 posts
  • LocationTasmania (AU)

Posted 06 August 2016 - 02:51 PM

The trick is to forget about points and just try to make a long run of pipe; if you try to build a masterpiece you'll inevitably find the bit you need near the start of the pipe doesn't turn up fast enough. So rush, and build something ugly instead. ;)

I've tweaked the script so that the fast forward button highlights when active. I've opted to leave the timer alone, as a fast button masher could otherwise exploit it to slow the game (though admittedly, they'd need to be very fast indeed...).





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users