Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Päivät *QB*

Sivun loppuun

GreenIsle [06.12.2002 19:43:09]

#

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...

anomizer [06.12.2002 20:15:07]

#

joo mäki haluaisin tietoo ton tyylisestä jutusta.

HtH [06.12.2002 20:23:32]

#

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.

Antti Laaksonen [06.12.2002 21:24:58]

#

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%

GreenIsle [06.12.2002 21:47:49]

#

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ä?

GreenIsle [07.12.2002 17:23:50]

#

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ä

KimmoKM [07.12.2002 17:39:13]

#

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)

progo [07.12.2002 17:46:38]

#

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)

KimmoKM [07.12.2002 17:55:11]

#

QBlläkin voi muuten näyttää joitain videoita, Maxcodessa taisin nähdä AVI-näyttäjän. Taitaa tosin olla TOSI hidas.

progo [07.12.2002 18:21:50]

#

Niin, mutta ehkäpä tällaisessa tapauksessa päästään helpommalla, jonkun koodaamalla C-pohjaisella näyttäjällä ;)

GreenIsle [08.12.2002 11:04:30]

#

No onko tietoa että mistä sellainen sitten löytyisi?

KimmoKM [08.12.2002 11:16:25]

#

Etsi GOOGLElla hakusanoila AVI+DOS+Viewer. Löytyy monta videontoisto-ohjelmaa dossille.

thefox [08.12.2002 11:37:08]

#

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.

GreenIsle [08.12.2002 13:12:12]

#

Mutta toi QB-FLI ei siis näytä mitään video-tiedostoja, vaan jotain kuva tiedostoja?

KimmoKM [08.12.2002 13:21:33]

#

FLI on ainakin videotiedostomuoto. Kaiketi se silloin näyttää ne videot, eikä kuvia.

GreenIsle [08.12.2002 13:22:10]

#

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 ;)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta