feat: implement sentences mode with centered text and slower speed
- Set sentence fall speed to 25 pixels/second - Replace sentences with longer, realistic ones including commas and punctuation - Sentences always render centered on screen (80% max width constraint) - Ship stays centered during sentence mode (no horizontal movement) - Add punctuation support (. , ! ?) to keyboard input - Disable auto-tracking for sentence/paragraph modes
This commit is contained in:
+13
-5
@@ -18,7 +18,7 @@ export function useGame(
|
||||
|
||||
// Wrap renderBoard to include player position
|
||||
const renderBoardWrapped = (letters: any = []) => {
|
||||
boardManager.renderBoard(cursorManager.position(), letters, gameStatusManager.shipState, gameStatusManager.shipExplosionTime);
|
||||
boardManager.renderBoard(cursorManager.position(), letters, gameStatusManager.shipState, gameStatusManager.shipExplosionTime, gameMode);
|
||||
};
|
||||
|
||||
// Game loop tick handler
|
||||
@@ -26,12 +26,20 @@ export function useGame(
|
||||
const playerPos = cursorManager.position();
|
||||
gameStatusManager.updatePlayerX(playerPos.x);
|
||||
|
||||
if (letters.length > 0) {
|
||||
const letter = letters[0];
|
||||
cursorManager.setTargetX(letter.x);
|
||||
// For words/letters, auto-track to falling letters
|
||||
// For sentences/paragraphs, keep ship centered
|
||||
if (gameMode !== 'sentences' && gameMode !== 'paragraphs') {
|
||||
if (letters.length > 0) {
|
||||
const letter = letters[0];
|
||||
cursorManager.setTargetX(letter.x);
|
||||
}
|
||||
|
||||
cursorManager.moveTowardTarget(deltaTime);
|
||||
} else {
|
||||
// Keep ship centered for sentence/paragraph mode
|
||||
cursorManager.setTargetX(400); // Canvas center
|
||||
}
|
||||
|
||||
cursorManager.moveTowardTarget(deltaTime);
|
||||
renderBoardWrapped(letters);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user