Changeset 5791 for 2014/koodauskerho/38/JaakkoS
- Timestamp:
- 2014-12-13 15:01:25 (9 years ago)
- Location:
- 2014/koodauskerho/38/JaakkoS
- Files:
-
- 79 added
- 2 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/Huone1.cs
r5776 r5791 6 6 namespace Jaakon_Talo 7 7 { 8 public class Huone 18 public class Huone 9 9 { 10 10 private String teksti; 11 public Huone 1(String kuvausteksti)11 public Huone(String kuvausteksti) 12 12 { 13 13 this.teksti = kuvausteksti; -
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/Jaakon_Talo.csproj
r5776 r5791 37 37 </PropertyGroup> 38 38 <ItemGroup> 39 <Reference Include="Properties.Resources.Designer.cs"> 40 <HintPath>obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll</HintPath> 41 </Reference> 39 42 <Reference Include="System" /> 40 43 <Reference Include="System.Data" /> … … 64 67 <SubType>Code</SubType> 65 68 </Compile> 66 <Compile Include="Huone1.cs" /> 69 <Compile Include="Huone.cs" /> 70 <Compile Include="Huoneet.cs" /> 67 71 <Compile Include="MainWindow.xaml.cs"> 68 72 <DependentUpon>MainWindow.xaml</DependentUpon> -
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/MainWindow.xaml
r5776 r5791 5 5 <Grid> 6 6 <ScrollViewer Height="420" HorizontalAlignment="Left" Name="scrollViewer1" VerticalAlignment="Top" Width="1013" Margin="-12,0,0,0"> 7 <TextBlock Name=" Mitä_tapahtuu" Width="947" Height="422" />7 <TextBlock Name="textBlockViestiIkkuna" Width="947" Height="422" /> 8 8 </ScrollViewer> 9 9 <TextBox Height="50" HorizontalAlignment="Left" Margin="12,426,0,0" Name="Mitä_teet" VerticalAlignment="Top" Width="657" /> 10 <Button Content="->" Height="36" HorizontalAlignment="Left" Margin="699,436,0,0" Name="button1" VerticalAlignment="Top" Width="126" />10 <Button Content="->" Height="36" HorizontalAlignment="Left" Margin="699,436,0,0" Name="button1" VerticalAlignment="Top" Width="126" Click="toimintopainike_Click" /> 11 11 </Grid> 12 12 </Window> -
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/MainWindow.xaml.cs
r5776 r5791 1 using System; 1 2 using System; 2 3 using System.Collections.Generic; 3 4 using System.Linq; … … 20 21 public partial class MainWindow : Window 21 22 { 23 private Huoneet huoneet; 24 private Huone valittuHuone; 22 25 public MainWindow() 23 26 { 24 27 InitializeComponent(); 28 29 this.huoneet = new Huoneet(); 30 Huone eteinen = this.huoneet.LisaaHuone("Eteinen", "Otat kengät pois jalasta ja astut peremmälle."); 31 Huone olohuone = this.huoneet.LisaaHuone("Olohuone", "Olohuoneessa on paljon sohvia. Istut yhdelle sohvalle."); 32 eteinen.LisaaOvi(olohuone); 33 KirjoitaTekstiRuudulle("Tervetuloa peliin."); 34 KirjoitaTekstiRuudulle("Astut huoneeseen: " + eteinen.Nimi); 35 KirjoitaTekstiRuudulle(eteinen.Teksti); 36 KirjoitaOvilistaRuudulle(eteinen); 37 this.valittuHuone = eteinen; 25 38 } 39 40 public void KirjoitaTekstiRuudulle(string kirjoitettavaTeksti) 41 { 42 textBlockViestiIkkuna.Text += kirjoitettavaTeksti + "\n"; 43 scrollViewer1.UpdateLayout(); 44 scrollViewer1.ScrollToBottom(); 45 } 46 public void KirjoitaOvilistaRuudulle(Huone huone) 47 { 48 KirjoitaTekstiRuudulle("Voit mennä seuraaviin huoneisiin:"); 49 foreach (Ovi ovi in huone.Ovet) 50 { 51 KirjoitaTekstiRuudulle(" * " + ovi.Mihin.Nimi); 52 } 53 54 } 55 56 57 private void toimintopainike_Click(object sender, RoutedEventArgs e) 58 { 59 // Poistetaan alusta ja lopusta turhat välilyönnit: 60 Mitä_teet.Text = Mitä_teet.Text.Trim(); 61 62 63 // Katkaistaan komento alku- ja loppuosiin 64 // ensimmäisen välilyönnin kohdalta: 65 int katkaisukohta = Mitä_teet.Text.IndexOf(' '); // etsitään ensimmäinen välilyönti 66 string alkuosa; 67 string loppuosa; 68 if (katkaisukohta > 0) 69 { 70 alkuosa = Mitä_teet.Text.Substring(0, katkaisukohta); 71 loppuosa = Mitä_teet.Text.Substring(katkaisukohta + 1); 26 72 } 27 } 73 else // jos katkaisukohtaa ei löydy, kyseessä oli vain yksittäinen sana 74 { 75 alkuosa = Mitä_teet.Text; 76 loppuosa = ""; 77 } 78 79 // Tulostetaan käyttäjän kirjoittama komentoteksti ruudulle 80 // aivan ensimmäisenä ennen seuraavaa tekstiä: 81 KirjoitaTekstiRuudulle("> " + Mitä_teet.Text); 82 83 // Tarkistetaan komento ja toimitaan sen mukaan: 84 if (alkuosa.Length == 0) 85 { 86 // jos komentoa ei ole syötetty, ei tehdä mitään, 87 // vaan kirjoitetaan esille huoneen kuvaus: 88 KirjoitaHuoneenTiedotRuudulle(this.valittuHuone); 89 } 90 else if (alkuosa == "mene") // jos 1. sana on mene... 91 { 92 if (loppuosa.Length == 0) 93 { 94 KirjoitaTekstiRuudulle("Minne pitäisi mennä?"); 95 return; 96 } 97 // tarkistaa onko toisen sanan mukaista huonetta ja menee sinne, jos on: 98 foreach (Ovi ovi in valittuHuone.Ovet) 99 { 100 if (ovi.Mihin.Nimi.ToLower().Equals(loppuosa.ToLower())) 101 { 102 this.valittuHuone = ovi.Mihin; 103 104 // Tulostetaan uuden huoneen kuvausteksti ruudulle: 105 KirjoitaHuoneenTiedotRuudulle(this.valittuHuone); 106 return; 107 } 108 } 109 KirjoitaTekstiRuudulle("Huoneen nimi ei ole kelvollinen."); 110 } 111 else 112 { 113 KirjoitaTekstiRuudulle("Komento \"" + Mitä_teet.Text + "\" tuntematon."); 114 return; // Poistutaan aliohjelmasta, koska komento ei ollutkaan järkevä 115 } 116 117 } 118 public void KirjoitaHuoneenTiedotRuudulle(Huone huone) 119 { 120 KirjoitaTekstiRuudulle("Olet huoneessa: " + huone.Nimi); 121 KirjoitaTekstiRuudulle(huone.Teksti); 122 KirjoitaOvilistaRuudulle(huone); 123 } 124 } 125 } -
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/Ovi.cs
r5776 r5791 6 6 namespace Jaakon_Talo 7 7 { 8 9 8 10 public class Ovi{ 9 private Huone1 mista; 10 private Huone1 mihin; 11 public Ovi(Huone1 mista,Huone1 mihin) 11 private bool kaksisuuntainen; 12 private Huone mista; 13 private Huone mihin; 14 public Ovi(Huone mista,Huone mihin, bool onkoKaksisuuntainen = true) 12 15 { 16 this.kaksisuuntainen = onkoKaksisuuntainen; 13 17 this.mista=mista; 14 18 this.mihin=mihin; 15 19 } 20 public Huone Mista 21 { 22 get { return this.mista; } 23 set { this.mista = value; } 24 25 } 26 public Huone Mihin 27 { 28 get { return this.mihin; } 29 set { this.mihin = value; } 30 } 31 16 32 } 17 33 } -
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/obj/x86/Debug/Jaakon_Talo_MarkupCompile.i.cache
r5776 r5791 13 13 11151548125 14 14 15 8-2113302147 16 1 2-138178032215 91299142176 16 131111146909 17 17 MainWindow.xaml; 18 18 -
2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/obj/x86/Debug/MainWindow.g.i.cs
r5776 r5791 1 #pragma checksum "..\..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" " 1C1981E9F8F9750764A4DF8542F32E21"1 #pragma checksum "..\..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "51B799281088A52E56611C9D7FD5671F" 2 2 //------------------------------------------------------------------------------ 3 3 // <auto-generated> … … 51 51 #line 7 "..\..\..\MainWindow.xaml" 52 52 [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 53 internal System.Windows.Controls.TextBlock Mitä_tapahtuu;53 internal System.Windows.Controls.TextBlock textBlockViestiIkkuna; 54 54 55 55 #line default … … 106 106 return; 107 107 case 2: 108 this. Mitä_tapahtuu= ((System.Windows.Controls.TextBlock)(target));108 this.textBlockViestiIkkuna = ((System.Windows.Controls.TextBlock)(target)); 109 109 return; 110 110 case 3: … … 113 113 case 4: 114 114 this.button1 = ((System.Windows.Controls.Button)(target)); 115 116 #line 10 "..\..\..\MainWindow.xaml" 117 this.button1.Click += new System.Windows.RoutedEventHandler(this.toimintopainike_Click); 118 119 #line default 120 #line hidden 115 121 return; 116 122 }
Note: See TracChangeset
for help on using the changeset viewer.