Skip to content
/ project_c Public template

πŸ•ΉοΈ Interactive graphical project implemented in C, featuring modular design, dynamic memory management, robust error handling, and file operations. Developed as part of coursework requirements for achieving a top academic grade (5.0).

Notifications You must be signed in to change notification settings

dataproctech/project_c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Project Title: [Title, e.g., "Interactive Checkers in C"]

πŸ‡΅πŸ‡± Polski | πŸ‡¬πŸ‡§ English

Project description in English goes here.

Project Description:

An interactive, low-level programming project implemented entirely in C, featuring modular architecture, dynamic memory management, robust error handling, and a graphical user interface (GUI). This project complies with the specific academic requirements for a grade of 5.0, including structured and clear coding practices, effective use of pointers, structures, dynamic data structures, and file-based operations.

Project Timeline:

  • Start Date: April 2, 2025
  • End Date: June 15, 2025

Milestones:

🚩 Milestone 1: Initial Project Setup & Modular Structure

Due Date: April 23, 2025

  • Define detailed project specification and functional requirements (#Issue 1)
  • Set up repository structure and initial modular framework in C (#Issue 2)
  • Configure Makefile and compilation settings (#Issue 3)
  • Design and implement initial data structures (structs, pointers) (#Issue 4)

🚩 Milestone 2: Core Game Logic & File Handling

Due Date: May 14, 2025

  • Implement the main game logic (move validation, game rules enforcement) (#Issue 5)
  • Integrate dynamic memory management (linked lists, dynamic arrays, trees) for game state handling (#Issue 6)
  • Develop file operations for game states, logs, and player statistics (saving/loading mechanisms) (#Issue 7)
  • Perform rigorous debugging, memory-leak checking (valgrind), and preliminary testing (#Issue 8)

🚩 Milestone 3: GUI Development & Enhanced User Interaction

Due Date: June 11, 2025

  • Implement graphical user interface using libraries like Allegro, SFML, or SDL (#Issue 9)
  • Introduce cursor-based interaction and graphical constraints on valid moves (#Issue 10)
  • Comprehensive error handling (input validation, memory safety, exception handling) (#Issue 11)
  • Integration, functional, and usability testing of GUI and core gameplay mechanics (#Issue 12)

🚩 Final Submission

Due Date: June 15, 2025

  • Refactor, finalize codebase for readability, maintainability, and efficiency (#Issue 13)
  • Finalize documentation, commenting, and README updates (#Issue 14)
  • Project submission via ekursy platform (#Issue 15)

Repository Structure:

your_project/
β”œβ”€β”€ assets/
β”‚   └── images/
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ project_specification.md
β”‚   └── user_manual.md
β”œβ”€β”€ include/
β”‚   β”œβ”€β”€ game_logic.h
β”‚   β”œβ”€β”€ gui.h
β”‚   └── file_operations.h
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ game_logic.c
β”‚   β”œβ”€β”€ gui.c
β”‚   β”œβ”€β”€ file_operations.c
β”‚   └── main.c
β”œβ”€β”€ logs/
β”œβ”€β”€ saves/
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ test_logic.c
β”‚   └── test_gui.c
β”œβ”€β”€ Makefile
β”œβ”€β”€ .gitignore
└── README.md

GitHub Issues Template:

Clearly defined issues for efficient project tracking:

  1. Specification and Requirements Documentation
  2. Repository and Modular Architecture Setup
  3. Makefile and Compilation Configuration
  4. Initial Dynamic Structures (e.g., structs, pointers)
  5. Implementation of Game Logic and Rule Enforcement
  6. Dynamic Data Structures for Game State Management
  7. File Operations (Saving/Loading, Logging)
  8. Debugging and Memory Management Validation (valgrind)
  9. GUI Implementation using Allegro/SFML/SDL
  10. Cursor and Gameplay Interaction Improvements
  11. Robust Error Handling and Input Validation
  12. GUI and Core Integration Tests
  13. Final Code Refactoring and Optimization
  14. Final Documentation and README Preparation
  15. Submission

Technical and Academic Compliance:

This project explicitly aligns with requirements for obtaining a 5.0 grade:

  • Logical modularity for ease of maintenance and scalability.
  • Advanced use of pointers and dynamic structures to manage memory explicitly and efficiently.
  • Robust file-based functionality to store game state and logs.
  • Comprehensive GUI ensuring intuitive, interactive gameplay.
  • Detailed error handling to produce resilient, secure software.

Development and Contribution Guidelines:

  • Clear and descriptive variable/function naming for readability.
  • Modular implementation: each C file represents a specific module.
  • Regular commits and pull requests, referencing specific issues (e.g., #3 Modular architecture implemented).
  • Thorough documentation and inline comments.

About

πŸ•ΉοΈ Interactive graphical project implemented in C, featuring modular design, dynamic memory management, robust error handling, and file operations. Developed as part of coursework requirements for achieving a top academic grade (5.0).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published