diff --git a/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.hi b/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.hi index 197ae3dabbb59b9a3c59177c3d4cf5e8dd062fd3..ba767d52be1584b654319f592578f2a495dbf83c 100644 Binary files a/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.hi and b/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.hi differ diff --git a/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.o b/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.o index 9ba87d567a5097be0d40d1aa6b51bf78abb2f915..15a2497ec91a737abb8d944aaeeb08f6b51045dd 100644 Binary files a/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.o and b/.stack-work/dist/29cc6475/build/choplifter/choplifter-tmp/Main.o differ diff --git a/.stack-work/dist/29cc6475/build/choplifter/choplifter.exe b/.stack-work/dist/29cc6475/build/choplifter/choplifter.exe index 037d28a8d62e00bb2c1fad22554df30086a656f8..5e10001d45c3e1532ac1521c31ecaac150bb1a79 100644 Binary files a/.stack-work/dist/29cc6475/build/choplifter/choplifter.exe and b/.stack-work/dist/29cc6475/build/choplifter/choplifter.exe differ diff --git a/.stack-work/dist/29cc6475/setup-config b/.stack-work/dist/29cc6475/setup-config index 7b5e0267bb1516736e60b662f171a09d8ebc4f36..36e9c65bd12080c3a8164919c377f025d433aea7 100644 Binary files a/.stack-work/dist/29cc6475/setup-config and b/.stack-work/dist/29cc6475/setup-config differ diff --git a/.stack-work/dist/29cc6475/stack-build-caches/6eb920625479cbea8700e1720c6b6df9985d350a35c1107cb4b076b0c0ef5da3/exe-choplifter b/.stack-work/dist/29cc6475/stack-build-caches/6eb920625479cbea8700e1720c6b6df9985d350a35c1107cb4b076b0c0ef5da3/exe-choplifter index 87755207ba411ca149b66ad73d37fed7f9a57e25..58310e3022b621003c2a7ae5837124b8013e9f78 100644 --- a/.stack-work/dist/29cc6475/stack-build-caches/6eb920625479cbea8700e1720c6b6df9985d350a35c1107cb4b076b0c0ef5da3/exe-choplifter +++ b/.stack-work/dist/29cc6475/stack-build-caches/6eb920625479cbea8700e1720c6b6df9985d350a35c1107cb4b076b0c0ef5da3/exe-choplifter @@ -7,6 +7,6 @@ C:\Users\Juuso\source\choplifter\choplifter.cabal: size: 1271 modtime: 1603193097 C:\Users\Juuso\source\choplifter\src\Main.hs: - hash: 1604ed417bb6302978e214aa47adcf79893d05782cfb2f38193e02c524e2a4c2 - size: 5416 - modtime: 1603360881 + hash: dd18ac9cb011130767f723d7dd63d4b04e78531536aa313ef37fdb7ee5a104ca + size: 5578 + modtime: 1603366930 diff --git a/.stack-work/install/fe9ce87a/bin/choplifter.exe b/.stack-work/install/fe9ce87a/bin/choplifter.exe index 751c3c0a99cf1c14ae1b9fbb06308b54f0256b20..5715f0f2644643b1dbb1fc3e9900a0e1c4ffa2e7 100644 Binary files a/.stack-work/install/fe9ce87a/bin/choplifter.exe and b/.stack-work/install/fe9ce87a/bin/choplifter.exe differ diff --git a/.stack-work/stack.sqlite3 b/.stack-work/stack.sqlite3 index d757f3f28befabe8b791861c54ff0e9ab1178e85..51208ad18304fd6ff182b987d73e66d543d7df94 100644 Binary files a/.stack-work/stack.sqlite3 and b/.stack-work/stack.sqlite3 differ diff --git a/src/Main.hs b/src/Main.hs index 1f6bd77cd20e30c5e4c675935ed36c31d67ff3e3..a245a2ae34abfc131e448c2dbf8d052f87e773e2 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -21,16 +21,16 @@ main = play reagoi :: Event -> Choplifter -> Choplifter -- Event -> world -> world reagoi tapahtuma peli = case tapahtuma of -- event voi olla hiirenliikkauksia, näppäimenpainalluksia jne - EventKey (Char 'p') Down _ _ -> muutaTehoa 7 peli -- char, special key tai mouse button, kaksi koordinaattia luultavasti hiiren - EventKey (Char 'ö') Down _ _ -> muutaTehoa (-7) peli - EventKey (Char 'l') Down _ _ -> liikutaVaakasuunnassa (-2) (kallista (-8) peli) + EventKey (Char 'p') Down _ _ -> muutaTehoa 8 peli -- char, special key tai mouse button, kaksi koordinaattia luultavasti hiiren + EventKey (Char 'ö') Down _ _ -> muutaTehoa (-8) peli + EventKey (Char 'l') Down _ _ -> liikutaVaakasuunnassa (-2) (kallista (-12) peli) -- let -- kallistettuAlus :: Choplifter -> Choplifter -- kallistettuAlus = kallista (-8) -- liikutettuAlus :: Choplifter -> Choplifter -- liikutettuAlus = liikutaVaakasuunnassa (-30) -- in liikutettuAlus (kallistettuAlus peli) - EventKey (Char 'ä') Down _ _ -> liikutaVaakasuunnassa 2 (kallista 8 peli) + EventKey (Char 'ä') Down _ _ -> liikutaVaakasuunnassa 2 (kallista 12 peli) _ -> peli -- jos painallus joku muu ei tehdä mitään -- funktio joka muuttaa Pelin kuvaksi @@ -44,7 +44,7 @@ päivitäPeliä aikaEdellisestä edellinenTila in Peli (aika + aikaEdellisestä) (kopteriX+aikaEdellisestä*21*vX + nX*aikaEdellisestä*21, - max 0 (kopteriY+aikaEdellisestä*21*vY - 3)) -- köyhän miehen painovoima tuo miinus + max 0 (kopteriY+aikaEdellisestä*21*vY - 10)) -- köyhän miehen painovoima tuo miinus teho (nX, nY) kulma @@ -57,9 +57,9 @@ kulmaJaTehoNopeudeksi teho kulma -- Tässä gloss menee opettajasta metsään, piirräPeli :: Choplifter -> Picture piirräPeli peli = case peli of Peli aika (kopteriX, kopteriY) - _teho (_nopeusX, _nopeusY) kulma -- suunta + teho (_nopeusX, _nopeusY) kulma -- suunta -> let - kopterikuva = rotate kulma (scale 0.4 0.4 (kopteri 20 aika)) + kopterikuva = rotate kulma (scale 0.4 0.4 (kopteri (max teho 1) aika)) peliKuva = translate kopteriX kopteriY kopterikuva <> maa in scale 0.25 0.25 (translate 0 (-180) peliKuva) @@ -94,12 +94,14 @@ kopteri :: Float -> Float -> Picture kopteri teho aika = translate 0 150 (color white runko) where runko = arcSolid 0 0 100 --circleSolid 100 + <> color (greyN 0.1) takaroottori <> translate (-200) 0 (rectangleSolid 300 30) -- mikäs tämä <> olikaan.. <> translate (-350) 0 (rectangleSolid 50 100) - <> lapa -- pallo on puoliryhmien yhdistämisoperaatio... eli vähän kuin + joka toimii kuville... ja teksteille (kans puoliryhmiä) ja listoille... + <> color (greyN 0.1) lapa -- pallo on puoliryhmien yhdistämisoperaatio... eli vähän kuin + joka toimii kuville... ja teksteille (kans puoliryhmiä) ja listoille... <> translate 0 90 (rectangleSolid 10 120) <> translate (-50) (-90) (rectangleSolid 10 120) <> translate (50) (-90) (rectangleSolid 10 120) <> translate 0 (-150) (rectangleSolid 200 15) - lapa = translate 0 150 (rectangleSolid (350 * sin (aika * teho)) 10) -- sini funktiohan on kätevästi tasaisen vaihteleva x:n (vaikkapa sitten ajan) suhteen! \ No newline at end of file + lapa = translate 0 150 (rectangleSolid (400 * sin (aika * teho)) 15) -- sini funktiohan on kätevästi tasaisen vaihteleva x:n (vaikkapa sitten ajan) suhteen! + takaroottori = translate (-350) 0 (rotate (aika*teho*70) (rectangleSolid 165 10)) \ No newline at end of file