Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ytdingv/ohj-1-ht
  • jusijepy/ohj-1-htk
  • tulehtol/ohj1ht
  • amslappi/ohj-1-ht-game
  • jajuberg/ohj1ht
  • erjoisal/ohj-1-ht-2022-k
  • atkaanhe/harjoitustyon-suunnitelma
  • elkrleht/ohj1ht
  • lemilyly/ohj1ht
  • ayakiel/ohj1ht
  • jematoss/ohj-1-htkevat
  • teoilalo/ohj1ht2
  • elmataka/ohj1ht
  • juhelepp/ohj1ht
  • vaimik/ohj1ht
  • hannueay/ohj1ht
  • sipehehe/ohj1ht
  • karhjaww/ohj1ht
  • mpaukku/ohj1ht
  • rauhakes/ohj1ht
  • iieeyli/ohj1ht
  • poimmmyy/ohj1ht
  • elmatynk/ohj1ht
  • aksoinxu/ohj1ht
  • sjelvkmx/ohj1ht
  • maersela/ohj1ht
  • pmrauhal/ohj1ht
  • robogoud/ohj1ht
  • maalsalm/ohj1ht
  • sisusalo/harkkatyo-ohj-1
  • ulfvesjm/ohj1ht
  • lmeranvy/ohj1ht
  • vipejopi/ohj1ht
  • eltuhato/ohj-1-ht
  • tosakorh/ohj1ht
  • anevala/ohj1ht
  • ferstaen/ohj1ht
  • kaanahon/ohj1ht
  • jijmoixy/ohj1ht
  • seppanee/ohj1ht
  • ftzmpcng/ohj1ht
  • hhuotari/ohj1ht
  • hejublom/ohj1ht
  • hmhakkan/ohj-1-ht-2
  • puttovvy/ohj1ht
  • evehenma/ohj1ht
  • pemakrti/ohj1ht
  • japiisi/ohj1ht
  • vkhiltun/ohj1ht
  • mkmannit/ohj1ht
  • sasokort/ohj1ht
  • jakrhonk/ohj1ht
  • heespari/ohj1ht
  • kmdesilv/ohj1ht
  • aaltovmt/ohj1ht
  • jetsansa/ohj1ht
  • amaheikk/ohj1ht
  • mahojoha/ht-2022-laiskiaisen-hyppely
  • pihammms/ohj1ht
  • rptolppw/ohj1ht
  • saanberg/ohj1ht
  • pjsavola/ohj1ht
  • mialkein/ohj1ht
  • levomaaa/ohj1ht
  • henjuhka/ohj1ht
  • kotakazy/harkkatyo-labyrintti
  • kannisto/ohj1ht
  • nvwallen/ohj1ht
  • sasumyrs/ohj1ht
  • noiianva/ohj1ht
  • yrhrosc/ohj1ht
  • anlakane/ohj1ht
  • gagolzar/ohj1ht
  • jokaeske/ohj-1-ht
  • jjkovane/ohj1ht
  • jepekkin/ohj1ht
  • jeadvier/ohj1ht
  • alejarta/ohj-1-ht-harjoitustyo
  • jjropane/ohj1ht
  • hkari/ohj1ht
  • heikkajv/ohj1ht
  • tahehyny/ohj1ht
  • helniemi/ohj1ht
  • koskepau/ohj1ht
  • taakasjo/ohj1ht
  • panyland/ohj1ht
  • almijuku/ohj1ht
  • anjovier/ohj1ht
  • vkraft/ohj1ht
  • okvuoril/ohj1ht
  • seakunuw/ohj1ht
  • tie/ohj1/2022k/ohj1ht
  • ansepaja/ohj1ht
  • oteeemsi/ohj1ht
  • koponepe/ohj1ht
  • cgwitick/ohj1ht
  • hyppjhxt/ohj1ht
  • ukkolaaa/harjoitustyo-anssi-ukkola
  • lamarava/harjoitustyo
  • rnarhi/ohj1ht
  • kallvaxu/ohj1ht
  • nehalt/ohj1ht
  • lakhan/ohj1ht
  • ansjober/ohj1ht
  • jhekuusi/ohj1ht
  • selkamks/ohj1ht
  • johandek/ohj1ht
  • esmaelke/ohj-1-htessi
  • eedadu/ohj1ht
  • tjkarlbe/ohj1ht
  • sojulois/ohj1ht
  • tptluuzw/ohj1ht
  • jesolaan/ohj1ht
  • eaorikal/ohj1ht
  • ettalaes/ohj1ht
  • mikbrink/ohj1ht
  • pevijura/ohj1ht
  • sasesill/ohj1ht
  • lamialjo/ohj1ht
  • tuomaiae/ohj1ht
  • saisama/ohjelmointi-1-harkka
  • jvvoutil/ohj1ht
  • happoezz/ohj1ht
  • olarkala/ohj1ht
  • iljinisa/ohj1ht
  • repennan/ohj1ht
  • idmahako/harjoitustyo
  • jytapelt/ohj1ht
  • amlammi/ohj1ht
  • leepetra/harjoituspeli
  • karpot/ohj1ht
  • eiekuiri/ohj1ht
  • vsoikoxy/ohj1ht
  • ateekett/ohj1ht
  • eljosine/ohj1ht
  • osnykanv/ohj1ht
  • karkravy/ohj1ht
  • mkheinvr/peliharjoitus
  • viitkmyy/ohj1ht
  • saarinfe/ohj1ht
  • alrasane/ohj1ht
  • veanborg/ohj1ht
  • aarkasko/ohj1ht
  • mavcolli/ohj1ht
  • siemeluk/ohj1ht
  • melarami/harjoitustyon-suunnitelma
  • ronkaipi/ohj1ht
  • mtkarki/variguru
  • tolvanjo/moose-vs-cars
  • iakrapi/ohj1ht
  • olmisalo/ohj1ht
  • jaakkoej/ohj1ht
  • iljussil/ohj1ht
  • aljomall/ohj1ht
  • jaalantt/ohj1ht
  • saukkosa/harjoitustyoohj-12022
  • jmjleixu/ohj1ht
  • laemkosk/ohj1ht
  • evikatsu/ohj1ht
  • majauusi/ohj1ht
  • ekojala/pelailua
  • sjnurmi/ohj1ht
  • mikajalk/ohj1ht
  • abakir/ohj1ht
  • aeritala/ohj1ht
  • tersaton/ohj1ht
  • pykakimp/popeli
  • torkalju/ohj1ht
  • joilfrim/ohj1ht
  • manninhm/ohj1ht
  • eeeeanni/ohj1ht
  • kaarkosk/ohj1ht
  • virtotka/ohj1ht
  • miveluos/ohj1ht
  • joaahirv/ohj1ht
  • eerannju/ohj1ht
  • virtem/ohj-1-ht
  • lahteijo/avaruusammunta
  • happonee/ohj1ht
  • hunnaaty/ohj1ht
  • ronneman/ohj1ht
  • mylkatjo/ohj-1-ht-2022
  • iinmartu/ohj1ht
  • jokanion/ohj1ht
  • aoklemet/ohj1ht
  • tjkinnun/ohj1ht
  • lptpityz/ohj1ht
  • vipemiha/harjoitustyon-suunnitelma
  • vtsakkin/ohj1ht
  • pjjlento/ohj1ht
  • ovverone/ohj1ht
  • okmturyy/ohj1ht
  • rooseawy/ohj1ht
  • poikvixv/ohj1ht
  • makejukr/valivesipeli
  • eemahakk/ohj1ht
  • mieemalo/ohj1ht
  • holsan/ohj1ht
  • sksilin/ohj1ht
  • vesiltas/ohj1ht
  • eatuomuz/ohj1ht
  • eeospitk/ohj-1-ht
  • eeankett/ohj1ht
  • maoserho/ohj1ht
  • kaanmuik/ohj1ht
  • nttjarvi/ohj1ht
  • iilaakko/ohj1ht
  • lahteela/ohj1ht
  • anmatala/ohj1ht
  • remapasa/ohj1ht
  • saarioh/ohj1ht
  • saarelee/ohj1ht
  • ejviuhko/ohj1ht
  • lajokari/ohj1ht
  • milimaas/ohj1ht
  • paemhiet/harjoitustyo
  • jarjuhle/ohj1ht
  • mmpaalax/ohj1ht
  • sijoeeri/ohj1ht
  • juuariju/ohj-1-ht-juuso-virtanen
  • alnelima/ohjelm-1-ht
  • haveelma/ohj1ht
  • femajolo/ohj1ht
  • mejovikm/ohj1ht
  • tojuhann/ohj1ht
  • vejokela/ohj1ht
  • koivisev/ohj1ht
  • matahiet/ohj1ht
  • sillejyu/ohj1ht
  • aittoem/ohj1ht
  • tepekyla/ohj1htVanha
  • jailsiis/ohj1ht
  • tohuotar/ohj1ht
