Day 7
Lazy day because I’m a little tired after a long Homeschooling day (in the parent role), but I started my PyCharm and I think I switched (back) to it because it has some nice features I missed at VSC.
And I’ve done a little bit refactoring of the Python code. All classes in one module are bad style but I think I will do some more tomorrow during the day.
Day 8
My plan was to use some free daytime to make some progress but real life breached into this plan and I had to handle some surprise home sanitary cleaning stuff. I count on day 9.
Day 9
Today I started with a little cleanup. I wanted to build the classic three Intro-screen buttons “Play”, “About” and “Quit” and because I read some pygame documentation I realized the benefits of sprites and groups. So I restructured my classes to fit more to the pygame style.
Later I have to think about resizing because I don’t want to have a static screen resolution all sprites need to be resizable and so they need repositioning too
After that I put some work into a little system to use the pygame event system so that my button classes can switch to different scenes like Intro, Game and About (and Quit but that was trivial). Finally I have my first construction to have Buttons or other clickable things in the game to interact.
Because now the screen is dynamic enough I inserted a white background that will be copied onto the screen every frame. I researched a little bit because I thought there could be a better performance wise tactic but if we will have a dynamic background it’s the best variant in pygame. The other option is a group which returns the rectangles that need to be refreshed in the screen and update only these. But it’s only really relevant when you have software rendering and a static background. Sure at the moment we have a static white background but I hope this will change and if not the code changes will be straightforward.