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.
Breakout Extreme
Breakout Extreme
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.
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.
This is what I did in both Breakout-challenges - so the extreme one was not harder than the usual.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 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:
The game starts up at level 15 and the answer presents itself.
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();
}
}
- sabretooth
- Posts: 61
- Joined: Sun Jul 12, 2009 3:13 pm
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)
(i wish there was a program like ollydbg for java files heh, one that can run the class without any form of source code)
-
AMindForeverVoyaging
- Forum Admin
- Posts: 497
- Joined: Sat May 28, 2011 9:14 am
- Location: Germany
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();
}
}
}
}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.
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.