Viikko 2
Paikka
"Ohjelmoinnin alkeet"-kurssin pääteohjaukset järjestetään omassa Zoom-huoneessa:
Ilmoittautuminen
Valitse ne pääteohjausryhmät, joissa olet paikalla viikolla 37.
| Viikko 37 |
ma 13.09 |
ti 14.09 |
ke 15.09 |
to 16.09 |
pe 17.09 |
|---|---|---|---|---|---|
| 08-10 | |||||
| 10-12 |
Please |
Please |
|||
| 12-14 | L |
Please |
Please |
||
| 14-16 | P | L |
Please |
Please |
|
| 16-18 | P |
Please |
Alkuun ohjaavat tehtävät
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 ensimmäisenä tehtävät
- demojen tehtävä 5 alla olevilla Jypelin ohjeilla
- demojen tehtävä 1 ensin pohtien mitä tulostaa ja sitten alla olevilla Konsoliprojektin ohjeilla tehdään konsolisovellus, jolla tarkistetaan omat "arvaukset"
- kun molemmat projektityypit osataan tehdä, saa jatkaa muilla demoilla
Alle kirjoitetut ohjeet ovat Visual Studiolle, mutta Visual Studio for Macille ja JetBrains Riderille prosessi on hyvin samankaltainen.
Seuraavat videot ovat VS2015, VS2019 ja Visual Studio for Macille.
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.
HUOMAA että Jypelin pohjat eivät löydy, jos laitat alustan filtteriksi Windows. Hae templatea selaamalla tai etsimällä suoraan esim. nimellä "Fysiikkapeli".
Jypeli Solutionin/Projektin luominen Visual Studiossa
- Valitse
Create new projecttai yläpalkistaFile / New / Project(taiCtrl + Shift + N). Mac: ValitseNewalkuikkunasta tai yläpalkistaFile / New Solution - Valitse projektin tyypiksi
FysiikkaPeli.- 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. (Mikroluokassa työskennellessä) - Anna solutionin nimeksi
demo2. - Jätä
Place solution and project in the same directory-boksi tyhjäksi. Mac: KlikkaaCreate a project directory within the solution directorytäytetyksi. - Klikkaa Create.
- Klikkaa Solution Explorerissa kooditiedoston
Portaat.csnimeä. Koodissa pitäisi näkyä:
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(Pikakomento löytyyFormat Documentvierestä, voit vaikka opetella sen ulkoa). Mac:Edit / Format / Format Document. - 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''.
- muuta ohjelma vastaamaa Demo 2:n tehtävää 5
Konsoliprojekti
Oletetaan että sinulla on solution 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
demo2nimeä hiiren oikealla. - Valitse
Add/New Project... - Valitse
Jypeli/ConsoleMain - Anna nimeksi
Lausekkeita - Paina
Create. - Jotta projekti voidaan ajaa, klikkaa Solution Explorerissa sen nimeä
Lausekkeitahiiren 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
cwja 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 xkohdalla 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
F10niin 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. Mac:Other/.NET/Console ApplicationAnna 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 (Agoran mikroluokissa)Klikkaa
Create new directory for solution, jos siinä kohdalla ei ole vielä rastia.Anna solutionin nimeksi
demo2.Klikkaa Ok.
Muuta Solution Explorerissa kooditiedoston
Program.csnimeksiLausekkeita.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/FormatDocument (voit vaikka opetella ulkoa tuon pikakomennonCtrl-E D). Mac:Edit / Format / Format DocumentLisää 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.