Files
EBLv2/app.py

79 lines
2.1 KiB
Python
Raw Normal View History

2025-09-30 18:47:23 +10:00
import json
from operator import mod
from tokenize import String
from flask import Flask, request, jsonify
from flask_cors import CORS
2025-10-01 18:25:31 +10:00
player1 = {"name": "Player 1", "xpos": 1, "ypos": 1, "xvel": 0, "yvel": 0}
map1 = {
"platforms": [
{"x": 30, "y": 100, "width": 100, "height": 100},
{"x": 0, "y": 260, "width": 400, "height": 10}
]
}
data = {}
def checkCollision():
global data
collision = False
for i in map1['platforms']:
if ((player1['ypos']+data['spriteData']['ufo']['height']/2 >= i['y']) & (player1['ypos']-data['spriteData']['ufo']['height']/2 <= i['y']+i['height']) & (player1['xpos']+data['spriteData']['ufo']['height']/2 >= i['x']) & (player1['xpos']-data['spriteData']['ufo']['width']/2 <= i['x']+i['width'])):
collision = True
return(collision)
2025-09-30 18:47:23 +10:00
app = Flask(__name__)
CORS(app)
@app.route('/api/send', methods=['POST'])
def receive_data():
2025-10-01 18:25:31 +10:00
global data
2025-09-30 18:47:23 +10:00
data = request.get_json()
# Input data is the form [reset(bool), isPressed(json)]
# Handle Resetting
if (data['reset']):
player1['xpos'] = 0
player1['ypos'] = 0
2025-10-01 18:25:31 +10:00
player1['xvel'] = 0
player1['yvel'] = 0
2025-09-30 18:47:23 +10:00
# Handle key presses
if (data['keyDown']['ArrowUp'] == True):
player1['ypos'] += 1
2025-10-01 18:25:31 +10:00
if (checkCollision()):
player1['ypos'] -= 1
player1['yvel'] = 2
else:
player1['ypos'] -= 1
if (data['keyDown']['ArrowDown'] == True):
print('LOW LOW LOW LOW LOW LOW LOW LOW')
2025-09-30 18:47:23 +10:00
if (data['keyDown']['ArrowRight'] == True):
player1['xpos'] += 1
2025-10-01 18:25:31 +10:00
if (checkCollision()):
player1['xpos'] -= 1;
2025-09-30 18:47:23 +10:00
if (data['keyDown']['ArrowLeft'] == True):
player1['xpos'] -= 1
2025-10-01 18:25:31 +10:00
if (checkCollision()):
player1['xpos'] += 1;
# Velocity
player1['xpos'] += player1['xvel']
player1['ypos'] -= player1['yvel']
2025-09-30 18:47:23 +10:00
2025-10-01 18:25:31 +10:00
if (checkCollision()):
player1['ypos'] += player1['yvel']
player1['yvel'] = 0
# Handle Gravity
player1['yvel'] -= 0.05
return jsonify({
"player1": player1,
"map1": map1,
})
2025-09-30 18:47:23 +10:00
if __name__ == '__main__':
app.run(debug=True)