In the main():
and many similar.Code:Player.rang_STR=(Player.max_STR-Player.min_STR)+1; Player.min_STR=1; Player.STR=Player.min_STR+int(Player.rang_STR*rand ()/(RAND_MAX + 1.0)); Player.max_STR=20;
Where does Player.max_STR and Player.min_str get their initial values in the first line? (Both are assigned later.)
The use of rand() seems also faulty. You'll probably need something like:
Code:Player.STR = Player.min_str + rand() % Player.rand_STR