Hex | Color |
---|---|
#FFA69E | |
#FAF3DD | |
#B8F2E6 | |
#AED9E0 |
https://dev.mysql.com/doc/connector-python/en/
https://pypi.org/project/tabulate/
https://pypi.org/project/geopy/
https://flask.palletsprojects.com/en/2.2.x/
https://www.json.org/json-en.html
https://pypi.org/project/responses/
https://flask.palletsprojects.com/en/2.2.x/
https://pypi.org/project/requests/
Tässä dokumentissa käsitellään suunnittelemamme lentopelin yleis-ideaa, toiminnallisia- ja laadullisia vaatimuksia. Dokumentti sisältää pe-lin vision, läpäisykuvauksen, poikkeavat suorituspolut ja toiminnalliset- sekä laadulliset vaatimukset. Määrittelydokumentti on suunnattu oh-jaamaan ryhmäämme toteutuksen aikana sekä helpottamaan pelin ymmärrystä.
Pelin tavoite on matkustaa eri lentokenttien välillä ja saavuttaa kah-deksan eri säätilaa aiheuttaen mahdollisimman vähän CO2-päästöjä. Peli määrittää pelaajalle CO2-päästöjen ylärajan. Lentokenttien välillä matkustetaan syöttämällä lentokenttien ICAO-koodeja. Pelaajan saa-puessa kohteeseen pelaajan on mahdollista saavuttaa uusi säätila ja mikäli säätila on jo saavutettu aikaisemmin pelaaja ei kerää kyseistä säätilaa uudelleen vaan joutuu siirtymään seuraavaan kohteeseen. Jokaisella lennolla pelaajan CO2-kapasiteetti pienenee riippuen mat-kan pituudesta sekä lentokoneen mallista, joka määräytyy matkan pi-tuuden mukaan. Jos CO2-päästöt ylittyvät peli loppuu (game over), joka tarkoittaa, että peli on hävitty ja pelaaja joutuu aloittamaan alusta. Pelaajalla on kuitenkin mahdollisuus ostaa lisää CO2-kapasiteettia ansaitsemallaan rahalla, jonka avulla hän pystyy mahdollisesti lentä-mään lisää. Pelaajan rahan määrä kasvaa aina 50 dollarilla uuden säätilan keräämisen myötä. 50 dollarin pelaaja voi vaihtaa 25 kilo-grammaan CO2-kapasiteettia. Kun pelaaja tavoittaa säätilat ylittämättä CO2-kapasiteettia, läpäisee hän pelin. Lopussa käyttämätön raha muutetaan CO2-kapasiteetiksi ja miinustetaan aiheutetuista päästöis-tä, jolloin sijoituslistan järjestys saattaa vielä muuttua. Tämän jälkeen ohjelma tulostaa pelaajalle hänen saavutuksensa pelin sijoituslistaan muita pelaajia vastaan. Sijoituslista järjestää pelaajat hiilidioksidipääs-töjen mukaan: ensimmäinen sijoitus pienin CO2 kulutus + kahdeksan säätilaa.
Käyttäjä aloittaa pelin, jolloin käyttäjälle annetaan kaksi vaihtoehtoa. Käyttäjä joko luo uuden käyttäjän keksimällään käyttäjätunnuksella tai jatkaa pelaamista jo aikaisemmin luodulla käyttäjällä. Pelaaja siis joko kirjautuu sisään tai luo uuden käyttäjän. Pelaaja valitsee uuden käyttäjän, jolloin ohjelma kysyy pelaajalta käyt-täjänimen ja käyttäjänimi tallentuu tietokantaan. Pelaaja määrittää pe-lille sen aloitussijainnin (airport.scheduled_service), ja ohjelma näyttää pelin ohjeet sekä säännöt. Kaikki peliin liittyvä tieto ja info on pelaajan saatavilla sivupalkista läpi pelin. Jos pelaaja valitsee vanhan käyttäjän ja kirjautuu sisälle, hänelle tulostetaan tietokannan avulla jo saavutetut säätilat ja jäljellä olevan CO2-päästökiintiö. Tämän jälkeen ohjelma antaa pelaajalle kolme vaihtoehtoa. 1. Ohjeet 2. Jatka viimeisintä suo-rituskertaa 3. Aloita alusta. Kun pelaaja on valinnut käyttäjätyypin hän voi aloittaa säätilojen ke-ruun pelille asettamastaan aloitussijainnista. Kohteisiin matkustetaan syöttämällä peliin halutun lentoaseman ICAO-koodi. Kunkin kohtee-seen siirtymisen jälkeen ohjelma kertoo pelaajalle jäljellä olevan hiilidi-oksidimäärän pelin hiilidioksidipäästökapasiteetista. Pelaajalla on aina mahdollisuus tallentaa ja lopettaa peli pelisuorituksen aikana. Jos pe-laaja kerää uuden säätilan hänelle tallentuu +50$ joka vastaa -25kg CO2. Jos pelaajan hiilidioksidikiintiö on loppumassa, voi hän muuntaa lompakossa ansaitsemansa rahansa CO2-kiintiöksi. Jos pelaaja ylit-tää asetetun CO2-rajan peli loppuu (game over). Lopussa peli näyttää pelaajalle saavutetut säätilat. Jos pelaaja saavuttaa kaikki kahdeksan säätilaa ylittämättä asetettua CO2-rajaa hän voittaa pelin.
Pelaaja saa tiedon kuluttamastaan CO2-päästöistä sekä jäljellä ole-vasta CO2 määrästä. Pelaajan on saatava välitön palaute jokaisesta tekemästään toimenpiteestä. Peli toimii virheettömästi ja pelaaja ei pysty antamaan virheellistä syöttöä niin, että peli lakkaisi toimimasta vaan mahdolliset virhesyötöt ovat otettu huomioon. Pelaaja näkee se-laimessa graafisen satelliittikartan. Ulkoasu selaimessa on ymmärret-tävä ja siisti. Pelin toinen API tuo realistista dataa säätilasta pelaajan syöttämästä kohteesta. Kestävä kehitys on huomioitu sekä pelin sisäl-lössä, että koodissa. Käyttäjiä kehotetaan liikkumaan mahdollisimman vähillä hiilidioksidipäästöillä sekä ohjelmointiryhmä ymmärtää, ettei pe-lin taustapalvelukieli (Python, energy 75.88 (huom. JavaScript 4.45)) ole niin vihreää koodia kuin olisi mahdollista.