awacke1 commited on
Commit
f672794
·
verified ·
1 Parent(s): a6329f2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -28
app.py CHANGED
@@ -106,7 +106,7 @@ def play_and_download_audio(file_path):
106
  st.audio(file_path)
107
  st.markdown(get_download_link(file_path), unsafe_allow_html=True)
108
 
109
- # WebSocket Broadcast (Moved Up for save_chat_entry Dependency)
110
  async def broadcast_message(message, room_id):
111
  if room_id in st.session_state.active_connections:
112
  disconnected = []
@@ -144,7 +144,7 @@ async def load_chat():
144
  content = f.read().strip()
145
  return content.split('\n')
146
 
147
- # Session State Init (Now After All Dependencies)
148
  def init_session_state():
149
  defaults = {
150
  'server_running': False, 'server_task': None, 'active_connections': {},
@@ -240,7 +240,7 @@ def start_websocket_server():
240
  asyncio.set_event_loop(loop)
241
  loop.run_until_complete(run_websocket_server())
242
 
243
- # Game HTML with Map
244
  html_code = f"""
245
  <!DOCTYPE html>
246
  <html lang="en">
@@ -296,6 +296,8 @@ html_code = f"""
296
 
297
  let players = {{}};
298
  const playerMeshes = {{}};
 
 
299
 
300
  function updatePlayers(playerData) {{
301
  playerData.forEach(player => {{
@@ -315,38 +317,25 @@ html_code = f"""
315
  document.addEventListener('keydown', (event) => {{
316
  const speed = 2;
317
  switch (event.code) {{
318
- case 'ArrowLeft': case 'KeyA':
319
- st.session_state.move_left = true;
320
- st.session_state.x_pos -= speed;
321
- ws.send(`{playerName}|MOVE:${{st.session_state.x_pos}}:${{st.session_state.z_pos}}`);
322
  break;
323
- case 'ArrowRight': case 'KeyD':
324
- st.session_state.move_right = true;
325
- st.session_state.x_pos += speed;
326
- ws.send(`{playerName}|MOVE:${{st.session_state.x_pos}}:${{st.session_state.z_pos}}`);
327
  break;
328
- case 'ArrowUp': case 'KeyW':
329
- st.session_state.move_up = true;
330
- st.session_state.z_pos -= speed;
331
- ws.send(`{playerName}|MOVE:${{st.session_state.x_pos}}:${{st.session_state.z_pos}}`);
332
  break;
333
- case 'ArrowDown': case 'KeyS':
334
- st.session_state.move_down = true;
335
- st.session_state.z_pos += speed;
336
- ws.send(`{playerName}|MOVE:${{st.session_state.x_pos}}:${{st.session_state.z_pos}}`);
337
  break;
338
  }}
339
  }});
340
 
341
- document.addEventListener('keyup', (event) => {{
342
- switch (event.code) {{
343
- case 'ArrowLeft': case 'KeyA': st.session_state.move_left = false; break;
344
- case 'ArrowRight': case 'KeyD': st.session_state.move_right = false; break;
345
- case 'ArrowUp': case 'KeyW': st.session_state.move_up = false; break;
346
- case 'ArrowDown': case 'KeyS': st.session_state.move_down = false; break;
347
- }}
348
- }});
349
-
350
  ws.onmessage = function(event) {{
351
  const data = event.data;
352
  if (data.startsWith('MAP_UPDATE:')) {{
 
106
  st.audio(file_path)
107
  st.markdown(get_download_link(file_path), unsafe_allow_html=True)
108
 
109
+ # WebSocket Broadcast
110
  async def broadcast_message(message, room_id):
111
  if room_id in st.session_state.active_connections:
112
  disconnected = []
 
144
  content = f.read().strip()
145
  return content.split('\n')
146
 
147
+ # Session State Init
148
  def init_session_state():
149
  defaults = {
150
  'server_running': False, 'server_task': None, 'active_connections': {},
 
240
  asyncio.set_event_loop(loop)
241
  loop.run_until_complete(run_websocket_server())
242
 
243
+ # Game HTML with Map (Corrected JavaScript)
244
  html_code = f"""
245
  <!DOCTYPE html>
246
  <html lang="en">
 
296
 
297
  let players = {{}};
298
  const playerMeshes = {{}};
299
+ let xPos = 0; // Local JavaScript variables for position
300
+ let zPos = 0;
301
 
302
  function updatePlayers(playerData) {{
303
  playerData.forEach(player => {{
 
317
  document.addEventListener('keydown', (event) => {{
318
  const speed = 2;
319
  switch (event.code) {{
320
+ case 'ArrowLeft': case 'KeyA':
321
+ xPos -= speed;
322
+ ws.send(`${{playerName}}|MOVE:${{xPos}}:${{zPos}}`);
 
323
  break;
324
+ case 'ArrowRight': case 'KeyD':
325
+ xPos += speed;
326
+ ws.send(`${{playerName}}|MOVE:${{xPos}}:${{zPos}}`);
 
327
  break;
328
+ case 'ArrowUp': case 'KeyW':
329
+ zPos -= speed;
330
+ ws.send(`${{playerName}}|MOVE:${{xPos}}:${{zPos}}`);
 
331
  break;
332
+ case 'ArrowDown': case 'KeyS':
333
+ zPos += speed;
334
+ ws.send(`${{playerName}}|MOVE:${{xPos}}:${{zPos}}`);
 
335
  break;
336
  }}
337
  }});
338
 
 
 
 
 
 
 
 
 
 
339
  ws.onmessage = function(event) {{
340
  const data = event.data;
341
  if (data.startsWith('MAP_UPDATE:')) {{