Ohjaus 2
Anna viikonpäivä ja aikaväli kullekin ohjausryhmälle, jossa olit mukana. Aikaväli annetaan kahden tunnin (yhden ohjausryhmän kesto) jaksoissa. Mikäli osallistuit useampaan ohjausryhmään, erota kukin ajankohta pilkulla. Voit myös merkitä koti
, mikäli teit tehtäviä muualla kuin varsinaisessa pääteohjauksessa. Esimerkkejä:
ke 12-14
koti
ke 12-14, ke 14-16
ke 12-14, to 12-14, pe 14-16
Voit tehdä tämän kertaiset demotehtävät vielä tekstieditorilla, tai sitten Visual Studiossa. Jos haluat jo nyt kokeilla Visual Studion käyttöä, niin lue seuraava ohje. Viimeistään ensi viikolla siirrymme lopullisesti Visual Studioon. Jos kuitenkin haluat vielä jatkaa tavallisella tekstieditorilla, voit siirtyä suoraan tekemään demotehtäviä.
Tehdään demoista ensimmäisenä tehtävät 5 ja 1.
Alla ohjeet on Visual Studiolle, mutta Xamarinille (nykyään VS for Mac) ja MonoDevelopille ne ovat hyvin analogiset. Seuraavat videot ovat VS2015 ja Xamarinille Windowsissa, menujen paikat ovat hieman erilaisia Macissä, mutta muuten toimi Macissä samalla tavalla. Linuxissa MonoDevelop toimii täsmälleen samoin.
Visual studion käyttöönotto
- Katso myös Ohjeita projektin luontiin
Vaikka Visual Studio tekee meidän puolesta monia asioita automaattisesti on kuitenkin tärkeää että ymmärrämme mitä "taustalla" tapahtuu, ja siksi olemme tähän asti operoineet ilman graafista käyttöympäristöä.
Visual Studio on IDE, eli Integrated development environment, suomeksi yleensä vain tylsästi 'ohjelmointiympäristö'. ''Integrated''-sana tarkoittaa lyhyesti sanottuna, että samassa paketissa on monta ohjelmaa, yleensä mm. koodieditori, debuggeri (eli virheenjäljittäjä, johon tutustumme tarkemmin tulevien viikkojen aikana) ja kääntäjä.
(Integroidun) ohjelmointiympäristön käyttämisestä on monia hyötyjä, kuten se, ettemme enää joudu tekemään ohjelman kääntämistä ja kääntämisen jälkeistä suorittamista manuaalisesti. Kuitenkin, jos olisimme suoraan aloittaneet Visual Studiosta, olisi kokonaisuuden ymmärtäminen jäänyt puutteelliseksi.
HUOM syksy 2019!
Jypelin projektimallit ovat mikroluokan koneilla rikki. Lataa tiedosto mono.zip, ja pura se hakemistoon joka sinulla on vastaava kuin:
U:\My Documents\Visual Studio 2019\Templates\ProjectTemplates\Visual C#\
Huom U-asema, ei C! Eli edellä mainitun zip-tiedoston purkamisen jälkeen sinulle pitäisi muodostua em. hakemistoon seuraavat hakemistot:
Jypeli-Windows MonoGame
Käynnistä Visual Studio 2019 (huomaa että mikroluokissa on useita eri versioita, ole tarkkana että valitset oikean). Jos et ole aiemmin käynnistänyt Visual Studiota, kysytään käyttöympäristön valintaa. Valitse Visual C# ja klikkaa Start Visual Studio. Jos ohjelma kyselee sinulta vielä GhostDoc-asetuksia, voit klikata Skip.
- Jos kuitenkin vahingossa klikkasit jotain muuta kuin C#:a, niin ei hätää, toimi seuraavasti:
- Valitse ylhäältä
Tools / Import and Export Settings...
, - Valitse
Reset all settings
, - Valitse
Yes, save my current settings
ja painaNext
, - Valitse haluamasi ympäristö.
- Valitse ylhäältä
- Jos kuitenkin vahingossa klikkasit jotain muuta kuin C#:a, niin ei hätää, toimi seuraavasti:
Rivinumerot näkyviin.
Tools / Options / Text Editor / All languages / General -> Line numbers
. Jos haluat niin voit suurentaa tai pienentää myös fonttiaTools / Options / Environments / Fonts and Colors
. Tilapäisesti myös Ctrl + hiiren rulla.
Kohtaan 2: Visual Studio 2019 ei taida kysyä käyttöympäristöä, mutta ainakin käytettävää väriteemaa kysytään ensimmäisenä. Tämän jälkeen se pyytää kirjautumaan sisään. Kirjautumiseen voit käyttää yliopiston käyttäjätunnusta muodossa käyttäjätunnus@jyu.fi, mikäli olet aktivoinut oma-palvelussa Office 365.
—Mikroluokissa toi c:tarkoittaa This PC:n alla olevaa Documents kansiota, joka oikeasti sijaitsee verkkolevyllä. Oppilailla ei ole oikeuksia C:llä olevaan Documents kansioon.
Kiitos, korjasin ohjeen :) -MR
—HUOMAA että Jypelin pohjat eivät löydy, jos laitat kielifiltteriksi C#. Hae templatea selaamalla (all) tai etsimällä suoraan esim. nimellä "Fysiikkapeli".
REFRESHAA SELAIN AINA VÄLILLÄ SILLÄ OHJEITA MUUTETAAN
Jypeli Solutionin/Projektin luominen Visual Studiossa
- Valitse
Create new project
tai yläpalkistaFile / New / Project
(taiCtrl + Shift + N
) - Valitse projektin tyypiksi
FysiikkaPeli(Physics2d)
. (Huom! Älä tuplaklikkaa)- mikäli sinulla ei näy menussa
Jypeliä
, tämän dokumentin lopussa on ohjeet konsolisovelluksen tekemiseksi ilman Jypeli-projektimallia.
- mikäli sinulla ei näy menussa
- Anna projektin nimeksi
Portaat
. - Kirjoita tai selaa (
Browse
) poluksiC:\MyTemp\OMATUNNUS\ohj1\ohjaukset\ohjaus2
(tai mikä onkaan oma demohakemistosi). HUOM! Suositellaan aina tekemistä ensin paikalliselle levylle, esim.C:\MyTemp\omatunnus\...
. Muista siirtää lopuksi TÄRKEÄT tiedostot U-asemallesi. - Anna solutionin nimeksi
demo2
. - Jätä
Place solution and project in the same directory
-boksi tyhjäksi. - Klikkaa Create.
- Klikkaa Solution Explorerissa kooditiedoston
Portaat.cs
nimeä. Koodissa pitäisi näkyä:
Jos Physics2d ei toimi, voit yhtä hyvin käyttää myös SimplePhysicsiä. Tämä on kuitenkin vain ongelman siirtämistä…
—public class Portaat : PhysicsGame
{
public override void Begin()
{
// TODO: Kirjoita ohjelmakoodisi tähän
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
}
- Korvaa TODO-rivi riveillä:
Level.Background.Color = Color.Black;
PhysicsObject pallo = new PhysicsObject(200,200,Shape.Circle);
pallo.Color = Color.Blue;
Add(pallo);
- Muotoile sisennykset "kauniiksi" :
Edit / Advanced / Format Document
(voit vaikka opetella ulkoa tuon pikakomennonCtrl-K D
(tai vanhemmissa versioissaCtrl-E D
) ). - Kirjoita luokan dokumentaatiokommentti näppäilemällä luokan esittelyrivin yläpuolelle kolme kauttaviivaa
///
. Kirjoita<summary>
-tagien väliin selvitys luokan toiminnasta (eli että piirretään portaita) - Kirjoita vastaavasti
Begin
-metodin kommentit. - Kokeile kääntää (Ctrl+Shift+B), tai sitten voit tehdä käännös+ajon yhtä aikaa (F5). Nämä pikanäppäimet näet menun kohdasta
Debug
. - HUOM! Jos ajoyrityksessä (painamalla F5) tulee virheitä, niin Visual Studio ehdottaa, että ajetaanko viimeisin toimiva versio. Mutta tätähän me emme halua, vaan korjata ohjelmamme jotta se toimisi. Joten vastaa ''No''.
Ctrl-K D
—- muuta ohjelma vastaamaa Demo 2:n tehtävää 5
Konsoliprojekti
Oletetaan että sinulla on projekti jo olemassa. Lisätään solutioniin toinen projekti demo 2:n tehtävää 1 varten. (Mikäli ei ole Solutionia, niin voit aloittaaFile/New/Project
).
- Klikkaa Solution Explorerissa solutionin
demo2
nimeä hiiren oikealla. - Valitse
Add/New Project...
- Valitse
Jypeli/ConsoleMain
- Anna nimeksi
Lausekkeita
- Paina
Create
. - Jotta projekti voidaan ajaa, klikkaa Solution Explorerissa sen nimeä
Lausekkeita
hiiren oikealla ja valitseSet as StartUp Project
.
- Solution Explorerissa tuplaklikkaa hiirellä tiedoston nimeä
Lausekkeita.cs
. - Lisää koodiin rivi, joka tulostaa jotakin:
- mene pääohjelman aaltosulkujen
{}
väliin - kirjoita
cw
ja painaTab Tab
- täydennä sulkujen sisään
"Terve!"
- mene pääohjelman aaltosulkujen
- Ohjelman voit ajaa painamalla
Ctrl-F5
. Mikäli painatF5
, ohjelma vain välähtää.
Jatka tekemällä Demo 2 tehtävää 1. Kun olet aina päätellyt mitä tulostuu, vaihda pääohjelman koodi vastaavaksi ja kokeile pitikö arvauksesi paikkansa.
Muuta pääohjelman koodiksi esimerkiksi:
int a = 1; int b = 2; int c = 3; int x = a + b * ((2 - c) / a + b); System.Console.WriteLine(x);
- aja painamalla
Ctrl-F5
Pikaoppi debuggauksesta:
- klikkaa hiirellä rivin
int x
kohdalla harmaata vasenta marginaalia rivinumeroiden vasemmalla puolella. Pitäisi tulla punainen pallukka. - Voit myös siirtää kursorin haluamallesi riville ja painaa F9. (Tai shift+F10 -> Breakpoint -> Insert breakpoint)
- Aja ohjelma painamalla F5.
- Ajo pysähtyy riville ennen kuin x:lle on annettu arvo.
- Katso alalaidasta muuttujien arvoja.
- Paina
F10
niin suoritetaan rivix =
- Katso mitä on muuttujien arvot
- Jatka ajaminen loppuu painamalla
F5
Huomioita Jypeli-projekteista
Jypeli-projektissa Main-pääohjelma menee Ohjelma.cs-tiedostoon, joten jos copy-pastetat koodin (esimerkiksi demo2/tehtävä4), niin poista Main-pääohjelma Portaat
-luokan sisältä.
Konsoliprojekti ilman Jypeli-projektimallia
Projektin luominen Visual Studiossa
File \(\rightarrow\) New \(\rightarrow\) Project (tai Ctrl + Shift + N)
Valitse projektin tyypiksi
Visual C#/Console Application
.Anna projektin nimeksi
Laskutoimituksia
.Kirjoita tai selaa (Browse) poluksi
C:\MyTemp\OMATUNNUS\ohjaukset\ohjaus2
(tai mikä onkaan oma demohakemistosi). HUOM! Suositellaan aina tekemistä ensin paikalliselle levylle, esim.
C:\MyTemp\omatunnus\...
.
Muista siirtää lopuksi TÄRKEÄT tiedostot U-asemallesi.Klikkaa
Create new directory for solution
, jos siinä kohdalla ei ole vielä rastia.Anna solutionin nimeksi
demo2
.Klikkaa Ok.
Muuta Solution Explorerissa kooditiedoston
Program.cs
nimeksiLausekkeita.cs
(Hiiren oikea nimen päällä). Vastaa Yes kun VS kysyy huomioidaanko muutos projektin muissakin tiedostoissa. Nyt luokan nimikin pitäisi olla muuttunut koodissa.Console Application on luonut "vähän turhaan" nimiavaruuden (namespace). Poista rivi jolla lukee namespace ja sitä seuraava aloittava aaltoulku
{
ja lopusta nimiavaruuden päättävä aaltosulku}
.Lisää
public
-määritys sekäMain
-metodin että luokan esittelyyn. Poista myös ylimääräisetusing
-lauseet. Muutosten jälkeen koodin tulisi näyttää tältä:using System; public class Lausekkeita { public static void Main(string[] args) { } }
Muotoile sisennykset "kauniiksi" :
Edit/Advanced/Format
Document (voit vaikka opetella ulkoa tuon pikakomennonCtrl-E D
).Lisää pääohjelmaan rivi, joka tulostaa jotakin näytölle.
Kirjoita luokan dokumentaatiokommentti näppäilemällä luokan esittelyrivin yläpuolelle kolme kauttaviivaa
///
. Kirjoita<summary>
-tagien väliin selvitys luokan toiminnasta.Kirjoita vastaavasti
Main
-funktion kommentit.Kokeile kääntää (F6), tai sitten voit tehdä käännös+ajon yhtä aikaa (Ctrl-F5)
HUOM! Jos ajoyrityksessä (painamalla Ctrl-F5) tulee virheitä, niin Visual Studio ehdottaa, että ajetaanko viimeisin toimiva versio. Mutta tätähän me emme halua, vaan korjata ohjelmamme jotta se toimisi. Joten vastaa ''No''.
Ajamisen voi tehdä myös
F5
, mutta silloin kuva vaan välähttää ellei koodissa ole keskytyskohtaa (breakpoint).nyt voit jatkaa edellä olevasta Konsoli-projektin ohjeesta kohdasta Demo 2 tehtävää 1.
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.