Simple Championship Game

Godot Version



I’m making a simple game.
It’s a tournament with 20 teams.
Each team starts with Attack 1 and Defense 1.
When teams play against each other, they roll 2 dices and choose which is going to be assigned to their Attack and which is going to be assigned to their Defense.
A Team’s goals is gonna be equal to the sum of their attack + chosen dice for attack minus the opponent’s defense and chosen dice.
When a Team wins, they get to choose which of their stats, Attack of Defense, is gonna be raised by 1.
When a Team loses, they have to choose which stat is gonna be subtracted by 1, Attack or Defense.

Each team faces each other at least twice. The team with the most wins is the champion.

Problem: Each team has their own AI. Some will choose the dices randomly, others will choose the highest dice value to be their attack and so on. I also want to have more than 1 team with the same strategy.

With that said, should I create custom classes for each type of AI?

So far I created 3 custom classes. Barcelona(an offensive AI), defensive and random.

In my code I put something like:
@onready barcelona: Barcelona = $Barcelona.

It seemed to work, but when putting into an array to shuffle teams for the tournament to start, getting the properties from it turned into nill.

Problem 2: I need a script that each team faces each other at least twice like in a group stage sports event. And making sure that the data from each team won’t be erased.

What should I do? What should I study? Where do I start?