Game of life + file lister
This commit is contained in:
25
C#/FileLister/FileLister.sln
Normal file
25
C#/FileLister/FileLister.sln
Normal file
@@ -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
|
||||||
6
C#/FileLister/FileLister/App.config
Normal file
6
C#/FileLister/FileLister/App.config
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
||||||
52
C#/FileLister/FileLister/FileLister.csproj
Normal file
52
C#/FileLister/FileLister/FileLister.csproj
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{F1117543-6651-499B-9A6D-E435B3E65607}</ProjectGuid>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<RootNamespace>FileLister</RootNamespace>
|
||||||
|
<AssemblyName>FileLister</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
56
C#/FileLister/FileLister/Program.cs
Normal file
56
C#/FileLister/FileLister/Program.cs
Normal file
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
C#/FileLister/FileLister/Properties/AssemblyInfo.cs
Normal file
36
C#/FileLister/FileLister/Properties/AssemblyInfo.cs
Normal file
@@ -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")]
|
||||||
14
JavaScript/Game Of Life/css/style.css
Normal file
14
JavaScript/Game Of Life/css/style.css
Normal file
@@ -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;
|
||||||
|
}
|
||||||
14
JavaScript/Game Of Life/index.html
Normal file
14
JavaScript/Game Of Life/index.html
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="css/style.css" />
|
||||||
|
<title>Conways Game Of Life</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas id="canv" width="400" height="400"></canvas>
|
||||||
|
<script src="index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
86
JavaScript/Game Of Life/index.js
Normal file
86
JavaScript/Game Of Life/index.js
Normal file
@@ -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);
|
||||||
Reference in New Issue
Block a user