Giter Site home page Giter Site logo

natthankrish / if2211_tubes2_bingung Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gulilil/if2211_tubes2_bingung

0.0 0.0 0.0 8.95 MB

BFS and DFS are 2 basic searching algorithms used in the world of computer science. In this program, those algorithms are implemented to solve a treasure-maze game. This program is developed using C# programming language.

C# 100.00%

if2211_tubes2_bingung's Introduction

IF2211_Strategi Algoritma

Tubes2_13521111_13521116_13521162

Table of Contents

Program Description

This program is a treasure-collect and maze-solver program. The maze used by the program will be inputted from a .txt file. Therefore, users can custom the maze by their own willing. After reading section, the contents inside the .txt file will be converted into a matrix. There are several objects inside the maze itself, which are walls, routes, and treasures. The goal of the program is to find a route, from a starting coordinate, to collect all the treasures within the maze. This problem will be solved using BFS (Breadth-First-Search) and DFS (Depth-First-Search) algorithm. The output of the program is a GUI (graphical user interface) to display the solution of the given problems.

Required Program

Here are the required programs you need to prepare to run the program in this repository:

Required Program Reference Link
.Net .Net
Visual Studio Visual Studio

How to Run The Program

  1. Clone this repository (skip if the step is done)
git clone https://github.com/Gulilil/Tubes2_bingung.git
  1. Change the current directory into the cloned repository
cd Tubes2_bingung
  1. Run the executable file inside the bin folder
bin\Debug\TreasureMaze.exe
# or
.bin\Debug\TreasureMaze.exe

How to Compile The Program

Under ideal circumstances, you just need to run the executable program inside the bin folder to run the program. Therefore you can follow the steps in How To Run The Program. However, if it does not work, you can try to recompile the program following these steps:

  1. Clone this repository (skip if the step is done)
git clone https://github.com/Gulilil/Tubes2_bingung.git
  1. Open the cloned repository using Visual Studio.

  2. In the solution explorer, double click the .csproj file to open it.

  3. To run the program, click the button at top center of Visual Studio. The one that indicates it is used to run the program. On the other hand, you can also click 'F5' to run the program.

Program Usage Guide

Here is the initial display of the program when it is started. To input the desired txt file, user can click the Choose File button on the left side of the program display. Next, user can choose one of the method options that the program will use to solve the given problem. Lastly, to execute the program, user needs to click the START button.

After the program successfully the map, validated map will be displayed on the right side of the program display. The solution will be displayed on the right bottom of the program display.
  • Execution time indicates the duration that the program took to solve the given problems.
  • Nodes represents the amount of created nodes during the solution finding.
  • Steps represents the amount of steps, needed to be taken, to travel from the initial grid to all the treasures in the map.
  • Route displays the solution's steps direction.
  • Play Route button initiates an animation displayment of the solution route.
  • Play Search button initiates an animation displayment of the solution finding.
  • Interval indicates the delay duration for each grid steps when the animation is played.

Progress Report

Points Done
The program can be compiled without any issues
The program can be runned
The program can accept and validate input
The program successfully solve the given problem using BFS and DFS methods and able to display the solution as an output
The solution given by the program contains the route that visit all the treasures location in the given map
The program can display GUI that contains given minimum specifications for GUI
Implemented first bonus aspect (grid finding process)
Implemented second bonus aspect (TSP problem solution)
Implemented third bonus aspect (explanation video)

Authors

Name ID
Tabitha Permalla 13521111
Juan Christopher Santoso 13521116
Antonio Natthan Krishna 13521162

Folders and Files Description

.   
├─ .vs
├─ Properties
├─ assets                           # Contains screenshots to be displayed in readme 
├─ bin                              # Contains compiled program
├─ doc                              # Contains complete documentation file of the program
├─ src                              # Contains every algorithm in constructing the program
    ├─ class                            # Contains fundamental classes used in the program
        ├─ Map.cs
        ├─ Point.cs
        ├─ Route.cs
        └─ Tile.cs
    ├─ method                           # Contains the solving algorithm of the given problem
        ├─ BFS.cs
        ├─ DFS.cs
        └─ Solver.cs
    ├─ obj                              # Appear locally if you have tried to compile the program
    ├─ MainWindow.xaml.cs
    ├─ App.config
    ├─ App.xaml
    ├─ MainWindow.xaml
    └─ TreasureMaze.csproj
├─ test                             # Contains input files for the program
├─ .gitignore
└─ README.md

if2211_tubes2_bingung's People

Contributors

gulilil avatar bitha17 avatar natthankrish avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.