Skip to content

rifqifarhansyah/TreasureHunter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tubes2_dicarryVieridanZaki

πŸ“± BFS and DFS Algorithms for Solving Maze Treasure Hunt Problems πŸ“±


Table of Contents

  1. General Info
  2. Creator Info
  3. Features
  4. Technologies Used
  5. Setup
  6. Usage
  7. Video Capture
  8. Screenshots
  9. Structure
  10. Project Status
  11. Room for Improvement
  12. Acknowledgements
  13. Contact

General Information

A simple program that write in C# language to implement BFS and DFS algorithm for solving maze treasure hunt problems. This project was written in C# programming language using Visual Studio and Windows Presentation Foundation (WPF) for the GUI. Treasure Hunter App will read the input from a text file and then display the result in the GUI. The program will also display the number of nodes that have been visited and the number of nodes that have been expanded. Besides that, this project also has a feature to display the execution time of the program. This project made for fulfilling Tubes 2 of IF2211 - Strategi Algoritma course at ITB 2022/2023.

Creator Information

Nama NIM E-Mail
Vieri Fajar Firdaus 13521099 13521099@std.stei.itb.ac.id
Muhammad Zaki Amanullah 13521146 13521146@std.stei.itb.ac.id
Mohammad Rifqi Farhansyah 13521166 13521166@std.stei.itb.ac.id

Features

  • Read input from a text file (via file explorer or textfield)
  • User can choose the algorithm to be used (BFS or DFS)
  • There is a additional feature to display the TSP solution of the problem
  • Customize the search speed of the algorithm
  • Show the maze in the GUI
  • Visualize the path from the start to the end
  • Display the route, number of nodes visited, number of nodes expanded, and execution time in the GUI

Technologies Used

  • Microsoft Visual Studio 2022 - version 17.4.3
  • Microsoft .NET Framework - version 4.8.04084
  • C# Tools - version 4.4.0

Note: The version of the libraries above is the version that we used in this project. You can use the latest version of the libraries.

Setup

  1. Download the latest version of Microsoft Visual Studio 2022 here
  2. Download the latest version of Microsoft .NET Framework here
  3. Download the latest version of C# Tools here
  4. Install all the tools above
  5. Clone this repository to your local directory by using this command in your terminal
git clone https://github.com/rifqifarhansyah/Tubes2_dicarryVieridanZaki.git

Usage

  1. Open the project in Visual Studio
  2. To open to the project, you can use the following steps:
    • Click File in the top left corner
    • Click Open > Project/Solution
    • Navigate to the directory where you clone this repository
    • Go to Tubes2_dicarryVieridanZaki/src/TreasureHunterApp folder
    • Click TreasureHunterApp.csproj
  3. After the project was opened:
    • right click on TreasureHunterApp in the Solution Explorer on the left side of the screen
    • Choose Publish
    • Browse the directory where you want to save the executable file
    • Click Finish
    • The executable file will be saved in the directory that you choose
    • You can run the executable file by double clicking setup.exe
    • And then click install to install the program

Video Capture

Treasure Hunt Gif

Screenshots

Figure 1. Config File (*txt)

Figure 2. Initial Appearance of the Program

Figure 3. Result

Structure

