Olen tekemässä semmoista peliä, missä jokainen päätös vie aikaa, joka on mitattu tunneissa (esim. kahvitauko 1h.). Miten ohjelman saisi vaihtamaan päivää kun 24h rikkoutuu?
Esim:
Päivä: Maanantai Kello: 23.00
-------------------------------
Bileet :) aikaa kuluu 3h
sitten:
Päivä: Tiistai Kello: 02.00
Eli noin suunnilleen...
joo mäki haluaisin tietoo ton tyylisestä jutusta.
hm.. ei välttämättä paras tapa, mutta:
viikonpaiva = 1 tunnit = 23 aikaakuluu = 3 PRINT "Nyt on ";viikonpaiva;". viikonpäivä. Kello on ";tunnit;":00. Aikaa kuluu tehtävään ";aikaakuluu;" tuntia." for f = 1 to aikaakuluu tunnit = tunnit + 1 if tunnit = 24 then tunnit = 0: viikonpaiva = viikonpaiva + 1 if viikonpaiva = 8 then viikonpaiva = 1 next f print "Tehtävän jälkeen on ";viikonpaiva;". viikonpäivä. Kello on nyt ";tunnit;"."
En ole täysin varma koodin toiminnasta, mutta tuolla periaatteella minä sen tekisin. Toki on muita, ehkä parempiakin vaihtoehtoja.
Tässä samalla idealla kuin HtH:n mutta vähän tehokkaampi, varsinkin jos lisättävä tuntimäärä on suuri.
paiva% = 1 'aloitusviikonpäivä (1=maanantai...7=sunnuntai) aika% = 23 'aloitustunti (0-23) lisa% = 3 'lisättävä tuntimäärä paiva% = paiva% + lisa% \ 24 lisa% = lisa% - (lisa% \ 24) * 24 aika% = aika% + lisa% paiva% = paiva% + aika% \ 24 aika% = aika% - (aika% \ 24) * 24 paiva% = paiva% MOD 7 PRINT "Päivä: "; paiva%, "Kello:"; aika%
Entä miten pystyisi näyttämään jonkun demon, esim. jos pelaaja salamurhataan, niin tulisi joku vieonpätkä, missä luoti lävistää pelaajan? Tämä ei varmaan onnistu QBaisiclla, mutta entä VB:llä?
Tulikin mieleeni että saako QB:llä avattua jonkun tiedoston? tähän tyyliin:
QB-ohjelma -> suoritetaan loppuun -> ohjelma avaa esim. jonkun Flashillä tehdyn loppu videon (tarvitaan siis Flash Player) ja sulkee itsensä
Jos oikein ymmärsin sen voi tehdä näin:
INPUT "Mikä tiedosto näytetään DOSin MORE-ohjelmalla";Tiedosto$ SHELL "more "+Tiedosto$ 'Käytetään hyväksi DOSin more-ohjelmaa, voihan käyttää muitakin ohjelmia
Tuon MORE-ohjelman voi korvata ohjelmalla jota käyttää, tosin sen pitää olla PATHissa (tai komennossa annetaan ohjelman polku)
Siis tuota.. tyyliin SMAC, jossa ihmevideot näytetään yhden toisen ohjelman kautta käynnistämällä sellainen? Ehkäpä helpointa QB:lle olisi hankkia joku hyvä DOS-pohjainen videonnäyttäjä, joka näyttää *vain* videon.. sitä on sitten helppo käytellä ja muuta.. (suoraan tuolla SHELL-komennolla)
QBlläkin voi muuten näyttää joitain videoita, Maxcodessa taisin nähdä AVI-näyttäjän. Taitaa tosin olla TOSI hidas.
Niin, mutta ehkäpä tällaisessa tapauksessa päästään helpommalla, jonkun koodaamalla C-pohjaisella näyttäjällä ;)
No onko tietoa että mistä sellainen sitten löytyisi?
Etsi GOOGLElla hakusanoila AVI+DOS+Viewer. Löytyy monta videontoisto-ohjelmaa dossille.
Jooh ja onhan tuolla koodivinkeissä tuo QB-FLI-pleijerikin. Se on tosin melkoisen hidas joten nopeaa konetta vaaditaan. Tai rankaa optimisointia. FLI-filuja voi väännellä vaikka Animation Shop Prolla.
Mutta toi QB-FLI ei siis näytä mitään video-tiedostoja, vaan jotain kuva tiedostoja?
FLI on ainakin videotiedostomuoto. Kaiketi se silloin näyttää ne videot, eikä kuvia.
Joo, löysin Googlella! Otin vaan heti ekan linkin mikä eteen tuli, ja kaks ohjelmaa löyty. Tosin kummatkin oli jotain sharewaree, joka ei nyt tässä tapauksessa oikein käy, mutta toimivia olivat kummatkin. Mitä nyt toinen sekosi väreissä, ja näytti että ollaan taas hippien aikakaudella ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.