-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame.txt
124 lines (116 loc) · 2.96 KB
/
game.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<html>
rahul <b> love </b>
<canvas id = "gameCanvas" width= "800"
height= "600"></canvas>
<script>
var canvas;
var canvasContext;
var ballX = 50;
var ballY = 50;
var ballSpeedX = 10;
var ballSpeedY = 4;
var player1Score = 0;
var player2Score = 0;
var paddle1Y = 250;
var paddle2Y = 250;
const PADDLE_THICKNESS = 10;
const WINNING_SCORE = 3;
const PADDLE_HEIGHT = 100;
function calculateMousePos(evt)
{
var rect = canvas.getBoundingClientRect();
var root = document.documentElement;
var mouseX = evt.clientX - rect.left - root.scrollLeft;
var mouseY = evt.clientY - rect.top - root.scrollTop;
return {
x:mouseX,
y:mouseY
};
}
window.onload = function()
{
console.log("Hello");
canvas = document.getElementById('gameCanvas');
canvasContext = canvas.getContext('2d');
var FramesPerSecond = 30;
setInterval(function(){
moveEverything();
drawEverything();},1000/FramesPerSecond);
canvas.addEventListener('mousemove',
function(evt){
var mousePos = calculateMousePos(evt);
paddle1Y = mousePos.y - (PADDLE_HEIGHT/2);
});
}
function ballReset(){
if(player1Score >= WINNING_SCORE || player2Score >= WINNING_SCORE){
player1Score = 0;
player2Score = 0;
}
ballSpeedX = - ballSpeedX;
ballX = canvas.width/2;
ballY = canvas.height/2;
}
function computerMovement(){
var paddle2YCenter = paddle2Y + (PADDLE_HEIGHT/2);
if(paddle2YCenter < ballY){
paddle2Y += 6;
}else {
paddle2Y -= 6;
}
}
function moveEverything()
{
computerMovement();
ballX += ballSpeedX;
ballY += ballSpeedY;
if ( ballX > canvas.width)
{ if(ballY > paddle2Y && ballY < paddle2Y+PADDLE_HEIGHT){
ballSpeedX = -ballSpeedX;
}else{
player1Score += 1;// must be before reset
ballReset();
}
}
if ( ballX < 0)
{
if(ballY > paddle1Y && ballY < paddle1Y+PADDLE_HEIGHT){
ballSpeedX = -ballSpeedX;
}else{
player2Score += 1;
ballReset();
}
}
if ( ballY > canvas.height)
{
ballSpeedY = - ballSpeedY;
}
if ( ballY < 0)
{
ballSpeedY = - ballSpeedY;
}
}
function drawEverything()
{
colorRect(0,0,canvas.width,canvas.height,'black');
colorRect(0, paddle1Y, PADDLE_THICKNESS ,PADDLE_HEIGHT,'white');
// below one is right computer paddle
colorRect(canvas.width - PADDLE_THICKNESS , paddle2Y, PADDLE_THICKNESS ,PADDLE_HEIGHT,'white');
colorCircle(ballX,ballY,10,'white');
canvasContext.fillText(player1Score,100,100);
canvasContext.fillText(player2Score,canvas.width-100,100);
}
function colorCircle(centerX,centerY,radius,drawColor)
{
canvasContext.fillStyle= 'drawColor';
canvasContext.beginPath();
canvasContext.arc(centerX,centerY,radius,0,Math.PI*2,true);
canvasContext.fill();
}
function colorRect(leftX,topY,width,height,drawColor)
{
canvasContext.fillStyle = drawColor;
canvasContext.fillRect(leftX,topY,width,height);
}
</script>
</html>