β”‚   .gitignore
β”‚   README.md
β”‚
β”œβ”€β”€β”€.vs
β”‚   β”‚   slnx.sqlite
β”‚   β”‚   tasks.vs.json
β”‚   β”‚   VSWorkspaceState.json
β”‚   β”‚
β”‚   β”œβ”€β”€β”€Tubes2_13521099
β”‚   β”‚   β”œβ”€β”€β”€FileContentIndex
β”‚   β”‚   β”‚       1f6478ed-6d4c-41fc-8310-5fee686d57d6.vsidx
β”‚   β”‚   β”‚       ac8a0297-178a-4a4d-a8d1-07438962f32a.vsidx
β”‚   β”‚   β”‚       e43822dc-b10f-4363-b8c2-785d1c86a63c.vsidx
β”‚   β”‚   β”‚       e6333f6e-1a45-47ad-901e-a8e062fddfcc.vsidx
β”‚   β”‚   β”‚       read.lock
β”‚   β”‚   β”‚
β”‚   β”‚   └───v17
β”‚   β”‚       β”‚   .wsuo
β”‚   β”‚       β”‚
β”‚   β”‚       └───TestStore
β”‚   β”‚           └───0
β”‚   β”‚                   000.testlog
β”‚   β”‚                   testlog.manifest
β”‚   β”‚
β”‚   └───Tubes2_dicarryVieridanZaki
β”‚       β”œβ”€β”€β”€config
β”‚       β”‚       applicationhost.config
β”‚       β”‚
β”‚       β”œβ”€β”€β”€FileContentIndex
β”‚       β”‚   β”‚   25841f9c-98ef-495e-a3cb-b4ce8cc36050.vsidx
β”‚       β”‚   β”‚   2ad4844b-b28a-42d7-b454-977c672cfadc.vsidx
β”‚       β”‚   β”‚   b50e6171-5418-41ac-977a-a5e3990006a9.vsidx
β”‚       β”‚   β”‚   c772a3ef-946f-4640-9d12-9e40acf8ffc8.vsidx
β”‚       β”‚   β”‚   read.lock
β”‚       β”‚   β”‚
β”‚       β”‚   └───merges
β”‚       └───v17
β”œβ”€β”€β”€bin
β”‚   β”‚   autorun.inf
β”‚   β”‚   setup.exe
β”‚   β”‚   TreasureHunterApp.application
β”‚   β”‚
β”‚   └───Application Files
β”‚       └───TreasureHunterApp_1_0_0_11
β”‚               icons8-treasure-chest-80.png.deploy
β”‚               Money.png.deploy
β”‚               Treasure.png.deploy
β”‚               TreasureHunterApp.application
β”‚               TreasureHunterApp.exe.config.deploy
β”‚               TreasureHunterApp.exe.deploy
β”‚               TreasureHunterApp.exe.manifest
β”‚
β”œβ”€β”€β”€doc
β”‚       dicarryVieridanZaki.pdf
β”‚       Tubes2-Stima-2023_230302_144558.pdf
β”‚
β”œβ”€β”€β”€img
β”‚       icons8-treasure-chest-80.png
β”‚       Money.png
β”‚       SS1.png
β”‚       SS2.png
β”‚       SS3.png
β”‚       Treasure.png
β”‚       TreasureHunter.gif
β”‚
β”œβ”€β”€β”€src
β”‚   └───TreasureHunterApp
β”‚       β”‚   App.config
β”‚       β”‚   App.xaml
β”‚       β”‚   App.xaml.cs
β”‚       β”‚   BackendDebugger.cs
β”‚       β”‚   BFS.cs
β”‚       β”‚   ColorExtension.cs
β”‚       β”‚   DFS.cs
β”‚       β”‚   icons8-treasure-chest-80.png
β”‚       β”‚   MainWindow.xaml
β”‚       β”‚   MainWindow.xaml.cs
β”‚       β”‚   Maze.cs
β”‚       β”‚   microsoft.windowsapicodepack-shell.1.1.0.nupkg
β”‚       β”‚   Money.png
β”‚       β”‚   Node.cs
β”‚       β”‚   SolidColorBrushComparer.cs
β”‚       β”‚   Treasure.png
β”‚       β”‚   TreasureHunterApp.csproj
β”‚       β”‚   TreasureHunterApp.csproj.user
β”‚       β”‚   TreasureHunterApp.sln
β”‚       β”‚   TreasureHunterApp_TemporaryKey.pfx
β”‚       β”‚   treasurehuntericon.png
β”‚       β”‚
β”‚       β”œβ”€β”€β”€.vs
β”‚       β”‚   └───TreasureHunterApp
β”‚       β”‚       β”œβ”€β”€β”€FileContentIndex
β”‚       β”‚       β”‚       2f4b00c2-4538-4ab2-8c93-2f2445939028.vsidx
β”‚       β”‚       β”‚       736a53da-437b-42a0-8efc-fb31cacc1ded.vsidx
β”‚       β”‚       β”‚       80a182a5-ff69-4f0a-a280-87b00e8ba85a.vsidx
β”‚       β”‚       β”‚       9cae0026-9ed7-4024-8ed0-824770039fcd.vsidx
β”‚       β”‚       β”‚       ee195175-79b1-47f1-a0e8-3ebb2e71b578.vsidx
β”‚       β”‚       β”‚       read.lock
β”‚       β”‚       β”‚
β”‚       β”‚       └───v17
β”‚       β”‚               .suo
β”‚       β”‚
β”‚       β”œβ”€β”€β”€bin
β”‚       β”‚   β”œβ”€β”€β”€Debug
β”‚       β”‚   β”‚   β”‚   icons8-treasure-chest-80.png
β”‚       β”‚   β”‚   β”‚   Money.png
β”‚       β”‚   β”‚   β”‚   Treasure.png
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.application
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.exe
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.exe.config
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.exe.manifest
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.pdb
β”‚       β”‚   β”‚   β”‚
β”‚       β”‚   β”‚   β”œβ”€β”€β”€app.publish
β”‚       β”‚   β”‚   β”‚       TreasureHunterApp.exe
β”‚       β”‚   β”‚   β”‚
β”‚       β”‚   β”‚   └───img
β”‚       β”‚   β”‚           icons8-treasure-chest-80.png
β”‚       β”‚   β”‚           Money.png
β”‚       β”‚   β”‚           Treasure.png
β”‚       β”‚   β”‚
β”‚       β”‚   └───Release
β”‚       β”‚       β”‚   icons8-treasure-chest-80.png
β”‚       β”‚       β”‚   Money.png
β”‚       β”‚       β”‚   Treasure.png
β”‚       β”‚       β”‚   TreasureHunterApp.application
β”‚       β”‚       β”‚   TreasureHunterApp.exe
β”‚       β”‚       β”‚   TreasureHunterApp.exe.config
β”‚       β”‚       β”‚   TreasureHunterApp.exe.manifest
β”‚       β”‚       β”‚   TreasureHunterApp.pdb
β”‚       β”‚       β”‚
β”‚       β”‚       β”œβ”€β”€β”€app.publish
β”‚       β”‚       β”‚       TreasureHunterApp.exe
β”‚       β”‚       β”‚
β”‚       β”‚       └───img
β”‚       β”‚               icons8-treasure-chest-80.png
β”‚       β”‚               Money.png
β”‚       β”‚               Treasure.png
β”‚       β”‚
β”‚       β”œβ”€β”€β”€obj
β”‚       β”‚   β”œβ”€β”€β”€Debug
β”‚       β”‚   β”‚   β”‚   .NETFramework,Version=v4.7.2.AssemblyAttributes.cs
β”‚       β”‚   β”‚   β”‚   App.g.cs
β”‚       β”‚   β”‚   β”‚   App.g.i.cs
β”‚       β”‚   β”‚   β”‚   DesignTimeResolveAssemblyReferences.cache
β”‚       β”‚   β”‚   β”‚   DesignTimeResolveAssemblyReferencesInput.cache
β”‚       β”‚   β”‚   β”‚   MainWindow.baml
β”‚       β”‚   β”‚   β”‚   MainWindow.g.cs
β”‚       β”‚   β”‚   β”‚   MainWindow.g.i.cs
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.application
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.csproj.AssemblyReference.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.csproj.CoreCompileInputs.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.csproj.FileListAbsolute.txt
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.csproj.GenerateResource.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.csproj.SuggestedBindingRedirects.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.exe
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.exe.manifest
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.g.resources
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.pdb
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp.Properties.Resources.resources
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp_al4xpzfm_wpftmp.csproj.AssemblyReference.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp_Content.g.cs
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp_Content.g.i.cs
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp_MarkupCompile.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp_MarkupCompile.i.cache
β”‚       β”‚   β”‚   β”‚   TreasureHunterApp_MarkupCompile.lref
β”‚       β”‚   β”‚   β”‚
β”‚       β”‚   β”‚   └───TempPE
β”‚       β”‚   β”‚           KrustyKrab.Designer.cs.dll
β”‚       β”‚   β”‚           Pics.Designer.cs.dll
β”‚       β”‚   β”‚           Properties.Resources.Designer.cs.dll
β”‚       β”‚   β”‚
β”‚       β”‚   └───Release
β”‚       β”‚       β”‚   .NETFramework,Version=v4.7.2.AssemblyAttributes.cs
β”‚       β”‚       β”‚   App.g.cs
β”‚       β”‚       β”‚   App.g.i.cs
β”‚       β”‚       β”‚   DesignTimeResolveAssemblyReferences.cache
β”‚       β”‚       β”‚   DesignTimeResolveAssemblyReferencesInput.cache
β”‚       β”‚       β”‚   MainWindow.g.cs
β”‚       β”‚       β”‚   MainWindow.g.i.cs
β”‚       β”‚       β”‚   TreasureHunterApp.application
β”‚       β”‚       β”‚   TreasureHunterApp.csproj.AssemblyReference.cache
β”‚       β”‚       β”‚   TreasureHunterApp.csproj.CoreCompileInputs.cache
β”‚       β”‚       β”‚   TreasureHunterApp.csproj.FileListAbsolute.txt
β”‚       β”‚       β”‚   TreasureHunterApp.csproj.GenerateResource.cache
β”‚       β”‚       β”‚   TreasureHunterApp.csproj.SuggestedBindingRedirects.cache
β”‚       β”‚       β”‚   TreasureHunterApp.exe
β”‚       β”‚       β”‚   TreasureHunterApp.exe.manifest
β”‚       β”‚       β”‚   TreasureHunterApp.g.resources
β”‚       β”‚       β”‚   TreasureHunterApp.pdb
β”‚       β”‚       β”‚   TreasureHunterApp.Properties.Resources.resources
β”‚       β”‚       β”‚   TreasureHunterApp_al4xpzfm_wpftmp.csproj.AssemblyReference.cache
β”‚       β”‚       β”‚   TreasureHunterApp_Content.g.cs
β”‚       β”‚       β”‚   TreasureHunterApp_Content.g.i.cs
β”‚       β”‚       β”‚   TreasureHunterApp_MarkupCompile.cache
β”‚       β”‚       β”‚   TreasureHunterApp_MarkupCompile.i.cache
β”‚       β”‚       β”‚   TreasureHunterApp_MarkupCompile.lref
β”‚       β”‚       β”‚
β”‚       β”‚       └───TempPE
β”‚       β”‚               KrustyKrab.Designer.cs.dll
β”‚       β”‚               Properties.Resources.Designer.cs.dll
β”‚       β”‚
β”‚       └───Properties
β”‚               AssemblyInfo.cs
β”‚               Resources.Designer.cs
β”‚               Resources.resx
β”‚               Settings.Designer.cs
β”‚               Settings.settings
β”‚
└───test
        test.txt
        test.zip
        test1.txt
        test10.txt
        test11.txt
        test12.txt
        test13.txt
        test14.txt
        test15.txt
        test16.txt
        test2.txt
        test4.txt
        test5.txt
        test6.txt
        test7.txt
        test8.txt
        test9.txt
        TestMaze.txt

Project is: complete

Room for Improvement:

  • Improve the effectiveness of the BFS and DFS algorithm implementation
  • Add more features
  • Thanks To Allah SWT

Contact

Contact Us : dicarryVieridanZaki
2023


Releases

No releases published

Packages

No packages published

Languages