Files
School/Anul 1/Semestrul 1/Fundamentals of Programming/a9-912-Cujba-Daniel
2024-08-31 12:07:21 +03:00
..
2024-08-31 12:07:21 +03:00
2024-08-31 12:07:21 +03:00
2024-08-31 12:07:21 +03:00
2024-08-31 12:07:21 +03:00
2024-08-31 12:07:21 +03:00

🎮 Assignment 09

Requirements

  • You will be given one of the problems below to solve
  • Use object oriented programming and layered architecture
  • All modules with the exception of the UI will have specifications and PyUnit test cases
  • The program must protect itself against the users invalid input

NB! We do not expect you to implement optimal play for the computer player. However, it should still employ a strategy when making its moves in order to attempt to win the game and provide an entertaining opponent for the human player. Minimally, the computer player should move to win the game whenever possible and should block the human players attempts at 1-move victory, whenever possible

deadline is week 14

GUI Bonus (0.2P)

  • In addition to the console-based user interface required, also implement a graphical user interface (GUI) for the program
  • To receive the bonus, both user interfaces (menu-based and graphical) must use the same program layers. You have to be able to start the application with either user interface

AI Bonus (0.2P)

  • Implement computer AI using a minimax algorithm. Computer play should be competitive against the human player
  • In the case where minimax cannot be applied (e.g. Battleship, which is not a complete information game), find a suitable alternative; talk to your lab professor about the bonus possibility in this case

Best-of-FP Bonus (0.2P)

  • This bonus will be awarded to the very best implementations. To receive it, you need to implement both the GUI and AI bonuses, follow all implementation requirements, and have your work be selected by the laboratory professor
  • These implementations will be part of a separate GitHub repository that we aim to make publicly accessible in order to feature some of our students' best work during this semester

Problem Statements

Connect Four

The game is described here

Gomoku

The game is described here

Obstruction

The game is described here

Battleship

The game is described here

Planes

The game is described here

Nine men's morris

The game is described here

Other games!

You are free to implement a different board game, as long as its complexity is similar to those above. Talk to your laboratory professor to validate your idea before starting work!