233 results
Show changes
Commits on Source (9)
Showing
with 547 additions and 27 deletions
File added
File added

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 25.0.1700.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pomppupeli", "Pomppupeli\Pomppupeli.csproj", "{DF36EB9E-237C-47DB-8B13-065E5A7C877C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {486C5F61-CE13-4CE9-9285-6D46CAF63DD9}
EndGlobalSection
EndGlobal
File added
File added
############################################################################
######### ################################################################
####### ######### ####### ######## ##############################
###### ###### ### ### ###########################
## * * ######
#M # * * ## ######
## # XX * # * # x * XX ## ######
########################################################### ############
######### ################################################ * ######
####### ################## ########################### ######
###### ###### #### ############################ ######
# * * * * ######
#N # * * # ## ######
# # XX * # * # X X # ## ######
############################################################################
\ No newline at end of file
############################################################################
########################################################## #
####################################################### N #
## * #################################### #
#M ################################## ################
## X ################################# * ################
############ #################### ###### ################
############### * ################ #### ################
################## X * * ################
####################### * # X################
############################# XX # # * X################
############################################################################
############################################################################
############################################################################
############################################################################
\ No newline at end of file
############################################################################
########################################################## ##
####################################################### * M#
# * #################################### ##
#N ################################## #########
# X * ################################# * ###########
############ #################### ###### ############
############### * ################ #### #############
################## X * * ##############
####################### * # X################
############################# XX # # * X################
############################################################################
############################################################################
############################################################################
############################################################################
\ No newline at end of file
############################################################################
######### ################################################################
####### ######### ####### ######## ##############################
###### ###### ### ### ###########################
# * * ######
#N # * * ## ######
# # XX * # * # x * XX ## ######
########################################################### ############
######### ################################################ * ######
####### ################## ########################### ######
###### ###### #### ############################ ######
## * * * * ######
#M # * * # ## ######
## # XX * # * # X X # ## ######
############################################################################
\ No newline at end of file
Harjoitustyo/Pomppupeli/Content/maali.png

9.86 KiB

Harjoitustyo/Pomppupeli/Content/pallo.png

44.2 KiB

Harjoitustyo/Pomppupeli/Content/piikki.png

16.4 KiB

Harjoitustyo/Pomppupeli/Content/rengas.png

37.5 KiB

#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
#endregion
namespace Program
{
/// <summary>
/// The main class.
/// </summary>
public static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
using ( var game = new Pomppupeli() )
game.Run();
}
}
}
using System;
using System.Collections.Generic;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
/// @author Oskari Eronen
/// @version 1.2.0
///
/// <summary>
/// Pomppupeli, jossa pelaajan tulisi kerätä mahdollisimman paljon renkaita ja ansaita näin pisteitä
/// </summary>
public class Pomppupeli : PhysicsGame
{
private const double nopeus = 250;
private const double hyppynopeus = 600;
private const int ruudunKoko = 40;
private int kenttaNro = 1;
private PlatformCharacter pelaaja; // Esitellään pelaaja
private Image palloKuva = LoadImage("pallo.png"); // Ladataan kuva pallosta
private Image rengasKuva = LoadImage("rengas.png"); // Ladataan kuva renkaasta
private Image piikkiKuva = LoadImage("piikki.png"); // Ladataan kuva piikistä
private Image maaliKuva = LoadImage("maali.png"); // Ladataan kuva maalista
private IntMeter pisteLaskuri; // Esitellään pistelaskuri
private List<Label> valikonKohdat; // Esitellään valikonkohdat lista
private EasyHighScore topLista = new EasyHighScore(); // Esitellään pisteiden top lista
private List<int> pisteetMaasta; // Esitetään lista jossa pisteet per maa
private List<Label> maidenPisteet; // Esitetään lopullisen pistevalikon pisteet per maa
/// <summary>
/// Pääohjelma luo painovoiman ja aloittaa pelin
/// </summary>
public override void Begin()
{
Gravity = new Vector(0, -1000);
Mouse.IsCursorVisible = true;
pisteetMaasta = new List<int>();
Valikko(null);
}
/// <summary>
/// Aliohjelma tyhjentää alkuvalikon ja luo kentän
/// </summary>
public void AloitaPeli()
{
ClearAll();
LuoKentta("kentta" + kenttaNro);
}
/// <summary>
/// Aliohjelma luo valikon painikkeet ja kuuntelee mitä pelaaja painaa valikossa
/// </summary>
/// <param name="sender"> Parametri liittyen toplistan toimintaan </param>
public void Valikko(Window sender)
{
valikonKohdat = new List<Label>();
Label kohta1 = new Label("Aloita uusi peli");
kohta1.Position = new Vector(0, 40);
valikonKohdat.Add(kohta1);
Label kohta2 = new Label("Lopeta peli");
kohta2.Position = new Vector(0, -40);
valikonKohdat.Add(kohta2);
Label kohta3 = new Label("Katso pisteet");
kohta3.Position = new Vector(0, 0);
valikonKohdat.Add(kohta3);
foreach (Label valikonKohta in valikonKohdat) // silmukka lisää jokaisen valikon kohdan
{
Add(valikonKohta);
}
Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null);
Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, NaytaTopLista, null);
}
/// <summary>
/// Aliohjelma joka luo kentän tekstitiedostosta
/// </summary>
/// <param name="kentannumero"> kentän tekstitiedoston nimi </param>
public void LuoKentta(string kentannumero)
{
ClearAll();
TileMap kentta = TileMap.FromLevelAsset(kentannumero);
kentta.SetTileMethod('#', LisaaTaso);
kentta.SetTileMethod('*', LisaaRengas);
kentta.SetTileMethod('N', LisaaPelaaja);
kentta.SetTileMethod('X', LisaaPiikki);
kentta.SetTileMethod('M', LisaaMaali);
kentta.Execute(ruudunKoko, ruudunKoko);
Level.CreateBorders();
Level.Background.CreateGradient(Color.White, Color.SkyBlue);
LisaaNappaimet();
LuoPistelaskuri();
Camera.Follow(pelaaja);
Camera.ZoomFactor = 2.0;
Camera.StayInLevel = true;
}
/// <summary>
/// Aliohjelma tyhjentää edellisen kentän ja kutsuu toista aliohjelmaa kentän tekstitiedoston nimellä
/// </summary>
public void SeuraavaKentta()
{
LuoKentta("kentta" + kenttaNro);
}
/// <summary>
/// Aliohjelma lisää tason peliin
/// </summary>
/// <param name="paikka"> määrittelee mihin taso luodaan </param>
/// <param name="leveys"> tason leveys </param>
/// <param name="korkeus"> tason korkeus </param>
public void LisaaTaso(Vector paikka, double leveys, double korkeus)
{
PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
taso.Position = paikka;
taso.Color = Color.DarkRed;
Add(taso);
}
/// <summary>
/// Alihojelma lisää renkaan peliin
/// </summary>
/// <param name="paikka"> määrittelee mihin rengas luodaan </param>
/// <param name="leveys"> renkaan leveys </param>
/// <param name="korkeus"> renkaan korkeus </param>
public void LisaaRengas(Vector paikka, double leveys, double korkeus)
{
PhysicsObject rengas = PhysicsObject.CreateStaticObject(leveys, korkeus);
rengas.IgnoresCollisionResponse = true;
rengas.Position = paikka;
rengas.Image = rengasKuva;
rengas.Tag = "rengas";
Add(rengas);
}
/// <summary>
/// Aliohjelma lisää piikin peliin
/// </summary>
/// <param name="paikka"> määrittelee mihin piikki luodaan </param>
/// <param name="leveys"> piikin leveys </param>
/// <param name="korkeus"> piikin korkeus </param>
public void LisaaPiikki(Vector paikka, double leveys, double korkeus)
{
PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus);
piikki.IgnoresCollisionResponse = true;
piikki.Position = paikka;
piikki.Image = piikkiKuva;
piikki.Tag = "piikki";
Add(piikki);
}
/// <summary>
/// Alihojelma lisää pelaajan peliin
/// </summary>
/// <param name="paikka"> määrittelee mihin pelaaja lisätään </param>
/// <param name="leveys"> pelaajan leveys </param>
/// <param name="korkeus"> pelaajan korkeus </param>
public void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
{
pelaaja = new PlatformCharacter(leveys, korkeus);
pelaaja.Position = paikka;
pelaaja.Mass = 4.0;
pelaaja.Image = palloKuva;
AddCollisionHandler(pelaaja, "rengas", TormaaRenkaaseen);
AddCollisionHandler(pelaaja, "piikki", TormaaPiikkiin);
AddCollisionHandler(pelaaja, "maali", TormaaMaaliin);
Add(pelaaja);
}
/// <summary>
/// Aliohjelma lisää maalin peliin
/// </summary>
/// <param name="paikka"> määrittelee mihin maali lisätään </param>
/// <param name="leveys"> maalin leveys </param>
/// <param name="korkeus"> maalin korkeus </param>
public void LisaaMaali(Vector paikka, double leveys, double korkeus)
{
PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
maali.IgnoresCollisionResponse = true;
maali.Position = paikka;
maali.Image = maaliKuva;
maali.Tag = "maali";
Add(maali);
}
/// <summary>
/// Aliohjelma lisää peliin näppäimet jolla pelaajaa liikutetaan
/// </summary>
public void LisaaNappaimet()
{
Keyboard.Listen(Key.O, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja, -nopeus);
Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja, nopeus);
Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja, hyppynopeus);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
}
/// <summary>
/// Aliohjelma suorittaa liikkumisen
/// </summary>
/// <param name="hahmo"> mitä liikutetaan </param>
/// <param name="nopeus"> millä nopeudella liikutetaan </param>
public void Liikuta(PlatformCharacter hahmo, double nopeus)
{
hahmo.Walk(nopeus);
}
/// <summary>
/// Aliohjelma suorittaa hyppäämisen
/// </summary>
/// <param name="hahmo"> millä hypätään </param>
/// <param name="nopeus"> millä nopeudella hypätään eli kuinka korkealle </param>
public void Hyppaa(PlatformCharacter hahmo, double nopeus)
{
hahmo.Jump(nopeus);
}
/// <summary>
/// Aliohjelma suorittaa tapahtumat kun pelaaja törmää renkaaseen
/// </summary>
/// <param name="hahmo"> mikä törmää </param>
/// <param name="rengas"> mihin törmätään </param>
public void TormaaRenkaaseen(PhysicsObject hahmo, PhysicsObject rengas)
{
MessageDisplay.Add("Keräsit renkaan!");
pisteLaskuri.Value += 1;
rengas.Destroy();
}
/// <summary>
/// Aliohjelma suorittaa tapahtumat kun pelaaja törmää piikkiin
/// </summary>
/// <param name="hahmo"> mikä törmää </param>
/// <param name="piikki"> mihin törmätään </param>
public void TormaaPiikkiin(PhysicsObject hahmo, PhysicsObject piikki)
{
MessageDisplay.Add("Pallo puhkesi, voi ei!");
hahmo.Destroy();
Kuolema();
}
/// <summary>
/// Aliohjelma suorittaa tapahtumat kun pelaaja törmää maaliin
/// </summary>
/// <param name="hahmo"> mikä törmää </param>
/// <param name="maali"> mihin törmätään </param>
public void TormaaMaaliin(PhysicsObject hahmo, PhysicsObject maali)
{
kenttaNro++;
pisteetMaasta.Add(pisteLaskuri.Value);
if (kenttaNro < 5)
{
SeuraavaKentta();
}
else
{
LopullisetPisteet();
}
}
/// <summary>
/// Alihojelma suorittaa tapahtumat kun pelaaja on törmännyt piikkiin ja kuolee
/// </summary>
public void Kuolema()
{
ClearAll();
topLista.EnterAndShow(pisteLaskuri.Value);
topLista.HighScoreWindow.Closed += Valikko;
}
/// <summary>
/// Aliohjelma luo pistelaskurin peliin
/// </summary>
public void LuoPistelaskuri()
{
pisteLaskuri = new IntMeter(0);
Label pisteNaytto = new Label();
pisteNaytto.X = Screen.Right - 150;
pisteNaytto.Y = Screen.Top - 100;
pisteNaytto.TextColor = Color.Black;
pisteNaytto.Color = Color.White;
pisteNaytto.Title = "Tämän maan pisteet: ";
pisteNaytto.BindTo(pisteLaskuri);
Add(pisteNaytto);
}
/// <summary>
/// Aliohjelma näyttää kerätyt pisteet per maa
/// </summary>
public void LopullisetPisteet()
{
ClearAll();
maidenPisteet = new List<Label>();
Label maa1 = new Label("Pisteet maasta 1: " + pisteetMaasta[0]);
maa1.Position = new Vector(0, 40);
maidenPisteet.Add(maa1);
Label maa2 = new Label("Pisteet maasta 2: " + pisteetMaasta[1]);
maa2.Position = new Vector(0, 20);
maidenPisteet.Add(maa2);
Label maa3 = new Label("Pisteet maasta 3: " + pisteetMaasta[2]);
maa3.Position = new Vector(0, 0);
maidenPisteet.Add(maa3);
Label maa4 = new Label("Pisteet maasta 4: " + pisteetMaasta[3]);
maa4.Position = new Vector(0, -20);
maidenPisteet.Add(maa4);
Label yhteensa = new Label("YHTEENSÄ: " + KokonaisPisteet(pisteetMaasta));
yhteensa.Position = new Vector(0, -40);
maidenPisteet.Add(yhteensa);
Label poistu = new Label("Poistu Valikkoon");
poistu.Position = new Vector(0, -60);
maidenPisteet.Add(poistu);
foreach (Label pisteet in maidenPisteet) // silmukka lisää jokaisen valikon kohdan
{
pisteet.Color = Color.White;
Add(pisteet);
}
Mouse.ListenOn(poistu, MouseButton.Left, ButtonState.Pressed, Lopetus, null);
}
/// <summary>
/// Aliohjelmassa lasketaan yhteen listaan lisätyt arvot
/// </summary>
/// <param name="pisteet"> lista josta pisteet lasketaan </param>
/// <returns></returns>
public static int KokonaisPisteet(List<int> pisteet)
{
int kokonaispisteet = 0;
for (int i = 0; i < pisteet.Count; i++)
{
kokonaispisteet += pisteet[i];
}
return kokonaispisteet;
}
/// <summary>
/// Aliohjelma näyttää pisteiden TOP listan
/// </summary>
public void NaytaTopLista()
{
ClearAll();
topLista.Show();
topLista.HighScoreWindow.Closed += Valikko;
}
/// <summary>
/// Aliohjelma pyytää lisämään lopulliset pisteet TOP listaan
/// </summary>
public void Lopetus()
{
ClearAll();
topLista.EnterAndShow(KokonaisPisteet(pisteetMaasta));
topLista.HighScoreWindow.Closed += Valikko;
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<PublishReadyToRun>false</PublishReadyToRun>
<TieredCompilation>false</TieredCompilation>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Jypeli.NET" Version="11.*" />
<PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*" />
</ItemGroup>
<ItemGroup>
<None Update="Content\maali.wav">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\norsu.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\tahti.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\kentta1.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
# Pohja Ohjelmointi 1 -kurssin harjoitustöiden Git-varastoille.
Tämä on pohja Ohjelmointi 1 -kurssin harjoitustöiden Git-varastoille.
Opiskelija *forkkaa* tämän repon omaa harjoitustyötään varten.
`fork`-toiminto löytyy sivun yläreunasta.
Muokkaa <https://gitlab.jyu.fi>-palvelussa oman projektisi asetuksia kohdassa Settings.
Vaihda *ainakin* näkyvyysasetus kohtaan public, jotta ohjaaja pääsee tarkastelemaan työtäsi.
Sekä suunnitelman että pelin muokkaamisen tulee tapahtua Git-työkaluja käyttäen.
Tiedostojen lisääminen tai muokkaaminen GitLab-palvelun kautta (selaimessa) **on
ehdottomasti kielletty**.
Lue Git-versiohallinnan tarkemmat käyttöohjeet TIMistä: <https://tim.jyu.fi/view/kurssit/tie/ohj1/harjoitustyo/git>
File added
# Harjoitustyön suunnitelma ja kuvat
Laita tähän kansioon harjoitustyön suunnitelma sekä suunnitelman kuvat.
## Suunnitelma
Kirjoita suunnitelma tiedostoon [suunnitelma.md](suunnitelma.md). Noudata Markdown-syntaksia. Tiedostossa on valmiina esimerkkejä, joilla pääset alkuun.
## Kuva / kuvat
Kansiossa on yksi esimerkkikuva ([esimerkkikuva.png](esimerkkikuva.png)). Voit poistaa tuon tiedoston kun olet lisännyt kansioon kuvasi.
suunnitelma/bounce.png

118 KiB