@@ -201,6 +201,7 @@ function love.load() | |||||
newButton( | newButton( | ||||
"Online", | "Online", | ||||
function() | function() | ||||
MAP_TYPE = 0 | |||||
gameState = "chooseIP" | gameState = "chooseIP" | ||||
end | end | ||||
) | ) | ||||
@@ -291,15 +292,15 @@ function love.load() | |||||
end | end | ||||
) | ) | ||||
) | ) | ||||
table.insert( | |||||
settings, | |||||
newButton( | |||||
"Change Map", | |||||
function() | |||||
MAP_TYPE = MAP_TYPE + 1 | |||||
end | |||||
) | |||||
) | |||||
--table.insert( | |||||
-- settings, | |||||
-- newButton( | |||||
-- "Change Map", | |||||
-- function() | |||||
-- MAP_TYPE = MAP_TYPE + 1 | |||||
-- end | |||||
-- ) | |||||
--) | |||||
table.insert( | table.insert( | ||||
settings, | settings, | ||||
newButton( | newButton( | ||||
@@ -588,6 +589,7 @@ function love.load() | |||||
function() | function() | ||||
gameState = "1serve" | gameState = "1serve" | ||||
gameMode = "reversegame" | gameMode = "reversegame" | ||||
globalState = "base" | |||||
end | end | ||||
) | ) | ||||
) | ) | ||||
@@ -796,14 +798,23 @@ function nettest(dt) | |||||
print("ReceivedINFO: " .. data) | print("ReceivedINFO: " .. data) | ||||
confirmation = "N" | confirmation = "N" | ||||
local p = split(data, '|') | local p = split(data, '|') | ||||
if p[3] ~= "CLIENT" then | |||||
if p[3] ~= "CLIENT" and not p[15] then | |||||
confirmation = "U" | confirmation = "U" | ||||
end | end | ||||
if p[15] then | |||||
if p[15] ~= "CLIENT" then | |||||
confirmation = "U" | |||||
end | |||||
end | |||||
if tonumber(p[4]) > 90 then | if tonumber(p[4]) > 90 then | ||||
confirmation = "L" | confirmation = "L" | ||||
end | end | ||||
if ball[1].dx <= 0 then | |||||
lastSentKeyClient = p[1] | lastSentKeyClient = p[1] | ||||
player2.y = tonumber(p[2]) | player2.y = tonumber(p[2]) | ||||
elseif ball[1].dx > 0 then | |||||
lastSentKeyClient, ball[i].dy, player2.y, player1score, player2score, player1nukescore, player2nukescore, ball[i].x, ball[i].y, gameState, ball[i].dx, ballSpeed, paddle_SPEED = p[1], die, tonumber(p[4]), tonumber(p[5]), tonumber(p[6]), tonumber(p[7]), tonumber(p[8]), tonumber(p[9]), tonumber(p[10]), p[11], tonumber(p[12]), tonumber(p[13]), tonumber(p[14]) | |||||
end | |||||
end | end | ||||
until not data | until not data | ||||
@@ -830,7 +841,25 @@ function clienttest(dt) | |||||
end | end | ||||
ts = ts + dt | ts = ts + dt | ||||
if ts > updaterate then | if ts > updaterate then | ||||
if ball[1].dx <= 0 then | |||||
udp:send(tostring(lastSentKey) ..'|' .. player2.y .. "|CLIENT") | udp:send(tostring(lastSentKey) ..'|' .. player2.y .. "|CLIENT") | ||||
elseif ball[1].dx > 0 then | |||||
udp:send(tostring(lastSentKey) .. | |||||
'|' .. tostring(ball[1].dy) .. | |||||
'|' .. tostring(player1.y) .. | |||||
'|' .. tostring(player2.y) .. | |||||
'|' .. tostring(player1score) .. | |||||
'|' .. tostring(player2score) .. | |||||
'|' .. tostring(player1nukescore) .. | |||||
'|' .. tostring(player2nukescore) .. | |||||
'|' .. tostring(ball[1].x) .. | |||||
'|' .. tostring(ball[1].y) .. | |||||
'|' .. gameState .. | |||||
'|' .. tostring(ball[1].dx) .. | |||||
'|' .. tostring(ballSpeed) .. | |||||
'|' .. tostring(paddle_SPEED) .. | |||||
"|CLIENT") | |||||
end | |||||
ts = 0 | ts = 0 | ||||
end | end | ||||
local data | local data | ||||
@@ -856,9 +885,16 @@ function clienttest(dt) | |||||
end | end | ||||
for i = 1, maxBalls do | for i = 1, maxBalls do | ||||
local die = tonumber(p[2]) | local die = tonumber(p[2]) | ||||
lastSentKeyClient, ball[i].dy, player1.y, player1score, player2score, player1nukescore, player2nukescore, ball[i].x, ball[i].y, gameState, ball[i].dx, ballSpeed, paddle_SPEED = p[1], die, tonumber(p[4]), tonumber(p[5]), tonumber(p[6]), tonumber(p[7]), tonumber(p[8]), tonumber(p[9]), tonumber(p[10]), p[11], tonumber(p[12]), tonumber(p[13]), tonumber(p[14]) | |||||
if ball[i].dx <= 0 then | |||||
lastSentKeyClient, ball[i].dy, player1.y, player1score, player2score, player1nukescore, player2nukescore, ball[i].x, ball[i].y, gameState, ball[i].dx, ballSpeed, paddle_SPEED = p[1], die, tonumber(p[4]), tonumber(p[5]), tonumber(p[6]), tonumber(p[7]), tonumber(p[8]), tonumber(p[9]), tonumber(p[10]), p[11], tonumber(p[12]), tonumber(p[13]), tonumber(p[14]) | |||||
elseif ball[i].dx > 0 then | |||||
lastSentKeyClient = p[1] | |||||
player1.y = tonumber(p[4]) | |||||
end | end | ||||
end | |||||
end | |||||
elseif p[3] ~= "HOST" then | |||||
confirmation = "U" | |||||
end | |||||
end | end | ||||
print("GOT: " .. lastSentKeyClient) | print("GOT: " .. lastSentKeyClient) | ||||
until not data | until not data | ||||
@@ -1,5 +1,5 @@ | |||||
function basegame(dt) | function basegame(dt) | ||||
if gameMode == "reverse" then | |||||
if gameMode == "reversegame" then | |||||
reversegame(dt) | reversegame(dt) | ||||
end | end | ||||
if player1nukescore > 300 then | if player1nukescore > 300 then | ||||
@@ -89,7 +89,7 @@ function basegame(dt) | |||||
end | end | ||||
if (striken == 1) then | if (striken == 1) then | ||||
player1nukescore = player1nukescore * 1.2 | |||||
player1nukescore = player1nukescore * 1.5 | |||||
if (synctype == 0) then | if (synctype == 0) then | ||||
paddle_SPEED = paddle_SPEED * 1.10 | paddle_SPEED = paddle_SPEED * 1.10 | ||||
elseif (synctype == 1) then | elseif (synctype == 1) then | ||||
@@ -604,12 +604,7 @@ function normalDraw() | |||||
end | end | ||||
end | end | ||||
if gameMode == 'practice' then | |||||
practiceDraw() | |||||
end | |||||
if gameMode == 'normal' then | |||||
pongDraw() | |||||
end | |||||
pongDraw() | |||||
love.graphics.setFont(smallfont) | love.graphics.setFont(smallfont) | ||||
for i = 1, maxBalls do | for i = 1, maxBalls do | ||||
if areanuclear == 1 then | if areanuclear == 1 then | ||||
@@ -743,7 +738,7 @@ function baseDraw() | |||||
nuclearDraw() | nuclearDraw() | ||||
end | end | ||||
if gameState == 'play' or gameState == '1serve' or gameState == '2serve' or gameState == 'done' then | if gameState == 'play' or gameState == '1serve' or gameState == '2serve' or gameState == 'done' then | ||||
--print("Drawing normally") | |||||
print("Drawing normally") | |||||
normalDraw() | normalDraw() | ||||
end | end | ||||
@@ -1056,13 +1051,19 @@ function clientsBaseGame(dt) | |||||
end | end | ||||
if (striken == 1) then | if (striken == 1) then | ||||
player1nukescore = player1nukescore * 1.2 | |||||
player1nukescore = player1nukescore * 1.5 | |||||
if (synctype == 0) then | |||||
paddle_SPEED = paddle_SPEED * 1.10 | |||||
elseif (synctype == 1) then | |||||
paddle_SPEED = ballSpeed / 10 | |||||
end | |||||
if (synctype == 0) then | if (synctype == 0) then | ||||
AI_SPEED = AI_SPEED * 1.10 | AI_SPEED = AI_SPEED * 1.10 | ||||
end | end | ||||
if (synctype == 1) then | if (synctype == 1) then | ||||
AI_SPEED = ballSpeed * 1.1 / 10 | AI_SPEED = ballSpeed * 1.1 / 10 | ||||
end | end | ||||
ballSpeed = ballSpeed * 1.10 | |||||
end | end | ||||
player1nukescore = player1nukescore + 10 | player1nukescore = player1nukescore + 10 | ||||
ball[i].dx = -ball[i].dx | ball[i].dx = -ball[i].dx | ||||
@@ -1142,6 +1143,61 @@ function clientsBaseGame(dt) | |||||
player2nukescore = player2nukescore + 10 | player2nukescore = player2nukescore + 10 | ||||
ball[i].dx = -ball[i].dx | ball[i].dx = -ball[i].dx | ||||
ball[i].x = player2.x - 30 | ball[i].x = player2.x - 30 | ||||
if ((love.keyboard.isDown(p2control.up))) then | |||||
select = math.random(1, 5) | |||||
if select == 1 then | |||||
ball[i].dy = -1 | |||||
elseif select == 2 then | |||||
ball[i].dy = -1.2 | |||||
elseif select == 3 then | |||||
ball[i].dy = -1.5 | |||||
elseif select == 4 then | |||||
ball[i].dy = -1.8 | |||||
elseif select == 5 then | |||||
ball[i].dy = -2 | |||||
end | |||||
elseif (love.keyboard.isDown(p2control.down))then | |||||
select = math.random(1, 5) | |||||
if select == 1 then | |||||
ball[i].dy = 1 | |||||
elseif select == 2 then | |||||
ball[i].dy = 1.2 | |||||
elseif select == 3 then | |||||
ball[i].dy = 1.5 | |||||
elseif select == 4 then | |||||
ball[i].dy = 1.8 | |||||
elseif select == 5 then | |||||
ball[i].dy = 2 | |||||
end | |||||
else | |||||
if ball[i].dy < 0 then | |||||
select = math.random(1, 5) | |||||
if select == 1 then | |||||
ball[i].dy = -1 | |||||
elseif select == 2 then | |||||
ball[i].dy = -1.2 | |||||
elseif select == 3 then | |||||
ball[i].dy = -1.5 | |||||
elseif select == 4 then | |||||
ball[i].dy = -1.8 | |||||
elseif select == 5 then | |||||
ball[i].dy = -2 | |||||
end | |||||
else | |||||
select = math.random(1, 5) | |||||
if select == 1 then | |||||
ball[i].dy = 1 | |||||
elseif select == 2 then | |||||
ball[i].dy = 1.2 | |||||
elseif select == 3 then | |||||
ball[i].dy = 1.5 | |||||
elseif select == 4 then | |||||
ball[i].dy = 1.8 | |||||
elseif select == 5 then | |||||
ball[i].dy = 2 | |||||
end | |||||
end | |||||
end | |||||
end | end | ||||
hitIdentifier() | hitIdentifier() | ||||
if ball[i].y <= 0 then | if ball[i].y <= 0 then | ||||
@@ -1149,7 +1205,7 @@ function clientsBaseGame(dt) | |||||
sounds["wallhit"]:setPitch(ballSpeed / 250) | sounds["wallhit"]:setPitch(ballSpeed / 250) | ||||
sounds["wallhit"]:play() | sounds["wallhit"]:play() | ||||
ball[i].y = 0 | ball[i].y = 0 | ||||
ball[i].dy = -ball[i].dy | |||||
end | end | ||||
-- -4 to account for the ball's size | -- -4 to account for the ball's size | ||||
@@ -1158,6 +1214,7 @@ function clientsBaseGame(dt) | |||||
sounds["wallhit"]:setPitch(ballSpeed / 250) | sounds["wallhit"]:setPitch(ballSpeed / 250) | ||||
sounds["wallhit"]:play() | sounds["wallhit"]:play() | ||||
ball[i].y = VIRTUAL_HEIGHT - 40 | ball[i].y = VIRTUAL_HEIGHT - 40 | ||||
ball[i].dy = -ball[i].dy | |||||
end | end | ||||
--love.window.setTitle('Trying to update the ball') | --love.window.setTitle('Trying to update the ball') | ||||