you should make sure to use consistent names as linux is case sensitive
Error:
metulburr@ubuntu:~/Downloads/RaceGame-master$ python3.6 main.py
0
100.0
Traceback (most recent call last):
File "main.py", line 107, in <module>
g.run()
File "main.py", line 66, in run
self.draw()
File "main.py", line 78, in draw
self.draw_text('RESTARTS {}'.format(PLAYER_ONE_COUNT), self.title_font, 20, RED,WIDTH - 10, 5, align="ne")
File "main.py", line 18, in draw_text
font = pg.font.Font(font_name, size)
OSError: unable to read font file 'img/VCR_OSD_MONO.TTF'
I would use the player class to have an attribute count that retains the number of wall hits that players has done. This would be better suited for a couple of reasons. 1) you plan on having more than one player and 2) its not static data and will be changing mid game. Your settings file would be better suited as static data that does not change mid game.
Your game class is well organized. However your player one file is not. It has the wall and collision global function in it. Your also using global in a class which is kind of weird. Why did you decided to the collision should be out of the player class?