mirror of
https://github.com/AudebertAdrien/ft_transcendence.git
synced 2025-12-16 14:07:49 +01:00
autofocus and key handling in the frontend forms
This commit is contained in:
parent
f94083810c
commit
63ee8bc75b
@ -91,15 +91,23 @@ class Game:
|
|||||||
|
|
||||||
async def handle_key_press(self, player, key):
|
async def handle_key_press(self, player, key):
|
||||||
if player == self.player1:
|
if player == self.player1:
|
||||||
if key == 'arrowup' and self.game_state['player1_position'] >= 25:
|
if key == 'arrowup':
|
||||||
self.game_state['player1_position'] -= 25
|
self.game_state['player1_position'] -= 25
|
||||||
elif key == 'arrowdown' and self.game_state['player1_position'] <= 275:
|
if self.game_state['player1_position'] < 0:
|
||||||
|
self.game_state['player1_position'] = 0
|
||||||
|
elif key == 'arrowdown':
|
||||||
self.game_state['player1_position'] += 25
|
self.game_state['player1_position'] += 25
|
||||||
|
if self.game_state['player1_position'] > 300:
|
||||||
|
self.game_state['player1_position'] = 300
|
||||||
elif player == self.player2:
|
elif player == self.player2:
|
||||||
if key == 'arrowup' and self.game_state['player2_position'] >= 25:
|
if key == 'arrowup':
|
||||||
self.game_state['player2_position'] -= 25
|
self.game_state['player2_position'] -= 25
|
||||||
elif key == 'arrowdown' and self.game_state['player2_position'] <= 275:
|
if self.game_state['player2_position'] < 0:
|
||||||
|
self.game_state['player2_position'] = 0
|
||||||
|
elif key == 'arrowdown':
|
||||||
self.game_state['player2_position'] += 25
|
self.game_state['player2_position'] += 25
|
||||||
|
if self.game_state['player2_position'] > 300:
|
||||||
|
self.game_state['player2_position'] = 300
|
||||||
|
|
||||||
async def end_game(self):
|
async def end_game(self):
|
||||||
if self.game_loop_task:
|
if self.game_loop_task:
|
||||||
|
|||||||
@ -15,6 +15,15 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
let token;
|
let token;
|
||||||
let gameState;
|
let gameState;
|
||||||
|
|
||||||
|
// Auto-focus and key handling for AUTH-FORM
|
||||||
|
nicknameInput.focus();
|
||||||
|
nicknameInput.addEventListener('keypress', function(event) {
|
||||||
|
if (event.key === 'Enter') {
|
||||||
|
event.preventDefault();
|
||||||
|
checkNicknameButton.click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
checkNicknameButton.addEventListener('click', handleCheckNickname);
|
checkNicknameButton.addEventListener('click', handleCheckNickname);
|
||||||
registerButton.addEventListener('click', handleRegister);
|
registerButton.addEventListener('click', handleRegister);
|
||||||
loginButton.addEventListener('click', handleLogin);
|
loginButton.addEventListener('click', handleLogin);
|
||||||
@ -27,9 +36,30 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
if (exists) {
|
if (exists) {
|
||||||
authForm.style.display = 'none';
|
authForm.style.display = 'none';
|
||||||
loginForm.style.display = 'block';
|
loginForm.style.display = 'block';
|
||||||
|
// Auto-focus and key handling for LOGIN-FORM
|
||||||
|
loginPasswordInput.focus();
|
||||||
|
loginPasswordInput.addEventListener('keypress', function(event) {
|
||||||
|
if (event.key === 'Enter') {
|
||||||
|
event.preventDefault();
|
||||||
|
loginButton.click();
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
authForm.style.display = 'none';
|
authForm.style.display = 'none';
|
||||||
registerForm.style.display = 'block';
|
registerForm.style.display = 'block';
|
||||||
|
// Auto-focus and key handling for REGISTER-FORM
|
||||||
|
passwordInput.focus();
|
||||||
|
passwordInput.addEventListener('keypress', function(event) {
|
||||||
|
if (event.key === 'Enter') {
|
||||||
|
confirmPasswordInput.focus();
|
||||||
|
confirmPasswordInput.addEventListener('keypress', function(event) {
|
||||||
|
if (event.key === 'Enter') {
|
||||||
|
event.preventDefault();
|
||||||
|
registerButton.click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error checking user existence:', error);
|
console.error('Error checking user existence:', error);
|
||||||
@ -134,7 +164,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
if (data.type === 'authenticated') {
|
if (data.type === 'authenticated') {
|
||||||
console.log('Authentication successful');
|
console.log('Authentication successful');
|
||||||
} else if (data.type === 'waiting_room') {
|
} else if (data.type === 'waiting_room') {
|
||||||
console.log('Entered the waiting room');
|
console.log('Entered the WAITING ROOM');
|
||||||
} else if (data.type === 'game_start') {
|
} else if (data.type === 'game_start') {
|
||||||
console.log('Game started:', data.game_id, '(', data.player1, 'vs', data.player2, ')');
|
console.log('Game started:', data.game_id, '(', data.player1, 'vs', data.player2, ')');
|
||||||
startGame(data.game_id, data.player1, data.player2);
|
startGame(data.game_id, data.player1, data.player2);
|
||||||
@ -164,7 +194,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleKeyDown(event) {
|
function handleKeyDown(event) {
|
||||||
if (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === '+') {
|
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
||||||
sendKeyPress(event.key.toLowerCase());
|
sendKeyPress(event.key.toLowerCase());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,6 +37,6 @@
|
|||||||
<div id="ball"></div>
|
<div id="ball"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="{% static 'game.js' %}"></script>
|
<script src="{% static 'game.js' %}"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user