Page 1 of 1
Breakout Extreme
Posted: Mon Oct 20, 2008 4:23 pm
by gfoot
adum said in the other thread he'd made it harder to figure out from the code - that certainly scuppered my first few attempts.

The message displayed depends on the levels having the right numbers of blocks in them, and my first attempts were all based around not instantiating all the blocks, and/or setting the block count to 1 rather than properly counting the blocks.
Neither method works properly because the password just comes out wrong. I wonder whether this is what adum anticipated? I was a little disappointed that my next stab worked without a hitch - that is, making blockDied always signal the end of the level, regardless of the actual remaining block count.
Posted: Mon Oct 20, 2008 5:36 pm
by adum
hmmn, that's an interesting approach. i probably should have put in more internal checks.
how did other people solve this one?
Posted: Mon Oct 20, 2008 6:39 pm
by tails
I remember I decompiled the class objects, simplified them by hand, figured out how to calculate each character, and wrote a script that output the string from the level table.
Posted: Tue Dec 02, 2008 12:06 pm
by tog
I modified the level-strings to bottomBounce=topBounce=true and let it run. Gets funny with splitter-bonus 8-D
Posted: Thu Dec 11, 2008 8:17 am
by snibril
The first eleven letters I got by simply playing it. The last two I got with an memory editor, setting the block count to 1. Works not always right, but I saw from the known first letters, that this is a bit tricky. Two tries, and I got the last two letters.
Posted: Tue Dec 30, 2008 11:07 pm
by osterlaus
snibril wrote:The first eleven letters I got by simply playing it. The last two I got with an memory editor, setting the block count to 1. Works not always right, but I saw from the known first letters, that this is a bit tricky. Two tries, and I got the last two letters.
This is what I did in both Breakout-challenges - so the extreme one was not harder than the usual.
Posted: Fri Jan 02, 2009 11:37 pm
by dotme
I hate KISS, but after my first attempt to modify "blockDied" failed, I went the same way like tog - making all borders to bounce and left the applet alone.
Changing the levels so that they consist only of one block showed that the solution seems to be based on the number of blocks?!
Posted: Wed May 27, 2009 10:42 am
by Zeta
This worked for me:
Private field S$5S in BreakoutGame contains the level number.
I introduced an additional field 'level' with public access and replaced every
use of S$5S with 'level' (simply changing the access modifier didn't work,
probably a glitch in the bytecode editor).
Then I subclassed BreakoutApplet and added the following code:
Code: Select all
final BreakoutGame game = theApplet.Il1l;
for(int i = 0; i<15; i++ ) {
game.level = i;
Thread thread = new Thread(){
public void run() {
game.start();
}
};
thread.run();
if (i<14) {
game.stop();
}
}
The game starts up at level 15 and the answer presents itself.
Posted: Mon Aug 17, 2009 8:03 pm
by sabretooth
solved all 13 levels by hand with no modification. I love breakout
sabre
Posted: Wed Sep 02, 2009 10:30 pm
by nighthalk
i did it modifying only a single byte (in the java bytecode), i found where the lives are subtracted(by changing all the possible subtracts in the file that were just before a itol bytecode decompiling each one), and changed it to add, boom i can never ever loose, now the last level was still a @$%^ but i eventually got it.
(i wish there was a program like ollydbg for java files heh, one that can run the class without any form of source code)
Posted: Mon Mar 29, 2010 1:21 pm
by contagious
with cheat engine

Posted: Wed Jul 13, 2011 2:42 pm
by AMindForeverVoyaging
contagious wrote:with cheat engine

Yeah, this. At first I played it by hand (solved 'Breakout' that way), but at Level 11 I got fed up with it and resorted to cheating.

Posted: Thu Jul 05, 2012 1:10 pm
by Shiadra
Just wrote some code that grants me a bonus non stop and restarted the game until i got triple bonus

Then u will never have to worry about having no more balls
Code: Select all
public class App extends BreakoutApplet implements Runnable {
Thread cheat;
BreakoutGame game;
public void init(){
super.init();
cheat = new Thread(this);
}
public void start(){
super.start();
game = super.Il1l;
cheat.start();
}
public void run(){
Bonus b = game.getRandomBonus();
while(true){
game.setBonus(b);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Posted: Sat May 24, 2014 7:26 am
by Hippo
Hmm, I first let the blockadd not to increment but set to 1 ... and got wrong password.
Next attempt was to blockdied sets the count to 0 ... and failed to write password correctly !!!
Than I have played by hand (OK ... I let my doughter to play, but I was more successfull anyways) and I got first three letters equal to the 2nd attemt.
I have tried changing last letter on remembered password from 2nd attempt ... and failed.
Finally I have returned to the blockdied method and writen password well.