Skip to content
Open
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"
}
]
}
34 changes: 30 additions & 4 deletions PigLatin/PigLatin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,46 @@

namespace PigLatin
{
class Program
public class Program
{
public static void Main()
{
// your code goes here

System.Console.WriteLine("Translate word: ");
string engWord = Console.ReadLine();
string PigLatin = TranslateWord(engWord);
System.Console.WriteLine(PigLatin);








// leave this command at the end so your program does not close automatically
Console.ReadLine();
}

public static string TranslateWord(string word)
{
// your code goes here


int firstVowelIndex = word.IndexOfAny(new char[] { 'A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u' });
if (firstVowelIndex == 0)
{
return word + "yay";
}
else if (firstVowelIndex != 0)
{
string firstLetter = word.Substring(0, 1);
string restWord = word.Substring(1);
// your code goes here
return restWord + firstLetter + "ay";
}

return word;

}
}
}
Loading