|
64 | 64 | <script>
|
65 | 65 | const canvas = document.getElementById('gameCanvas');
|
66 | 66 | const ctx = canvas.getContext('2d');
|
67 |
| - canvas.width = window.innerWidth * 0.8; |
68 |
| - canvas.height = window.innerHeight * 0.6; |
69 |
| - |
70 |
| - const paddleWidth = 100; |
71 |
| - const paddleHeight = 10; |
72 |
| - const ballRadius = 10; |
73 |
| - |
74 |
| - let paddleX = (canvas.width - paddleWidth) / 2; |
75 |
| - let rightPressed = false; |
76 |
| - let leftPressed = false; |
77 |
| - |
78 |
| - let ballX = canvas.width / 2; |
79 |
| - let ballY = ballRadius; |
| 67 | + let paddleWidth; |
| 68 | + let paddleHeight; |
| 69 | + let ballRadius; |
| 70 | + let paddleX; |
| 71 | + let ballX; |
| 72 | + let ballY; |
80 | 73 | let ballDX = 2;
|
81 | 74 | let ballDY = 2;
|
82 | 75 | let score = 0;
|
| 76 | + let rightPressed = false; |
| 77 | + let leftPressed = false; |
83 | 78 |
|
84 |
| - document.addEventListener('keydown', keyDownHandler); |
85 |
| - document.addEventListener('keyup', keyUpHandler); |
86 |
| - canvas.addEventListener('mousemove', mouseMoveHandler); |
87 |
| - document.getElementById('playAgainBtn').addEventListener('click', resetGame); |
88 |
| - |
89 |
| - window.addEventListener('resize', () => { |
| 79 | + function resizeCanvas() { |
90 | 80 | canvas.width = window.innerWidth * 0.8;
|
91 | 81 | canvas.height = window.innerHeight * 0.6;
|
| 82 | + paddleWidth = canvas.width * 0.1; |
| 83 | + paddleHeight = canvas.height * 0.03; |
| 84 | + ballRadius = canvas.width * 0.02; |
92 | 85 | paddleX = (canvas.width - paddleWidth) / 2;
|
93 | 86 | ballX = canvas.width / 2;
|
94 | 87 | ballY = ballRadius;
|
95 |
| - }); |
| 88 | + } |
| 89 | + |
| 90 | + resizeCanvas(); |
| 91 | + |
| 92 | + document.addEventListener('keydown', keyDownHandler); |
| 93 | + document.addEventListener('keyup', keyUpHandler); |
| 94 | + canvas.addEventListener('mousemove', mouseMoveHandler); |
| 95 | + window.addEventListener('resize', resizeCanvas); |
| 96 | + document.getElementById('playAgainBtn').addEventListener('click', resetGame); |
96 | 97 |
|
97 | 98 | canvas.addEventListener('touchstart', (e) => {
|
98 | 99 | const touchX = e.touches[0].clientX - canvas.offsetLeft;
|
|
194 | 195 |
|
195 | 196 | function resetGame() {
|
196 | 197 | score = 0;
|
197 |
| - ballX = canvas.width / 2; |
198 |
| - ballY = ballRadius; |
199 | 198 | ballDX = 2;
|
200 | 199 | ballDY = 2;
|
| 200 | + resizeCanvas(); |
201 | 201 | document.getElementById('playAgainBtn').style.display = 'none';
|
202 | 202 | draw();
|
203 | 203 | }
|
|
0 commit comments