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 (7)
Showing
with 267 additions and 49 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
############################################################################
############################################################################
############################################################################
############################################################################
####### ##############################################################
####### ####### #### #########################################
*
# * *
N # XX * # * #
############################################################################
\ No newline at end of file
Harjoitustyo/Pomppupeli/Content/pallo.png

52.7 KiB

Harjoitustyo/Pomppupeli/Content/piikki.png

23.8 KiB

Harjoitustyo/Pomppupeli/Content/rengas.png

43.9 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;
public class Pomppupeli : PhysicsGame
{
private const double nopeus = 200;
private const double hyppynopeus = 500;
private const int ruudunKoko = 40;
private PlatformCharacter pelaaja1;
private Image palloKuva = LoadImage("pallo.png");
private Image rengasKuva = LoadImage("rengas.png");
private Image piikkiKuva = LoadImage("piikki.png");
private IntMeter pisteLaskuri;
public override void Begin()
{
Gravity = new Vector(0, -1000);
LuoKentta();
LisaaNappaimet();
LuoPistelaskuri();
Camera.Follow(pelaaja1);
Camera.ZoomFactor = 2.0;
Camera.StayInLevel = true;
}
private void LuoKentta()
{
TileMap kentta = TileMap.FromLevelAsset("kentta1.txt");
kentta.SetTileMethod('#', LisaaTaso);
kentta.SetTileMethod('*', LisaaRengas);
kentta.SetTileMethod('N', LisaaPelaaja);
kentta.SetTileMethod('X', LisaaPiikki);
kentta.Execute(ruudunKoko, ruudunKoko);
Level.CreateBorders();
Level.Background.CreateGradient(Color.White, Color.SkyBlue);
}
private void LisaaTaso(Vector paikka, double leveys, double korkeus)
{
PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
taso.Position = paikka;
taso.Color = Color.DarkRed;
Add(taso);
}
private 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);
}
private 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);
}
private void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
{
pelaaja1 = new PlatformCharacter(leveys, korkeus);
pelaaja1.Position = paikka;
pelaaja1.Mass = 4.0;
pelaaja1.Image = palloKuva;
AddCollisionHandler(pelaaja1, "rengas", TormaaRenkaaseen);
AddCollisionHandler(pelaaja1, "piikki", TormaaPiikkiin);
Add(pelaaja1);
}
private 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", pelaaja1, -nopeus);
Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppynopeus);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
}
private void Liikuta(PlatformCharacter hahmo, double nopeus)
{
hahmo.Walk(nopeus);
}
private void Hyppaa(PlatformCharacter hahmo, double nopeus)
{
hahmo.Jump(nopeus);
}
private void TormaaRenkaaseen(PhysicsObject hahmo, PhysicsObject rengas)
{
MessageDisplay.Add("Keräsit renkaan!");
pisteLaskuri.Value += 1;
rengas.Destroy();
}
private void TormaaPiikkiin(PhysicsObject hahmo, PhysicsObject piikki)
{
MessageDisplay.Add("Pallo puhkesi, voi ei!");
pisteLaskuri.Reset();
hahmo.Destroy();
ConfirmExit();
}
private void LuoPistelaskuri()
{
pisteLaskuri = new IntMeter(0);
Label pisteNaytto = new Label();
pisteNaytto.X = Screen.Right - 100;
pisteNaytto.Y = Screen.Top - 100;
pisteNaytto.TextColor = Color.Black;
pisteNaytto.Color = Color.White;
pisteNaytto.Title = "Pisteet: ";
pisteLaskuri.MaxValue = 5;
pisteLaskuri.UpperLimit += RenkaatKeratty;
pisteNaytto.BindTo(pisteLaskuri);
Add(pisteNaytto);
}
private void RenkaatKeratty()
{
MessageDisplay.Add("Kaikki renkaat kerätty! Nyt pääset maaliin ja seuraavalle tasolle!");
}
}
<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>
</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

suunnitelma/esimerkkikuva.png

9.92 KiB

# Harjoitustyön suunnitelma
(Täydennä oman pelisi tiedot tähän tiedostoon muokkaamalla
tiedostoa tekstieditorissa. Käytä [Markdown-syntaksia](https://about.gitlab.com/handbook/markdown-guide/).
Poista sitten *kaikki* suluilla merkityt ohjetekstit.)
## Tietoja
Tekijä: (Etunimi Sukunimi)
Tekijä: Oskari Eronen
Työ git-varaston osoite: <https://gitlab.jyu.fi/anlakane/ohj1ht> (*Korvaa* tämä osoite oman git-varastosi osoitteella)
Työ git-varaston osoite: <https://gitlab.jyu.fi/ovverone/ohj1ht>
Pelin nimi: (Nimi)
Pelin nimi: Pomppu
Pelialusta: Windows/macOS/Linux (Valitse alusta)
Pelialusta: MacOS
Pelaajien lukumäärä: 1/2/3/4 (Valitse pelaajien lukumäärä)
Pelaajien lukumäärä: 1
## Pelin tarina
(Pelin tarina.)
Pallomaailmassa on käynnissä kesäolympialaiset. Punaisten pallojen pallolla on viimeinen mahdollisuus voittaa olympiakultaa Pomppu pelissä. Miten käy punaisten pallojen mitalikisassa? Sen päätät sinä.
## Pelin idea ja tavoitteet
(Pelin idea ja tavoitteet.)
Pelin ideana on kerätä punaisella pallolla kultaisia renkaita, joista saa pisteen per rengas. Maa liikkuu oikealle sitä mukaan, kun käyttäjä liikuttaa palloa näppäimistön näppäimillä. Pallolla voi myös hyppiä ja palata takaisin päin.
Pelissä on monta erilaista maata ja jokaisessa maassa alku sekä loppu. Kun pelaaja on kerännyt maasta kaikki kultaiset renkaat, pääsee vasta tällöin pallolla maaliin. Maali näkyy vasta kun kaikki maan renkaat on kerätty.
Jokaisessa maassa on myös esteitä, joihin pallolla osuessa häviää pelin. Hävittäessä pelaajalle näytetään kokonaispisteet ja pisteet per maa.
## Hahmotelma pelistä
(Kun olet lisännyt suunnitelmakuvan tähän hakemistoon, linkitä se tähän alle. Alla on esimerkkikuvan linkitys.)
![Esimerkkikuva](esimerkkikuva.png "Esimerkkikuva")
![Pomppupeli](bounce.png "Esimerkkikuva harjoitustyön pelistä")
## Toteutuksen suunnitelma
Helmikuu
- (Tavoite 1)
- (Tavoite 2)
- (Tavoite 3)
- Tee pallo ja laita pallo liikkumaan
- Tee kultaiset renkaat ja esteet
- Tee uusien maailmojen luonti
Maaliskuu
- (Tavoite 1)
- (Tavoite 2)
- (Tavoite 3)
- Pistelaskuri
- Valikko pelin aloitukselle
- Game over valikko, jossa lopulliset pisteet
Jos aikaa jää
- (Tavoite 1)
- (Tavoite 2)
- (Tavoite 3)
- Este joka suurentaa/pienentää pallon
- Paremmat valikot ja parempi maan vaihto
- Hienosäätöä