Skip to content
Snippets Groups Projects
Commit 3a417f11 authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

seina

parent 36d737fb
No related branches found
No related tags found
No related merge requests found
......@@ -12,15 +12,65 @@ using System.Collections.Generic;
/// </summary>
public class AngryLego : PhysicsGame
{
private static readonly String[] lines = {
" ",
" ",
" ",
" ",
"/ ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ======= ",
" Y* Y Y ",
" X X X ",
" * X X X * ",
" X X X ",
" X *X *X ",
};
private static readonly int tileWidth = 800 / lines[0].Length;
private static readonly int tileHeight = 480 / lines.Length;
/// <summary>
/// Aloitetaan peli. Aluksi siivotaan kaikki, jotta voidaan aloittaa uusi peli
/// </summary>
public override void Begin()
{
// Kirjoita ohjelmakoodisi tähän
Level.Background.CreateGradient(Color.Blue, Color.White);
TileMap tiles = TileMap.FromStringArray(lines);
tiles.SetTileMethod('X', LuoSeina, Color.Wheat);
tiles.Execute(tileWidth, tileHeight);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
/// <summary>
/// Luodaan seinäelementti
/// </summary>
private void LuoSeina(Vector paikka, double leveys, double korkeus, Color vari)
{
PhysicsObject seina = new PhysicsObject(leveys, korkeus);
seina.Position = paikka;
seina.Color = Color.Wheat;
seina.Tag = "rakenne";
Add(seina);
}
}
......@@ -22,11 +22,15 @@ public class MjPilkkominen
Console.Write($"'{merkki}' ");
}
Console.WriteLine();
Console.Write("Kirjoita jono jossa sanoja > ");
string mj = Console.ReadLine();
// Console.Write("Kirjoita jono jossa sanoja > ");
string mj = " Kissa istuu;;puu "; // Console.ReadLine();
mj = mj.Trim();
Console.WriteLine(mj);
string[] pilkottu = mj.Split(erottimet); // ,StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine($"Annoit jonon: {mj}");
int[] t1 = MerkkijonoLuvuiksi("1 2 3", new char[] { ' ' });
string luvutPotkossa = String.Join(",", t1);
Console.WriteLine(luvutPotkossa);
}
......@@ -49,25 +53,29 @@ public class MjPilkkominen
/// MerkkijonoLuvuiksi("1 3k 5", new char[] {' '}) === null;
/// </pre>
/// @endexample
/// <summary>
/// Laskee kokonaislukutaulukon alkiot yhteen ja palauttaa alkioiden summan.
/// </summary>
/// <param name="luvut">Tutkittava kokonaislukutaulukko</param>
/// <returns>Taulukon alkioiden summa</returns>
/// <example>
/// <pre name="test">
/// Summa(new int[]{1,2,3}) === 6;
/// Summa(new int[]{2}) === 2;
/// </pre>
/// </example>
public static int[] MerkkijonoLuvuiksi(string lukusyote, char[] erottimet )
{
string[] pilkottu = lukusyote.Trim().Split(erottimet);
int[] luvut = new int[pilkottu.Length];
for (int i = 0; i < pilkottu.Length; i++)
{
string pala = pilkottu[i];
if (!String.IsNullOrEmpty(pala))
if (!int.TryParse(pala, out luvut[i])) return null;
}
return luvut;
}
/// <summary>
/// Tulostetaan merkkijonotaulukon palat
/// </summary>
/// <param name="palat">Tulostettava merkkijonotaulukko</param>
public static void TulostaPalat(string[] palat)
{
foreach (string pala in palat)
Console.WriteLine($"Pala: \"{pala}\"");
Console.WriteLine("------------------------");
}
}
\ No newline at end of file
using System;
using System.Text;
using NUnit.Framework;
using static MjPilkkominen;
[TestFixture]
public class TestMjPilkkominen
{
[Test]
public void TestMerkkijonoLuvuiksi46()
{
int[] t1 = MerkkijonoLuvuiksi("1 2 3", new char[] {' '});
Assert.AreEqual( "1 2 3", String.Join(" ", t1) , "in method MerkkijonoLuvuiksi, line 48");
int[] t2 = MerkkijonoLuvuiksi(" ,,1;;3 ;5 ", new char[] {' ', ',', ';'});
Assert.AreEqual( "0 0 1 0 3 0 0 5", String.Join(" ", t2) , "in method MerkkijonoLuvuiksi, line 50");
int[] t3 = MerkkijonoLuvuiksi("1;;3 ;5", new char[] {' ', ',', ';'});
Assert.AreEqual( "1 0 3 0 0 5", String.Join(" ", t3) , "in method MerkkijonoLuvuiksi, line 52");
Assert.AreEqual( null, MerkkijonoLuvuiksi("1 3k 5", new char[] {' '}) , "in method MerkkijonoLuvuiksi, line 53");
}
}
<?xml version="1.0" encoding="UTF-8"?><Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MjPilkkominen\MjPilkkominen.csproj"/>
</ItemGroup>
</Project>
......@@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AngryLego", "AngryLego\Angr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MjPilkkominen", "MjPilkkominen\MjPilkkominen.csproj", "{4C174AEE-F64B-41E3-8893-204CEC431CA1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MjPilkkominenTest", "MjPilkkominenTest\MjPilkkominenTest.csproj", "{C973D6BA-CC04-4E86-9E93-4E5F6665ADA4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -21,6 +23,10 @@ Global
{4C174AEE-F64B-41E3-8893-204CEC431CA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4C174AEE-F64B-41E3-8893-204CEC431CA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4C174AEE-F64B-41E3-8893-204CEC431CA1}.Release|Any CPU.Build.0 = Release|Any CPU
{C973D6BA-CC04-4E86-9E93-4E5F6665ADA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C973D6BA-CC04-4E86-9E93-4E5F6665ADA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C973D6BA-CC04-4E86-9E93-4E5F6665ADA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C973D6BA-CC04-4E86-9E93-4E5F6665ADA4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
......@@ -2,7 +2,7 @@
using System.Text;
public class Muuttujat
{
public static void Main(string[] args)
public static void Main()
{
int[] t = { 3, 5, 9 };
Kasvata(t[0], t);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment