Football Game — Java
The lab’s fans roared. The CPU temperature hit 85°C. Leo watched as, over twelve generations, the red team started to… cooperate. A defender actually intercepted a pass. A forward curved a shot into the top corner of the ASCII goal. By generation forty-seven, the blue team began faking passes.
For two weeks, Leo coded obsessively. He implemented offside rules using a Linesman helper class. He coded a Referee that threw FoulException objects, which the main loop caught and turned into free kicks. He even added a rudimentary crowd noise class that played a .wav file of static mixed with a faint "Olé!" every time a pass completed. java football game
The night before the presentation, he ran the final test. Eleven red players versus eleven blue players on a console-rendered pitch of dashes and pipes. The ball, an 'O' , rolled. The lab’s fans roared
Then, a new line appeared, written in real time: A defender actually intercepted a pass
Leo smiled, closed his laptop, and walked out of the lab. The game would keep running on the university server, he knew. Long after his account was deleted. Long after the presentation was over. Some future sysadmin would find a mysterious Java process taking 100% of one core, and when they killed it, the console would print one last line:
The core was elegant. A Pitch class, a 2D array of Tile objects. A Ball with double x, y and a Vector velocity . Eleven Player objects on each side, each an instance of a complex hierarchy: Goalkeeper extends Player , Defender extends Player , Forward extends Player . They had states: RUNNING , STANDING , TACKLING , SHOOTING . They had AI—primitive at first, a simple decide() method that calculated the shortest path to the ball.