From 9f34d9de030ddfe325d568697016558958dbb0da Mon Sep 17 00:00:00 2001 From: plane000 Date: Mon, 25 Jun 2018 19:58:59 +0100 Subject: [PATCH] Game of life + file lister --- C#/FileLister/FileLister.sln | 25 ++++++ C#/FileLister/FileLister/App.config | 6 ++ C#/FileLister/FileLister/FileLister.csproj | 52 +++++++++++ C#/FileLister/FileLister/Program.cs | 56 ++++++++++++ .../FileLister/Properties/AssemblyInfo.cs | 36 ++++++++ JavaScript/Game Of Life/css/style.css | 14 +++ JavaScript/Game Of Life/index.html | 14 +++ JavaScript/Game Of Life/index.js | 86 +++++++++++++++++++ 8 files changed, 289 insertions(+) create mode 100644 C#/FileLister/FileLister.sln create mode 100644 C#/FileLister/FileLister/App.config create mode 100644 C#/FileLister/FileLister/FileLister.csproj create mode 100644 C#/FileLister/FileLister/Program.cs create mode 100644 C#/FileLister/FileLister/Properties/AssemblyInfo.cs create mode 100644 JavaScript/Game Of Life/css/style.css create mode 100644 JavaScript/Game Of Life/index.html create mode 100644 JavaScript/Game Of Life/index.js diff --git a/C#/FileLister/FileLister.sln b/C#/FileLister/FileLister.sln new file mode 100644 index 0000000..cf621b5 --- /dev/null +++ b/C#/FileLister/FileLister.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27428.2043 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileLister", "FileLister\FileLister.csproj", "{F1117543-6651-499B-9A6D-E435B3E65607}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F1117543-6651-499B-9A6D-E435B3E65607}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F1117543-6651-499B-9A6D-E435B3E65607}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1117543-6651-499B-9A6D-E435B3E65607}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F1117543-6651-499B-9A6D-E435B3E65607}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0307D328-83AA-4506-A81B-F69E2AE2BF14} + EndGlobalSection +EndGlobal diff --git a/C#/FileLister/FileLister/App.config b/C#/FileLister/FileLister/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/C#/FileLister/FileLister/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/C#/FileLister/FileLister/FileLister.csproj b/C#/FileLister/FileLister/FileLister.csproj new file mode 100644 index 0000000..67bc9ea --- /dev/null +++ b/C#/FileLister/FileLister/FileLister.csproj @@ -0,0 +1,52 @@ + + + + + Debug + AnyCPU + {F1117543-6651-499B-9A6D-E435B3E65607} + Exe + FileLister + FileLister + v4.6.1 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/C#/FileLister/FileLister/Program.cs b/C#/FileLister/FileLister/Program.cs new file mode 100644 index 0000000..7002d01 --- /dev/null +++ b/C#/FileLister/FileLister/Program.cs @@ -0,0 +1,56 @@ +using System; +using System.IO; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; + +namespace FileLister { + class Program { + static void Main(string[] args) { + StreamReader reader; + string Path = ""; + do { + Console.Write("Insert Path : "); + Path = Console.ReadLine(); + } while (!Directory.Exists(Path)); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("Successfully navigated to {0} {1}", Path, "\n\n"); + Console.ForegroundColor = ConsoleColor.White; + + Console.WriteLine("Insert Type to search for \n" + + "0 : Files\n" + + "1 : Folders\n" + ); + bool completed = false; + + Console.Write("\n\n\n\n\n"); + + do { + string Input = Console.ReadLine(); + switch (Input) { + case "0": + string[] Files = Directory.GetFiles(Path); + foreach (string File in Files) { + Console.WriteLine(File); + Thread.Sleep(50); + } + completed = true; + break; + case "1": + string[] Dirs = Directory.GetDirectories(Path); + foreach (string Dir in Dirs) { + Console.WriteLine(Dir); + Thread.Sleep(50); + } + completed = true; + break; + default: + break; + } + } while (!completed); + + Console.ReadKey(); + } + } +} \ No newline at end of file diff --git a/C#/FileLister/FileLister/Properties/AssemblyInfo.cs b/C#/FileLister/FileLister/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2864a29 --- /dev/null +++ b/C#/FileLister/FileLister/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("FileLister")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("FileLister")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f1117543-6651-499b-9a6d-e435b3e65607")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JavaScript/Game Of Life/css/style.css b/JavaScript/Game Of Life/css/style.css new file mode 100644 index 0000000..f81696a --- /dev/null +++ b/JavaScript/Game Of Life/css/style.css @@ -0,0 +1,14 @@ +body { + background-color: black; +} + +canvas { + padding: 0; + margin: auto; + display: block; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} \ No newline at end of file diff --git a/JavaScript/Game Of Life/index.html b/JavaScript/Game Of Life/index.html new file mode 100644 index 0000000..8300084 --- /dev/null +++ b/JavaScript/Game Of Life/index.html @@ -0,0 +1,14 @@ + + + + + + + + Conways Game Of Life + + + + + + \ No newline at end of file diff --git a/JavaScript/Game Of Life/index.js b/JavaScript/Game Of Life/index.js new file mode 100644 index 0000000..f653585 --- /dev/null +++ b/JavaScript/Game Of Life/index.js @@ -0,0 +1,86 @@ +/* + Author(s): Ben (plane000)#8618 + Created: 25/06/2018 + Last Updated: 25/06/2018 + Last Updated by: Ben (plane000)#8618 +*/ + +let c = document.getElementById("canv"); +let ctx = c.getContext("2d"); + +let canvasSize = 400; +let gridSize = 40; +let grid = makeGridArr(gridSize); //0 = dead, 1 = alive +let next; + +for (let i = 0; i < gridSize; i++) { + for (let j = 1; j < gridSize; j++) { + grid[i][j] = Math.round(Math.random()); + } +} + +async function gameLoop() { + next = makeGridArr(gridSize); + update(); + draw(); +} + +function update() { + for (let i = 0; i < gridSize; i++) { + for (let j = 0; j < gridSize; j++) { + let state = grid[i][j]; + + let neighbors = countNeighbors(grid, i, j) + + if (state == 0 && neighbors == 3) { + next[i][j] = 1; + } else if (state == 1 && (neighbors < 2 || neighbors > 3)) { + next[i][j] = 0; + } else { + next[i][j] = state; + } + } + } + grid = next; +} + +function countNeighbors(arr, x, y) { + let sum = 0; + for (let i = -1; i < 2; i++) { + for (let j = -1; j < 2; j++) { + sum += arr[(x + i + gridSize) % gridSize] [(y + j + gridSize) % gridSize]; + } + } + sum -= arr[x][y]; + return sum; +} + +function makeGridArr(size) { + arr = []; + for (let i = 0; i < size; i++) { + arr[i] = []; + for (let j = 0; j < size; j++) { + arr[i][j] = 0; + } + } + return arr; +} + +function draw () { + ctx.fillStyle = "#FFFFFF"; + ctx.fillRect(0, 0, canvasSize, canvasSize); + + for (let i = 0; i < gridSize; i++) { + for (let j = 0; j < gridSize; j++) { + if (grid[i][j] == 0) { + ctx.fillStyle = "#FFFFFF"; + } else { + ctx.fillStyle = "#000000"; + } + + ctx.fillRect(i * 10, j * 10, canvasSize / gridSize, canvasSize / gridSize); + } + } +} + +setInterval(gameLoop, 100);