Skip to content

A GUI System made with MVC design architecture and OOP concepts

Notifications You must be signed in to change notification settings

Justin-yww/nutriquest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌾 NutriQuest - A Food Nutrition Education Game

Supporting UN Sustainable Development Goal 2: Zero Hunger

NutriQuest is an interactive educational game designed to teach children (ages 7-12) about proper nutrition and food security through gamified learning experiences. Built with Scala and ScalaFX, the game features two distinct modes representing Malaysian rural and urban contexts.

NutriQuest Logo

Project Overview

This project was developed as part of PRG2104: Object-Oriented Programming course, demonstrating key OOP concepts including:

  • Abstraction - Simplified interfaces hiding complex implementations
  • Inheritance - Specialized character classes extending base abstractions
  • Polymorphism - Multiple forms of behavior based on context
  • Encapsulation - Protected data with controlled access
  • MVC Architecture - Clean separation of concerns

Features

Game Modes

  • Village Mode (120 seconds) - Focus on rural nutrition challenges and local food sources
  • Urban Mode (60 seconds) - Emphasis on city lifestyle nutrition needs

Educational Content

  • Multi-page interactive learning modules
  • Visual infographics and contextual information
  • Malaysian-specific food and nutrition contexts
  • Self-paced learning with navigation controls

Interactive Gameplay

  • Drag-and-drop interface - Match food items to characters based on nutritional needs
  • Timer-based scoring - Rewards both accuracy and speed
  • Visual feedback - Red glow for incorrect matches, green completion states
  • Pause/Resume functionality - Flexible gameplay control
  • Bonus scoring system - Hidden speed bonuses encourage efficiency

User Experience

  • Soothing background music with toggle controls
  • Smooth scene transition
  • Responsive visual effects and animations


🚀 Quick Start

System Prerequisites

Ensure you have the following installed:

  • Java 21 (Temurin recommended)
  • SBT (Scala Build Tool)
  • Git

Installation

  1. Clone the repository
git clone https://github.com/sunwaydcis/final-project-Justin-yww.git
cd final-project-Justin-yww
  1. Running the proghram
sbt run

🛠️ Setup Guide for ARM-based Macs / MacBooks

Install Java 21 (Temurin build)

brew install --cask temurin@21

Install SBT

brew install sbt

Configure the Environment

export JAVA_HOME=$(/usr/libexec/java_home -v 21)

Verify installation

java -version
arch  # Should output: arm64

IDE Setup (Visual Studio Code)

Install these extensions:

  1. Metals - Scala language server
  2. Scala Syntax (Optional but recommended)

About

A GUI System made with MVC design architecture and OOP concepts

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •