You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.4 KiB

import socket
import threading
import random
# Define las coordenadas de casillas especiales
casillas_especiales = [(2, 5), (3, 3), (4, 7), (5, 2), (6, 0),
(6, 5), (7, 8), (8, 4), (9, 1), (9, 9)]
def manejar_conexion(conn, addr):
print(f"Conexión establecida con {addr}")
# Envía las coordenadas de las casillas especiales al cliente
conn.sendall(str(casillas_especiales).encode())
intentos = 0
while intentos < 20:
data = conn.recv(1024).decode()
if not data:
break
print(f"Mensaje recibido de {addr}: {data}")
# Verifica si la casilla clicada es especial y envía la respuesta al cliente
fila, columna = map(int, data.split(','))
if (fila, columna) in casillas_especiales:
respuesta = "¡HAS TOCADO!"
else:
respuesta = "¡AGUA!"
conn.sendall(respuesta.encode())
intentos += 1
print(f"Conexión cerrada con {addr}")
conn.close()
def main():
host = '127.0.0.1'
port = 12345
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(5)
print("Servidor esperando conexiones...")
while True:
conn, addr = server_socket.accept()
thread = threading.Thread(target=manejar_conexion, args=(conn, addr))
thread.start()
if __name__ == "__main__":
main()

Powered by INFORMATICA.FP.EDU.ES.