def registroEstudiante(): rango = "estudiante" registroUsuario = agregarUsuario(rango) if registroUsuario is not None: print("El nuevo {} ha sido creado con exito.".format(rango)) print("Ingrese los datos del nuevo proyecto: ") nombre = input("Nombre : ") link = input("Link de descarga : ") nivel = recibirOpcion( input("1-Principiante 2-Intermedio 3-Avanzado\n" "¿Qué categoría como desarrollador te consideras?: \n"), 3) categoria = recibirOpcion( input("1-App. Móvil 2-Consola o PC" "\n¿A que categoría pertenece su proyecto?\n"), 2) nuevoProyecto = dict(codigo=getNumeroProyecto(), usuario=registroUsuario, nombre=nombre, link=link, nivel=nivel, categoria=categoria, ganadorConsolaPC=False, ganadorMovil=False, ganadorGeneral=False, calificacionesCount=0, calificaciones=list()) if (agregarProyecto(nuevoProyecto)): print("Felicidades. Su proyecto se ha registrado con exito.") else: print("Ha ocurrido un error al registrar su proyecto.") os.system("pause") panelEstudianteIniciado()
def panelEstudiante(): nOpciones = 2 os.system("cls") print("## Inicio como Estudiante ##") print("1 - Regresar al menu") print("2 - Iniciar sesión") if estadoRegistros(): print("3 - Registrarse") nOpciones = 3 _opPanel = recibirOpcion(input("\n¿Qué opción deseas? : "), nOpciones) return _opPanel
def agregarUsuario(rango): print("Ingrese los datos del nuevo {}.".format(rango)) nombre = input("Nombre : ") usuario = input("Usuario : ") while True: if usuarioReutilizado(usuario): print("Nombre de usuario ya en uso, porfavor intente con otro.") sleep(2) usuario = input("Usuario : ") else: break contrasena = input("Contraseña : ") correo = input("Correo : ") if rango == "estudiante": telefonoCasa = input("Telefono de casa : ") numeroCelular = input("Numero celular :") ciudad = input("Ciudad : ") semestre = recibirOpcion(input("Semestre : "), 9) tituloCarrera = input("Titulo de carrera: ") uni = input("Universidad: ") nuevoUsuario = dict(nombre=nombre, usuario=usuario, contrasena=contrasena, correo=correo, rango=rango, telefonoCasa=telefonoCasa, numeroCelular=numeroCelular, ciudad=ciudad, semestre=semestre, tituloCarrera=tituloCarrera, universidad=uni) else: nuevoUsuario = dict(nombre=nombre, usuario=usuario, contrasena=contrasena, correo=correo, rango=rango) listUsuarios = cargar_usuarios() listUsuarios.append(nuevoUsuario) guardar_usuarios(listUsuarios) return usuario
def iniciarSesion(rango): _user = _pass = None while True: os.system("cls") print("--- Iniciar sesión como {} ---".format(rango.upper())) # Si está reintentando iniciar sesión, # con esto sólo vuelve a escibir la contraseña if _user == None: _user = input("Usuario : ") else: print("Usuario : {}".format(_user)) _pass = input("Contraseña : ") res, resText = verificarSesion(_user, _pass, rango) print(respuestasVerificar(res)) if res == 0: # sleep(5) _iniciarPanel(rango, _user) break elif res == 1: _opcion = recibirOpcion(input("1-Volver a intentar.\n" "2-Salir\n" "¿Qué opción deseas? : "), 2) if _opcion == 2: break else: os.system("cls") elif res == 2: print("Contacte a su administrador.") sleep(5) break else: print("Redirigiendo a pantalla inicial.") sleep(5) break
def panelAdmin(): while True: os.system("cls") print("## PANEL DE ADMINISTRADOR ##") _opPanel = recibirOpcion(input(".- Concurso -.\n" "1 - Terminar concurso\n" "2 - Cerrar Registro\n" "\n" ".- Videojuegos -.\n" "3 - Ver mejores puntuaciones\n" "4 - Descalificar videojuego\n" "\n" ".- Usuarios -.\n" "6 - Agregar un nuevo juez.\n" "7 - Eliminar un usuario.\n" "8 - Ver lista de jueces\n" "\n" "9 - Cerrar sesion" "\n¿Qué opción deseas? : "), 9) # Cerrar el concurso. # if _opPanel == 1: proyectosSinCalificar = findDicsInList(cargar_proyectos(), calificacionesCount=0) if len(proyectosSinCalificar) > 0: print("No se puede cerrar el concurso porque hay proyectos pendientes de calificacion.") print("--- Proyectos pendientes ---\n") for proyecto in proyectosSinCalificar: verProyecto(proyecto) os.system("pause") else: cerrarConcurso() os.system("pause") # Deshabilitar registros. if _opPanel == 2: cerrarRegistros() print("Se han deshabilitado los registros.") os.system("pause") # Mostrar mejores calificaciones if _opPanel == 3: verMejoresCalificaciones() os.system("pause") # Descalificar proyecto if _opPanel == 4: while True: os.system("cls") print("-- Descalificar proyecto --") nombreUsuario = input("Introduce el nombre del usuario del dueño del proyecto: ") if descalificarProyecto(nombreUsuario): print(f"Proyecto '{nombreUsuario}' eliminado exitosamente.") os.system("pause") break else: print(f"Proyecto de usuario '{nombreUsuario}' no existe.") opcion = recibirOpcion(input("\n 1 - Reintentar con otro usuario." "\n 2 - Salir" "\n¿Qué opción desea? : "), 2) if opcion == 2: break # Agregar un nuevo juez. # if _opPanel == 6: rango = "juez" agregarUsuario(rango) print("El nuevo {} ha sido creado con exito.".format(rango)) os.system("pause") # Eliminar usuario. # if _opPanel == 7: while True: os.system("cls") print("-- Eliminar usuario --") nombreUsuario = input("Introduce el nombre del usuario a eliminar: ") if eliminarUsuario(nombreUsuario): print("Usuario '{}' eliminado exitosamente.".format(nombreUsuario)) os.system("pause") break else: print("Usuario '{}' no existe.".format(nombreUsuario)) opcion = recibirOpcion(input("\n 1 - Reintentar con otro usuario." "\n 2 - Salir" "\n¿Qué opción desea? : "), 2) if opcion == 2: break # Ver lista de jueces. # if _opPanel == 8: os.system("cls") listaJueces = findDicsInList(cargar_usuarios(), rango="juez") if listaJueces is None: print("Aún no has registrado jueces.") else: print("## Lista de JUECES ##\n") for dicJuez in listaJueces: print(" + Nombre: {}" "\n Usuario: {}" "\n Correo: {}\n" .format(dicJuez.get("nombre"), dicJuez.get("usuario"), dicJuez.get("correo"))) os.system("pause") # Salir. # if _opPanel == 9: break
def panelJuez(userJuez): while True: os.system("cls") print("## PANEL DE JUEZ ##") _opPanel = recibirOpcion( input(".- Proyectos -.\n" "1 - Calificar proyectos\n" "2 - Ver proyectos ya calificados\n" "3 - Ver proyectos sin calificar\n" "4 - Descalificar proyecto\n" "\n" "5 - Cerrar sesion" "\n¿Qué opción deseas? : "), 5) # Cerrar el concurso. # if _opPanel == 1: if estadoConcurso(): proyectos = findProyectosJuez(userJuez)["noCalificados"] criterios = [ "originalidad", "Creatividad", "Innovacion e impacio", "Complejidad técnica", "Capacidad comercializacion", "Experiencia de juego", "Diseño", "Arte", "Música y sonido", "Estrategia de juego" ] for proyecto in proyectos: os.system("cls") print(f"CALIFICAR PROYECTO") verProyecto(proyecto) calificaciones = [] print("Calificación de 1 a 10 en:") for criterio in criterios: cal = recibirOpcion(input(" - " + criterio + " : "), 10) calificaciones.append(cal) os.system("cls") print("Guardando calificaciones ingresadas..") calificarProyecto(proyecto["usuario"], userJuez, calificaciones) sleep(3) print("¿Desea seguir calificando proyectos?\n" "1 - Sí 2 - No\n") _opcion = recibirOpcion(input(), 2) if _opcion == 2: break else: print("Concurso ya cerrado. Ya no es posible calificar.") print("Los ganadores fueros:") verMejoresCalificaciones() os.system("pause") # Ver proyectos calificados. if _opPanel == 2: proyectos = findProyectosJuez(userJuez)["calificados"] print(f"--- {len(proyectos)} Proyectos calificados ---") for proyecto in proyectos: print("-----------------------------") verProyecto(proyecto) os.system("pause") # Ver proyectos sin calificar. if _opPanel == 3: proyectos = findProyectosJuez(userJuez)["noCalificados"] print(f"--- {len(proyectos)} Proyectos NO calificados ---") for proyecto in proyectos: print("-----------------------------") verProyecto(proyecto) os.system("pause") # Descalificar proyecto if _opPanel == 4: while True: os.system("cls") print("-- Descalificar proyecto --") nombreUsuario = input( "Introduce el nombre del usuario del dueño del proyecto: ") if descalificarProyecto(nombreUsuario): print( f"Proyecto '{nombreUsuario}' eliminado exitosamente.") os.system("pause") break else: print(f"Proyecto de usuario '{nombreUsuario}' no existe.") opcion = recibirOpcion( input("\n 1 - Reintentar con otro usuario." "\n 2 - Salir" "\n¿Qué opción desea? : "), 2) if opcion == 2: break # Salir. # if _opPanel == 5: break