Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 20 additions & 7 deletions HelloWorld/HelloWorld.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
using System;

namespace HelloWorld
public class Program
{
class Program
public static void Main()
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
string name = "";
int age = 0;
int year = 0;


Console.WriteLine("Please enter your name: ");
name = Console.ReadLine();
Console.WriteLine("Please enter your age: ");
age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please enter the year: ");
year = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Hello! My name is {0} and I am {1} years old I was born in {2}.", name, age, year-age);
}


}


28 changes: 28 additions & 0 deletions Mastermind/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/bin/Debug/netcoreapp2.0/Mastermind.dll",
"args": [],
"cwd": "${workspaceFolder}",
// For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
,]
}
15 changes: 15 additions & 0 deletions Mastermind/.vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/Mastermind.csproj"
],
"problemMatcher": "$msCompile"
}
]
}
190 changes: 134 additions & 56 deletions Mastermind/Mastermind.cs
Original file line number Diff line number Diff line change
@@ -1,86 +1,164 @@
using System;
using System.Collections;
using System.Collections.Generic;

namespace Mastermind
{
class Program
class Ball
{
// possible letters in code
public static char[] letters = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };

// size of code
public static int codeSize = 4;

// number of allowed attempts to crack the code
public static int allowedAttempts = 10;

// number of tried guesses
public static int numTry = 0;

// test solution
public static char[] solution = new char[] {'a', 'b', 'c', 'd'};

// game board
public static string[][] board = new string[allowedAttempts][];


public static void Main()
public string Letter { get; private set; }

public Ball(string letter)
{
char[] guess = new char[4];
this.Letter = letter;
}
}

class Row
{
public Ball[] balls = new Ball[4];

CreateBoard();
DrawBoard();
Console.WriteLine("Enter Guess:");
guess = Console.ReadLine().ToCharArray();
public Row(Ball[] balls)
{
this.balls = balls;
}

// leave this command at the end so your program does not close automatically
Console.ReadLine();
public string Balls
{
get
{
foreach (var ball in this.balls)
{
Console.Write(ball.Letter);
}
return "";
}
}

public static bool CheckSolution(char[] guess)


}
class Game
{
public List<Row> rows = new List<Row>();
private string[] answer = new string[4];
public string[] GenerateRandomCode = new string[4];


public int tries;

public Game(string[] answer, int tries)
{
// Your code here
this.answer = answer;
this.tries = tries;

return false;
}
public static string GenerateHint(char[] guess)

public string Score(Row row)
{
// Your code here
return " ";
string[] answerClone = (string[])this.answer.Clone();
// red is correct letter and correct position
// white is correct letters minus red
// this.answer => ["a", "b", "c", "d"]
// row.balls => [{ Letter: "c" }, { Letter: "b" }, { Letter: "d" }, { Letter: "a" }]
int red = 0;
for (int i = 0; i < 4; i++)
{
if (answerClone[i] == row.balls[i].Letter)
{
red++;
}
}
int white = 0;
for (int i = 0; i < 4; i++)
{
int foundIndex = Array.IndexOf(answerClone, row.balls[i].Letter);
if (foundIndex > -1)
{
white++;
answerClone[foundIndex] = null;
}
}
return $" {red} - {white - red}";
}

public static void InsertCode(char[] guess)
public void AddRow(Row row)
{
// Your code here
this.rows.Add(row);
}
public static void CreateBoard()

public string Rows
{
for (var i = 0; i < allowedAttempts; i++)
get
{
board[i] = new string[codeSize + 1];
for (var j = 0; j < codeSize + 1; j++)
foreach (var row in this.rows)
{
board[i][j] = " ";
Console.Write(row.Balls);
Console.WriteLine(Score(row));
}
return "";
}
}

public static void DrawBoard()

}
class Program
{
public static char[] letters = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };


public static void Main(string[] args)
{
for (var i = 0; i < board.Length; i++)

bool win = false;
string[] GenerateRandomCode()
{
Console.WriteLine("|" + String.Join("|", board[i]));
string[] solution = new string[4];
Random rnd = new Random();
for (var i = 0; i < 4; i++)
{
solution[i] = (letters[rnd.Next(0, letters.Length)]).ToString();
}
return solution;
}

}

public static void GenerateRandomCode() {
Random rnd = new Random();
for(var i = 0; i < codeSize; i++)
Game game = new Game(GenerateRandomCode(), 10);
for (int turns = 10; turns > 0; turns--)
{
Console.WriteLine("You have {0} tries left", turns);
Console.WriteLine("Choose four letters: ");
string letters = Console.ReadLine();
Ball[] balls = new Ball[4];
for (int i = 0; i < 4; i++)
{
balls[i] = new Ball(letters[i].ToString());
}
Row row = new Row(balls);
game.AddRow(row);
Console.WriteLine(game.Rows);
if (game.Score(row) == " 4 - 0")
{
System.Console.WriteLine("You win");
win = true;
break;
}

}
if (win == false)
{
solution[i] = letters[rnd.Next(0, letters.Length)];
Console.WriteLine("Out Of Turns");
}

}







}
}







28 changes: 28 additions & 0 deletions PigLatin/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/bin/Debug/netcoreapp2.0/PigLatin.dll",
"args": [],
"cwd": "${workspaceFolder}",
// For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
,]
}
15 changes: 15 additions & 0 deletions PigLatin/.vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/PigLatin.csproj"
],
"problemMatcher": "$msCompile"
}
]
}
Loading