@Override public void draw(Graphics g) { g.drawImage(background, 0, 0, getImageObserver()); player.draw(g); if (score >= 100) { g.drawImage(scoreNumbers[hundredsIndex], 35, 66, getImageObserver()); g.drawImage(scoreNumbers[tensIndex], 75, 66, getImageObserver()); g.drawImage(scoreNumbers[onesIndex], 115, 66, getImageObserver()); } else if (score < 100 && score >= 10) { g.drawImage(scoreNumbers[tensIndex], 75, 66, getImageObserver()); g.drawImage(scoreNumbers[onesIndex], 115, 66, getImageObserver()); } else g.drawImage(scoreNumbers[onesIndex], 115, 66, getImageObserver()); if (throwIndex >= 0 && wasThrownLeft) g.drawImage( throwLeftImages[throwIndex], throwLeftXPoints[throwIndex], throwLeftYPoints[throwIndex], getImageObserver()); else if (throwIndex >= 0 && !wasThrownLeft) g.drawImage( throwRightImages[throwIndex], throwRightXPoints[throwIndex], throwRightYPoints[throwIndex], getImageObserver()); if (oilMisses >= 0) g.drawImage(oilMissesImages[oilMisses], oilMissXPoint, oilMissYPoint, getImageObserver()); if (throwMisses >= 0) g.drawImage( throwMissesImages[throwMisses], throwMissXPoint, throwMissYPoint, getImageObserver()); if (bucketScore >= 0) g.drawImage( bucketImages[bucketScore], bucketXPoints[playerColumn - 1], bucketYPoint, getImageObserver()); if (gImage < 3) g.drawImage(girlImages[gImage], girlXPoint1, girlYPoint1, getImageObserver()); else g.drawImage(girlImages[gImage], girlXPoint2, girlYPoint2, getImageObserver()); if (mImage < 3) g.drawImage(manImages[mImage], manXPoint1, manYPoint, getImageObserver()); else g.drawImage(manImages[mImage], manXPoint2, manYPoint, getImageObserver()); catcher.draw(g); oil.draw(g); }
@Override public void update() { if (oilMisses == maxMisses || throwMisses == maxMisses) { setScore(score); setGameOver(true); } int[] scoreUpdates = oil.update(score, bucketScore, oilMisses, playerColumn); score = scoreUpdates[0]; bucketScore = scoreUpdates[1]; oilMisses = scoreUpdates[2]; setScoreImage(); if (mAngry) animateMan(); if (gAngry) animateGirl(); if (throwIndex >= 0) animateThrow(); catcher.update(); }