Ignore:
Timestamp:
2014-12-13 15:01:25 (9 years ago)
Author:
sieerinn
Message:
 
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  
    66namespace Jaakon_Talo 
    77{ 
    8   public  class Huone1 
     8  public  class Huone 
    99    { 
    1010      private String teksti; 
    11       public Huone1(String kuvausteksti) 
     11      public Huone(String kuvausteksti) 
    1212       { 
    1313           this.teksti = kuvausteksti; 
  • 2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/Jaakon_Talo.csproj

    r5776 r5791  
    3737  </PropertyGroup> 
    3838  <ItemGroup> 
     39    <Reference Include="Properties.Resources.Designer.cs"> 
     40      <HintPath>obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll</HintPath> 
     41    </Reference> 
    3942    <Reference Include="System" /> 
    4043    <Reference Include="System.Data" /> 
     
    6467      <SubType>Code</SubType> 
    6568    </Compile> 
    66     <Compile Include="Huone1.cs" /> 
     69    <Compile Include="Huone.cs" /> 
     70    <Compile Include="Huoneet.cs" /> 
    6771    <Compile Include="MainWindow.xaml.cs"> 
    6872      <DependentUpon>MainWindow.xaml</DependentUpon> 
  • 2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/MainWindow.xaml

    r5776 r5791  
    55    <Grid> 
    66        <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" /> 
    88        </ScrollViewer> 
    99        <TextBox Height="50" HorizontalAlignment="Left" Margin="12,426,0,0" Name="Mitä_teet" VerticalAlignment="Top" Width="657" /> 
    10         <Button Content="-&gt;" Height="36" HorizontalAlignment="Left" Margin="699,436,0,0" Name="button1" VerticalAlignment="Top" Width="126" /> 
     10        <Button Content="-&gt;" Height="36" HorizontalAlignment="Left" Margin="699,436,0,0" Name="button1" VerticalAlignment="Top" Width="126" Click="toimintopainike_Click" /> 
    1111    </Grid> 
    1212</Window> 
  • 2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/MainWindow.xaml.cs

    r5776 r5791  
    1 using System; 
     1 
     2using System; 
    23using System.Collections.Generic; 
    34using System.Linq; 
     
    2021    public partial class MainWindow : Window 
    2122    { 
     23        private Huoneet huoneet; 
     24        private Huone valittuHuone; 
    2225        public MainWindow() 
    2326        { 
    2427            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; 
    2538        } 
     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); 
    2672    } 
    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  
    66namespace Jaakon_Talo 
    77{ 
     8     
     9 
    810    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) 
    1215    { 
     16       this.kaksisuuntainen = onkoKaksisuuntainen; 
    1317       this.mista=mista; 
    1418       this.mihin=mihin; 
    1519    } 
     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 
    1632} 
    1733    } 
  • 2014/koodauskerho/38/JaakkoS/Jaakon_Talo/Jaakon_Talo/obj/x86/Debug/Jaakon_Talo_MarkupCompile.i.cache

    r5776 r5791  
    131311151548125 
    1414 
    15 8-2113302147 
    16 12-1381780322 
     1591299142176 
     16131111146909 
    1717MainWindow.xaml; 
    1818 
  • 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" 
    22//------------------------------------------------------------------------------ 
    33// <auto-generated> 
     
    5151        #line 7 "..\..\..\MainWindow.xaml" 
    5252        [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 
    53         internal System.Windows.Controls.TextBlock Mitä_tapahtuu; 
     53        internal System.Windows.Controls.TextBlock textBlockViestiIkkuna; 
    5454         
    5555        #line default 
     
    106106            return; 
    107107            case 2: 
    108             this.Mitä_tapahtuu = ((System.Windows.Controls.TextBlock)(target)); 
     108            this.textBlockViestiIkkuna = ((System.Windows.Controls.TextBlock)(target)); 
    109109            return; 
    110110            case 3: 
     
    113113            case 4: 
    114114            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 
    115121            return; 
    116122            } 
Note: See TracChangeset for help on using the changeset viewer.