Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Mazesolver (Trouve Ta Rue)

Unity C#

Introduction

Trouve Ta Rue (French for 'Find your way'), internally called Mazesolver, was round 2 of the Praestantia event conducted by the MRITS CSI student chapter in December 2022. All participants were given a procedurally generated maze that they needed to solve within 20 minutes.

This repository contains all the code, assets, and more we've used to build the Mazesolver game. We've used Unity to make this game, so a little familiarity with Unity or with gamedev in general helps in understanding this repository a little clearly, though a general knowledge of programming is enough to understand somewhat the C# scripts in /Assets/Scripts.

Repository

/Assets/ contains basically everything we've written in this repository:

  • /Assets/Animations/ contains the animations used in te game (used when switching scenes.)
  • /Assets/Editor/ contains the Editor Scripts used to generate mazes in editor view and package it as part of the scene.
  • /Assets/Materials/ contains the Materials used for objects in the game.
  • /Assets/Prefabs/ contains the MazeNode prefabs used in maze generation.
  • /Assets/Pictures/ contains the pictures used in the game.
  • /Assets/Scenes/ contains the Scenes created in the game.
  • /Assets/Scripts/ contains the C# scripts we've written for the game. This the major part of our work, and all the filenames are pretty descriptive to give a general sense of what they do. MazeGenerator.cs contains code used for maze generation, MazeNode.cs contains the code for MazeNodes, GameManager.cs contains the code used to manage user details, remaining time, etc., GameOver.cs has code that runs on game over, Menu.cs contains code for the login menu, Compass.cs contains the implementation of the compass, and Helpers.cs contains some helper functions used in the game.

Other folders in /Assets/ are assets we've imported from the Unity Asset Store. Only free assets were used, and not a lot of them.

/Library/ contains the Unity libraries used in this code, while /Packages/ contains the Unity packages used in this code. .csproj and .sln files are the Visual Studio project and solution files.

All other files and folders relate to either Unity or Visual Studio configuration, and are not relevant to the game itself.

Feel free to fork this project and work on it yourself, though you will need to remove the API calls and re-enable dynamic maze generation. You can create a pull request if you have some changes to add. The code in this repo is pretty messy, but it is structured in an easily understandable way, and we think it is written in a way that doesn't necessitate the use of comments.

If you have any questions, feel free to contact us on Instagram @csimrits, though we will not be able to guarantee responses regarding this repository.

Happy coding and thank you all for showing interest in our event and our code (and all the blood and tears we've spent in writing it)!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages