/Java-Projects

Java based projects done as part of courses at IIITD

Primary LanguageJava

Java Projects

Java based projects done as part of courses at IIITD

Folder Structure

├── ArchLegends
│   ├── ArchLegends.java
│   └── ArchLegendsUpdate.java
├── Fibonacci
│   └── FibonacciCalculator.java
├── Huffman_ShannonFano
│   ├── Generator.py
│   ├── Huffman
│   │   ├── HuffmanCode.java
│   │   └── HuffmanDecode.java
│   └── ShannonFano
│       ├── SFCode.java
│       └── SFDecode.java
├── Marathon
│   └── Marathon.java
├── MercuryStore
│   └── Mercury.java
├── Placements
│   └── Placements.java
├── README.md
└── RacingGame
    ├── Racing_Game.java
    ├── Racing_Game_V2.java
    ├── TestCricket.java
    ├── TestGameWinner.java
    ├── TestRunner.java
    ├── TestSaveCheckPoint.java
    ├── TestSnake.java
    ├── TestSuite.java
    ├── TestTrampoline.java
    ├── TestVulture.java
    ├── x
    └── |<Tester>|-GameData.txt

ArchLegends 🛡️

A single-player role-playing game. The game is set in a time where a demon named Lionfang and his lieutenants have taken over the kingdom of Thunderforge. The purpose of the game is to allow the user to start as a hero and then defeat Lionfang. To reach LionFang the hero has to go through different locations where each location consists of a monster of a randomly assigned level.

Heroes : Warrior, Mage, Thief, Healer
Monsters : Goblins, Zombies, Fiends, Lionfang  

Fibonacci ❗

A producer-consumer based Fibonacci number calculator in Java by using explicit multithreading. Facade, Observer and Flyweight design patterns have been incorporated.

Huffman ShannonFano 🗒️

Implemented Huffman and ShannonFano encoding for text compression. Observation: Huffman code offers less average access time and require less bits than Shannon-Fano code in most cases. For the sample input,

Generator.py : To generate random test cases

Collaborator: Rhythm Patel

Marathon 🏃

A Swing application to find winner of marathon.

Mercury Store 🛒

A prototype of online store. The aim of the application is to connect merchants with customers and make the ensuing transaction hassle-free. OOP concepts like interfaces and polymorphism were incorporated while building the application.

Placements 🧑‍🎓

A system for placement office to keep track of student placements and companies.

Racing Game 🐍

A dice-roll game like Snakes & Ladder.The game starts with the user entering the total number of tiles on the race track. Each tile represents one position in one dimension. This is a single player game and once the game starts, its the computer who plays the game without any user intervention, and continues playing until the player wins.

Tiles: Snake, Vulture, Cricket, White, Trampoline