Bueno, al margen de lo del for, el tema de los arrays es lo que hace complicado el código que lees. No sé nada de macromedia flash, así que te lo explicaré según lo que escribí en python (tu haces la traducción luego).
Aca los metódos claves son:eval() eval se usa para evaluar una sola expresión de Python generada dinámicamente. Le paso un string (código), esta la ejecuta y me retorna el resultado. Por ejemplo, le paso el nombre de una variable y de existir me dará el resultado, en caso contrarió me tirara un error (el mismo error que arrojaría si yo intentara acceder al valor de una variable que no existe).
exec() exec se usa para ejecutar código de Python generado dinámicamente. Le paso un string y lo ejecuta. Lo utilizó para crear una variable, osea: eval("variable = 5"), sería lo mismo que directamente escribir variable = 5 (solo que lo puedo hacer desde un string, en tiempo de ejecución).
El código se divide en 5 partes (identificadas por los comentarios):
1.- Seteo de variables: Esto ya lo entenderás así que no lo explicaré.
2.- Cálculo de cantidad de jugadores: Dado que no puedo usar arrays o diccionarios lo que hice fue usar un while que tuviera un contador incremental que parte desde 1. En cada ciclo uso la función eval para obtener el valor de la variable (iteración 1: Player
1Speed, iteración 2: Player
2Speed, etc.), y exec para guardar dicho valor en Turn1, Turn2, Turn3, etc. Cuando eval me tire un error de que la variable que intento acceder no existe entonces salgo del while. Como resultado de este bloque de código obtengo 2 cosas: La creación de variables Turn1, Turn2, Turn3, etc. con las velocidades en desorden y la cantidad de variables de entrada (obtenida a partir del contador resultante). Ejemplo:
l = 4
Turn1 = 2
Turn2 = 3
Turn3 = 1
Turn4 = 4
3.- El bubble sort mas feo del mundo: Aca no hay mucho que explicar. Si no lo conoces, busca bubble sort en internet y ya está. (Se podrían haber usado otros métodos de ordenamiento, pero este es el mas facil que se me ocurrió). Como resultado de este método obtengo las velocidades ordenadas (estas velocidades están guardadas dentro de Turn1, Turn2, Turn3, etc). Ejemplo:
Turn1 = 4
Turn2 = 3
Turn3 = 2
Turn4 = 1
4.- Remplazar velocidades por jugadores: Acá recorro la "lista" de jugadores, y por cada uno de estos, recorro la lista de turnos. Si la velocidad del jugador corresponde a la velocidad del turno, remplazo la velocidad del turno por el nombre del jugador y avanzo al siguiente jugador, así hasta que todos los valores sean remplazados. Ejemplo:
Turn1 = "Player4"
Turn2 = "Player2"
Turn3 = "Player1"
Turn4 = "Player3"
5.- Imprimir resultado ordenado: Nada que decir, solo recorro la lista de turnos e imprimo el resultado.
PD: Si el problema es no poder guardar arrays en un txt, entonces lee el txt, guarda esa lectura en un array de objetos con el nombre del jugador y su velocidad, y ejecuta un metodo de ordenamiento. Te será mucho mas simple.
PD2: No se nada de macromedia flash, pero esto no estaba muerto? Es una duda, no una critica, no te lo tomes a mal hahaha.