Ohjelmointi 1, syksy 2024, luento17
- Vuoden 2015 esimerkki: Hirsipuu
- Vuoden 2012 esimerkki: Lumiukot oliolla:
- ks: s2012 luennot
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 17. luento videona: Osa 1 ja 2 MP4 alkuperäinen
- luentoseinä
#
git
Luentoesimerkkien haku versionhallinnasta
siirry hakemistoon johon haluat esimerkit
ekalla kertaa
git clone https://gitlab.jyu.fi/tie/ohj1/2024s/esimerkit.git .
jatkossa samassa hakemistossa
git pull
kopsi tuo hakemisto tai ainakin sinua kiinnostava alihakemisto toiseen paikkaan
periaatteessa tuonne syntyneen solutionin voi avata sellaisenaankin, mutta jos siihen tekee muutoksia, niin seuraavalla
pull
-komennolla tulee helposti konflikti
Kertausta
- perintä: is-a
- katso luento 16 HangryDoc dokumentaatio
Määrät
#
maaratcs
Kysymyksiä
#
Miktuleeseuraavaksi
Kutsujärjestys
#
jarjestys
Kysymyksiä
#
Mitohjelmatulostaa
Hirsipuupeli
#
hirsi1
Tekojärjestys:
Begin-metodiin:
- kokeile lisätä
Begin
-metodiin toinen kirjain, vaikkapaB
- KATSO staattiset attribuutit
public class Aakkoset
{
public Aakkoset(PhysicsGame peli, string[] kirjaimet, Vector p, double w)
{
if (kirjaimet.Length == 0) return;
int n = kirjaimet[0].Length; // TODO: etsi pisin rivi
if (n == 0) return;
double d = w / n;
Vector koko = new Vector(d, d);
Vector sarekesiirtyma = new Vector(d, 0);
string jono = kirjaimet[0];
for (int sarake = 0; sarake < jono.Length; sarake++)
{
Vector paikka = p + sarake * sarekesiirtyma;
char kirjain = jono[sarake];
Kirjain palikka = new Kirjain(peli, kirjain, paikka, koko);
}
}
}
Vector rivisiirtyma = new Vector(d*0.2, -d*1.1);
Vector sarekesiirtyma = new Vector(d*1.1, 0);
for (int rivi = 0; rivi < kirjaimet.Length; rivi++ )
{
Vector paikka = p + rivi * rivisiirtyma;
string jono = kirjaimet[rivi];
for (int sarake = 0; sarake < jono.Length; sarake++)
{
char kirjain = jono[sarake];
Kirjain palikka = new Kirjain(peli, kirjain, paikka, koko);
paikka += sarekesiirtyma;
}
}
- siirrä kirjaimessa kuva ja fontti staattiseksi vakioksi:
- lisää sanaluokka
public class Sana
{
private string teksti;
private Vector position;
public Vector Position { get { return position; } }
private List<Kirjain> kirjaimet = new List<Kirjain>();
private PhysicsGame peli;
public Sana(PhysicsGame peli, Vector p, string teksti, double d)
{
this.teksti = teksti;
this.position = p;
Vector sarakesiirtyma = new Vector(d * 1.1, 0);
Vector paikka = p;
this.peli = peli;
Vector koko = new Vector(d, d);
for (int sarake = 0; sarake < teksti.Length; sarake++)
{
char kirjain = teksti[sarake];
Kirjain palikka = new Kirjain(peli, kirjain, paikka, koko);
this.kirjaimet.Add(palikka);
paikka += sarakesiirtyma;
}
}
}
Selitä loput toiminnasta...
huomaa mm liitokset:
#
hirsipuupeli
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.