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