|  |  | @@ -11,6 +11,8 @@ function basegame(dt) | 
		
	
		
			
			|  |  |  | if t < shakeDuration then | 
		
	
		
			
			|  |  |  | t = t + dt | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | print("T = " .. tostring(t)) | 
		
	
		
			
			|  |  |  | serveBot() | 
		
	
		
			
			|  |  |  | if gameState == 'play' then | 
		
	
		
			
			|  |  |  | if (AGAINST_AI == 1) then | 
		
	
		
			
			|  |  |  | for i = 1, maxBalls do | 
		
	
	
		
			
				|  |  | @@ -79,9 +81,11 @@ function basegame(dt) | 
		
	
		
			
			|  |  |  | player2.dy = 0 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | print(areanuclear .. striken .. player1score .. player2score) | 
		
	
		
			
			|  |  |  | for i = 1, maxBalls do | 
		
	
		
			
			|  |  |  | if ball[i]:collides(player1) then | 
		
	
		
			
			|  |  |  | if (areanuclear == 0 and ((player1striken or player2striken) and (player1score > 9 or player2score > 9))) then | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (areanuclear == 0 and striken == 1 and (player1score > 8 or player2score > 8)) then | 
		
	
		
			
			|  |  |  | print("Calling animation") | 
		
	
		
			
			|  |  |  | superanimator("tensehit", 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
	
		
			
				|  |  | @@ -204,7 +208,7 @@ function basegame(dt) | 
		
	
		
			
			|  |  |  | shakeDuration = 1 | 
		
	
		
			
			|  |  |  | if | 
		
	
		
			
			|  |  |  | (areanuclear == 0 and | 
		
	
		
			
			|  |  |  | ((player1striken or player2striken) and (player1score > 9 or player2score > 9))) | 
		
	
		
			
			|  |  |  | (striken == 1 and (player1score > 8 or player2score > 8))) | 
		
	
		
			
			|  |  |  | then | 
		
	
		
			
			|  |  |  | superanimator("tensehit", 2) | 
		
	
		
			
			|  |  |  | end | 
		
	
	
		
			
				|  |  | @@ -324,6 +328,7 @@ function basegame(dt) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | hitIdentifier() | 
		
	
		
			
			|  |  |  | if ball[i].y <= 0 then | 
		
	
		
			
			|  |  |  | soundtype = love.math.random(1, 5) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:setPitch(ballSpeed / 250) | 
		
	
	
		
			
				|  |  | @@ -377,7 +382,12 @@ function basegame(dt) | 
		
	
		
			
			|  |  |  | player1:update(dt) | 
		
	
		
			
			|  |  |  | player2:update(dt) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | function menumode(dt) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function debugCheck(dt) | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (gameState == "menu") then | 
		
	
		
			
			|  |  |  | updateTEXT = "0.7.1 Chalkboard Update" | 
		
	
		
			
			|  |  |  | end | 
		
	
	
		
			
				|  |  | @@ -389,7 +399,8 @@ function menumode(dt) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | editor() | 
		
	
		
			
			|  |  |  | mapChanger() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function goalManager() | 
		
	
		
			
			|  |  |  | for i = 1, maxBalls do | 
		
	
		
			
			|  |  |  | if (ball[i].x < 0 - ballSpeed * 0.5) then | 
		
	
	
		
			
				|  |  | @@ -559,26 +570,367 @@ function powerAvailability() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function editor() | 
		
	
		
			
			|  |  |  | if (gameState == "editor") then | 
		
	
		
			
			|  |  |  | if debug then | 
		
	
		
			
			|  |  |  | --print("Editor is active!") | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | local mx, my = love.mouse.getPosition() | 
		
	
		
			
			|  |  |  | mx = mx * DIFFERENCE_X | 
		
	
		
			
			|  |  |  | my = my * DIFFERENCE_Y | 
		
	
		
			
			|  |  |  | if not blockinput then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 0, 0, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", mx, my, 10, wall1width) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if (love.mouse.isDown(2)) then | 
		
	
		
			
			|  |  |  | wallbreaker(mx, my) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if (love.mouse.isDown(3)) then | 
		
	
		
			
			|  |  |  | table.insert(walls, newWall(mx, my, 10, wall1width)) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function nuclearDraw() | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.circle("fill", ball[1].x, ball[1].y, explosionRange * 100, 100) | 
		
	
		
			
			|  |  |  | player1.RED, player1.GREEN, player1.BLUE, player2.RED, player2.GREEN, player2.BLUE = | 
		
	
		
			
			|  |  |  | nuclearanimation / 3, | 
		
	
		
			
			|  |  |  | nuclearanimation / 3, | 
		
	
		
			
			|  |  |  | nuclearanimation / 3, | 
		
	
		
			
			|  |  |  | nuclearanimation / 3, | 
		
	
		
			
			|  |  |  | nuclearanimation / 3, | 
		
	
		
			
			|  |  |  | nuclearanimation / 3 | 
		
	
		
			
			|  |  |  | for i = 1, maxBalls do | 
		
	
		
			
			|  |  |  | love.graphics.setColor(nuclearanimation / 3, nuclearanimation / 3, nuclearanimation / 3, 1) | 
		
	
		
			
			|  |  |  | ball[i]:render("controlled") | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | player1:render() | 
		
	
		
			
			|  |  |  | player2:render() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function normalDraw() | 
		
	
		
			
			|  |  |  | if (areanuclear == 1) then | 
		
	
		
			
			|  |  |  | love.graphics.clear(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | love.graphics.clear(40 / 255, 40 / 255, 40 / 255, 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | staticanimator() | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if MAP_TYPE == 1 then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 0, 0.20, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", VIRTUAL_WIDTH * 0.5, 0, 10, VIRTUAL_HEIGHT * 0.3) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", VIRTUAL_WIDTH * 0.5, VIRTUAL_HEIGHT * 0.7, 10, VIRTUAL_HEIGHT * 0.3) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if MAP_TYPE == 2 then | 
		
	
		
			
			|  |  |  | for i, wall in ipairs(walls) do | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", wall.wallx, wall.wally, 10, wall.wallheight) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if gameMode == 'practice' then | 
		
	
		
			
			|  |  |  | practiceDraw() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameMode == 'normal' then | 
		
	
		
			
			|  |  |  | pongDraw() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | for i = 1, maxBalls do | 
		
	
		
			
			|  |  |  | if areanuclear == 1 then | 
		
	
		
			
			|  |  |  | --love.window.setTitle('rendering black') | 
		
	
		
			
			|  |  |  | ball[i]:render("black") | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | --love.window.setTitle('rendering white') | 
		
	
		
			
			|  |  |  | ball[i]:render(" ") | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | function pongDraw() | 
		
	
		
			
			|  |  |  | --print("Drawing classic pong") | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.printf(TEXT, 0, 20, VIRTUAL_WIDTH, "center") | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | love.graphics.setFont(scorefont) | 
		
	
		
			
			|  |  |  | if (areanuclear == 1) then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(0, 0, 0, 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring(math.floor(player1score)), VIRTUAL_WIDTH / 2 - 500, VIRTUAL_HEIGHT / 12) | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring(math.floor(player2score)), VIRTUAL_WIDTH / 2 + 400, VIRTUAL_HEIGHT / 12) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | displayPoints() | 
		
	
		
			
			|  |  |  | player1:render() | 
		
	
		
			
			|  |  |  | player2:render() | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | function practiceDraw() | 
		
	
		
			
			|  |  |  | player1:render() | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", VIRTUAL_WIDTH-10, 0, 10, VIRTUAL_HEIGHT) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.printf(TEXT, 0, 20, VIRTUAL_WIDTH, "center") | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | love.graphics.setFont(scorefont) | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring(math.floor(player1score)), VIRTUAL_WIDTH / 2 - 500, VIRTUAL_HEIGHT / 12) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | function menuDraw() | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.printf(TEXT, 0, 20, VIRTUAL_WIDTH, "center") | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | love.graphics.printf(updateTEXT, 0, VIRTUAL_HEIGHT * 0.95, VIRTUAL_WIDTH, "left") | 
		
	
		
			
			|  |  |  | if MAP_TYPE == 1 then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 0, 0.20, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", VIRTUAL_WIDTH * 0.5, 0, 10, VIRTUAL_HEIGHT * 0.3) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", VIRTUAL_WIDTH * 0.5, VIRTUAL_HEIGHT * 0.7, 10, VIRTUAL_HEIGHT * 0.3) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if MAP_TYPE == 2 then | 
		
	
		
			
			|  |  |  | for i, wall in ipairs(walls) do | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", wall.wallx, wall.wally, 10, wall.wallheight) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "windowsettings" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, settings, sounds, "right") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "editor" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, editorpicks, sounds, "right") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "speedSettings" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, speedParameters, sounds, "middle") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "controlSettings" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, controlSettings, sounds, "control") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "gameMode" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, modeSelectorButtons, sounds, "middle") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "menu" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, buttons, sounds, "middle") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "difficulty" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, difbuttons, sounds, "middle") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "multiMode" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, playerCountButtons, sounds, "playercount") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == "prdiff" then | 
		
	
		
			
			|  |  |  | mymenu:butt(gameState, VIRTUAL_WIDTH, VIRTUAL_HEIGHT, pracdiff, sounds, "playercount") | 
		
	
		
			
			|  |  |  | love.keyboard.mouseisReleased = false | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == 'start' then | 
		
	
		
			
			|  |  |  | love.graphics.push() | 
		
	
		
			
			|  |  |  | love.graphics.translate(VIRTUAL_WIDTH * 0.4, VIRTUAL_HEIGHT * 0.5) | 
		
	
		
			
			|  |  |  | love.graphics.rotate(rotation) | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | love.graphics.print("Press Enter to Start", WINDOW_WIDTH / -10, VIRTUAL_HEIGHT / 8) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(255, 255, 255, 255) | 
		
	
		
			
			|  |  |  | love.graphics.pop() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | function baseDraw() | 
		
	
		
			
			|  |  |  | love.graphics.clear(40 / 255, 40 / 255, 40 / 255, 1) | 
		
	
		
			
			|  |  |  | if shakeDuration > t then | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | local dx = love.math.random(-shakeMagnitude, shakeMagnitude) | 
		
	
		
			
			|  |  |  | local dy = love.math.random(-shakeMagnitude, shakeMagnitude) | 
		
	
		
			
			|  |  |  | love.graphics.translate(dx, dy) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if globalState == 'menu' then | 
		
	
		
			
			|  |  |  | print("Drawing menuDraw") | 
		
	
		
			
			|  |  |  | if gameState == 'animation' then | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | print("Drawing animation") | 
		
	
		
			
			|  |  |  | intro() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState ~= 'animation' then | 
		
	
		
			
			|  |  |  | print("Drawing notanimtaion") | 
		
	
		
			
			|  |  |  | love.graphics.setFont(scorefont) | 
		
	
		
			
			|  |  |  | menuDraw() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if globalState == 'base' then | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | if gameState == 'nuclearExplosion' then | 
		
	
		
			
			|  |  |  | nuclearDraw() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if gameState == 'play' or gameState == '1serve' or gameState == '2serve' or gameState == 'done' then | 
		
	
		
			
			|  |  |  | print("Drawing normally") | 
		
	
		
			
			|  |  |  | normalDraw() | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function renderEditor() | 
		
	
		
			
			|  |  |  | if not blockinput then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 0, 0, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", mx, my, 10, wall1width) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | for i, wall in ipairs(walls) do | 
		
	
		
			
			|  |  |  | love.graphics.setColor(1, 1, 1, 1) | 
		
	
		
			
			|  |  |  | love.graphics.rectangle("fill", wall.wallx, wall.wally, 10, wall.wallheight) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function intro() | 
		
	
		
			
			|  |  |  | love.graphics.setColor(255, 255, 255, light / 255) | 
		
	
		
			
			|  |  |  | love.graphics.draw(image, 0, 0) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function displayPoints() | 
		
	
		
			
			|  |  |  | love.graphics.setFont(smallfont) | 
		
	
		
			
			|  |  |  | if areanuclear == 1 then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(0,0,0,1) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if (potentialstrike1 == 1 and potentialnuke1 == 0 and player1reverbav == 0) then --FLAG: AVAILABLE SUPER | 
		
	
		
			
			|  |  |  | if (player1striken == 0) then | 
		
	
		
			
			|  |  |  | love.graphics.print( | 
		
	
		
			
			|  |  |  | tostring(math.floor(player1nukescore) .. "[" .. p1control.super .. "]"), | 
		
	
		
			
			|  |  |  | VIRTUAL_WIDTH / 2 - 500, | 
		
	
		
			
			|  |  |  | VIRTUAL_HEIGHT / 60 | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring("READY"), VIRTUAL_WIDTH / 2 - 500, VIRTUAL_HEIGHT / 60) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | elseif (player1reverbav == 1 and potentialnuke1 == 0) then | 
		
	
		
			
			|  |  |  | love.graphics.print( | 
		
	
		
			
			|  |  |  | tostring( | 
		
	
		
			
			|  |  |  | math.floor(player1nukescore) .. "[" .. p1control.super .. "]" .. " [" .. p1control.counter .. "]" | 
		
	
		
			
			|  |  |  | ), | 
		
	
		
			
			|  |  |  | VIRTUAL_WIDTH / 2 - 500, | 
		
	
		
			
			|  |  |  | VIRTUAL_HEIGHT / 60 | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | elseif (potentialnuke1 == 1) then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(255, 0, 0, 255) | 
		
	
		
			
			|  |  |  | love.graphics.print( | 
		
	
		
			
			|  |  |  | tostring( | 
		
	
		
			
			|  |  |  | math.floor(player1nukescore) .. "[" .. p1control.super .. "]" .. " [" .. p1control.counter .. "]" | 
		
	
		
			
			|  |  |  | ), | 
		
	
		
			
			|  |  |  | VIRTUAL_WIDTH / 2 - 500, | 
		
	
		
			
			|  |  |  | VIRTUAL_HEIGHT / 60 | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(255, 255, 255, 255) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring(math.floor(player1nukescore)), VIRTUAL_WIDTH / 2 - 500, VIRTUAL_HEIGHT / 60) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if (potentialstrike2 == 1 and player2reverbav == 0) then | 
		
	
		
			
			|  |  |  | if (player2striken == 0) then | 
		
	
		
			
			|  |  |  | love.graphics.print( | 
		
	
		
			
			|  |  |  | tostring(math.floor(player2nukescore) .. "[" .. p2control.super .. "]"), | 
		
	
		
			
			|  |  |  | VIRTUAL_WIDTH / 2 + 430, | 
		
	
		
			
			|  |  |  | VIRTUAL_HEIGHT / 60 | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring("READY"), VIRTUAL_WIDTH / 2 + 430, VIRTUAL_HEIGHT / 60) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | elseif (potentialnuke2 == 1) then | 
		
	
		
			
			|  |  |  | love.graphics.setColor(255, 0, 0, 255) | 
		
	
		
			
			|  |  |  | love.graphics.print( | 
		
	
		
			
			|  |  |  | tostring(math.floor(player2nukescore) .. "[" .. p2control.super .. "]"), | 
		
	
		
			
			|  |  |  | VIRTUAL_WIDTH / 2 + 430, | 
		
	
		
			
			|  |  |  | VIRTUAL_HEIGHT / 60 | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | love.graphics.setColor(255, 255, 255, 255) | 
		
	
		
			
			|  |  |  | elseif (player2reverbav == 1 and potentialnuke2 == 0) then | 
		
	
		
			
			|  |  |  | love.graphics.print( | 
		
	
		
			
			|  |  |  | tostring(math.floor(player2nukescore) .. "[" .. p2control.super .. "] [" .. p2control.counter .. "]"), | 
		
	
		
			
			|  |  |  | VIRTUAL_WIDTH / 2 + 430, | 
		
	
		
			
			|  |  |  | VIRTUAL_HEIGHT / 60 | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | love.graphics.print(tostring(math.floor(player2nukescore)), VIRTUAL_WIDTH / 2 + 430, VIRTUAL_HEIGHT / 60) | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function hitIdentifier() | 
		
	
		
			
			|  |  |  | if (gameMode == "practice") then | 
		
	
		
			
			|  |  |  | MAP_TYPE = 0 | 
		
	
		
			
			|  |  |  | if ball[i].x > VIRTUAL_WIDTH * 0.99 then | 
		
	
		
			
			|  |  |  | soundtype = love.math.random(1, 5) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:setPitch(ballSpeed / 250) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:play() | 
		
	
		
			
			|  |  |  | if (ball[i].dx > 0) then | 
		
	
		
			
			|  |  |  | ball[i].x = ball[i].x - 20 | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | ball[i].x = ball[i].x + 20 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | ball[i].dx = -ball[i].dx | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if (MAP_TYPE == 1) then | 
		
	
		
			
			|  |  |  | if | 
		
	
		
			
			|  |  |  | ball[i].y < VIRTUAL_HEIGHT * 0.3 and ball[i].x > VIRTUAL_WIDTH * 0.5 and | 
		
	
		
			
			|  |  |  | ball[i].x < VIRTUAL_WIDTH * 0.5 + 5 | 
		
	
		
			
			|  |  |  | then | 
		
	
		
			
			|  |  |  | soundtype = love.math.random(1, 5) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:setPitch(ballSpeed / 250) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:play() | 
		
	
		
			
			|  |  |  | if (ball[i].dx > 0) then | 
		
	
		
			
			|  |  |  | ball[i].x = ball[i].x - 20 | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | ball[i].x = ball[i].x + 20 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | ball[i].dx = -ball[i].dx | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if | 
		
	
		
			
			|  |  |  | ball[i].y > VIRTUAL_HEIGHT * 0.7 and ball[i].x > VIRTUAL_WIDTH * 0.5 and | 
		
	
		
			
			|  |  |  | ball[i].x < VIRTUAL_WIDTH * 0.5 + 5 | 
		
	
		
			
			|  |  |  | then | 
		
	
		
			
			|  |  |  | soundtype = love.math.random(1, 5) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:setPitch(ballSpeed / 250) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:play() | 
		
	
		
			
			|  |  |  | if (ball[i].dx > 0) then | 
		
	
		
			
			|  |  |  | ball[i].x = ball[i].x - 20 | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | ball[i].x = ball[i].x + 20 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | ball[i].dx = -ball[i].dx | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | if (MAP_TYPE == 2) then | 
		
	
		
			
			|  |  |  | for i, wall in ipairs(walls) do | 
		
	
		
			
			|  |  |  | if | 
		
	
		
			
			|  |  |  | (ball[1].y > wall.wally and ball[1].y < wall.wally + wall.wallheight and | 
		
	
		
			
			|  |  |  | ball[1].x > wall.wallx - ballSpeed / 200 and | 
		
	
		
			
			|  |  |  | ball[1].x < wall.wallx + 10 + ballSpeed / 200) | 
		
	
		
			
			|  |  |  | then | 
		
	
		
			
			|  |  |  | controllerSer() | 
		
	
		
			
			|  |  |  | soundtype = love.math.random(1, 5) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:setPitch(ballSpeed / 250) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:play() | 
		
	
		
			
			|  |  |  | if (ball[1].dx > 0) then | 
		
	
		
			
			|  |  |  | ball[1].x = ball[1].x - 1 | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | ball[1].x = ball[1].x + 1 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | ball[1].dx = -ball[1].dx | 
		
	
		
			
			|  |  |  | elseif | 
		
	
		
			
			|  |  |  | (ball[1].y > wall.wally - 15 and ball[1].y < wall.wally + wall.wallheight + 10 and | 
		
	
		
			
			|  |  |  | ball[1].x > wall.wallx and | 
		
	
		
			
			|  |  |  | ball[1].x < wall.wallx + 10) | 
		
	
		
			
			|  |  |  | then | 
		
	
		
			
			|  |  |  | controllerSer() | 
		
	
		
			
			|  |  |  | soundtype = love.math.random(1, 5) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:setPitch(ballSpeed / 250) | 
		
	
		
			
			|  |  |  | sounds["wallhit"]:play() | 
		
	
		
			
			|  |  |  | if (ball[1].dy > 0) then | 
		
	
		
			
			|  |  |  | ball[1].y = ball[1].y - 1 | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | ball[1].y = ball[1].y + 1 | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | ball[1].dy = -ball[1].dy | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end | 
		
	
		
			
			|  |  |  | end |