Tein nyt ensimmäisen pienen tekstiseikkailu pelini QBasicilla ja nyt pitäs saaha se .exe muotoon. Mitenkä se onnistuu?
Sitten ois vielä yks kysymys alla olevan koodin kaltaisesta koodinpätkästä: Kun ohjelma kirjoittaa ruudulle "morjens!" ja painan sitten entteriä, ohjelma tulkitsee sen siten, että olen jo antanut a:n arvon. Miten tämä tauko ennen CLS:ää pitäs sitten tehä?
Vastatkaa te viisaammat jos nyt jotain selkoa tosta mun kysymyksestä saitte...
PRINT "Morjens!"
SLEEP
CLS
INPUT aExeksi sen saa run-valikon alta Make exe file. Ei onnistu ainakaa ykkösversiossa. Ja korvaa tuo sleep vaikka koodilla "a$ = inkey$" (muistaakseni)
Binääriksi (".exe") muuttamiseen tarvitset QBasic Extendedin, joka on maksullinen ohjelma, mutta vaikka se on vanha (eikä se ole abadonwarea) joudut joko warettamaan sen, tai tyytymään sorsan jakeluun.
Ensinnäkin, .exe-muotoon ohjelmasi saat käyttämällä QBasic 4.5 tai 7.1 kääntäjiä, nimittäin niillä ainakin voi kääntää koodin .exeen.
Toiseksi, Jos oikein ymmärsin, haluat muuttujalle a arvon, ja se kuuluisi näin (tai sitten kuten sooda sanoi):
PRINT "Morjens!" INPUT "Syötä a:lle arvo: ", a
:) ja onnittelut tekstipelistäsi.
juzzi kirjoitti:
Tein nyt ensimmäisen pienen tekstiseikkailu pelini QBasicilla ja nyt pitäs saaha se .exe muotoon. Mitenkä se onnistuu?
Kääntäjän versio olisi hyvä kertoa. Uusimmista kääntäminen löytyy kohdasta Run -> Make exe file
juzzi kirjoitti:
Sitten ois vielä yks kysymys alla olevan koodin kaltaisesta koodinpätkästä: Kun ohjelma kirjoittaa ruudulle "morjens!" ja painan sitten entteriä, ohjelma tulkitsee sen siten, että olen jo antanut a:n arvon. Miten tämä tauko ennen CLS:ää pitäs sitten tehä?
Vastatkaa te viisaammat jos nyt jotain selkoa tosta mun kysymyksestä saitte...
Tietääkseni QB:ssa ei voi toteuttaa tuota pelkällä sleepillä vaan siinä pitää olla jotain muuta. Koska en ole QB:llä tehnyt vähään aikaan mitään, voin tarjota vain purkkaa:
PRINT "Morjens!" DO nappi$ = INKEY$ IF nappi$ = CHR$(13) THEN EXIT DO LOOP CLS INPUT a
EDIT: Hidas. :(
EDIT2: Ja onnea siitä, että et yrittänyt haukata liian isoa palaa heti.
TGunner kirjoitti:
PRINT "Morjens!" INPUT "Syötä a:lle arvo: ", a
Mulla oli tarkotuksena nimenomaan se että saan tyhjennettyä näytön ennen a:n syöttämistä. Eli tarkotuksena oli että kun painan entteriä niin "morjens" häviää ruudusta ja sitten se kysyy a:n arvoa.
Tuo Latskan ohje toimi,kiitos siitä.
Mulla on QBASIC 1.1 ja siinä ei näköjään olekaan tuota "make exe file"-kohtaa.
QB:ssä voi muutes tehdä muistaakseni myös a$ = input$(1) joka odottaa näppäimenpainallusta. SLEEP on tyhmä, se kyllä odottaa, mutta ei ota sitä pois näppispuskurista, jolloin se vähän aiheuttaa ongelmia.
tejeez kirjoitti:
QB:ssä voi muutes tehdä muistaakseni myös a$ = input$(1) joka odottaa näppäimenpainallusta.
Tuo oli se, mitä hain. Ei sitä olisi noin purkalla tavalla tarvinnutkaan tehdä.
Aiheen aloittajalle: QB:n uusimmissa versioissa on mukana tuo käännösominaisuus. Kannattaa kokeilla Googlea, vaikka M$ ei ikinä ole niitä vapaaseen levitykseen antanutkaan. Ja suosittelen myös kokeilemaan myös Linux-alustalla toimivaa FreeBasicia.
nyt löysin tuon QBASIC 4.5 ,mutta kun otan sieltä sen make exe file niin sanoo että input file not found?
Varmaankin avasit koodisi sillä ensin?
Metabolix kirjoitti:
Varmaankin avasit koodisi sillä ensin?
avasin
juzzi kirjoitti:
nyt löysin tuon QBASIC 4.5 ,mutta kun otan sieltä sen make exe file niin sanoo että input file not found?
Varmaan sinulla on myös kaikki tarvittavat tiedostot? Katsos, 4.5 sattuu sisältämään muutakin kuin pelkän exe:n ja ohjetiedoston. Lisäksi kannattaa tarkistaa pif-tiedoston asetukset, kuin myös itse Qbasicin asetukset, että onko hakemistot ja muut oikein..
-Grey-
Grey kirjoitti:
Varmaan sinulla on myös kaikki tarvittavat tiedostot? Katsos, 4.5 sattuu sisältämään muutakin kuin pelkän exe:n ja ohjetiedoston. Lisäksi kannattaa tarkistaa pif-tiedoston asetukset, kuin myös itse Qbasicin asetukset, että onko hakemistot ja muut oikein..
On tuossa paljon muitakin tiedostoja kuin exe ja ohjetiedosto, että eiköhän tuossa ole kaikki. Tuosta asetuksien tarkistamisesta voisit kyllä kertoo vähän tarkemmin.
siellä qb.exe:ssä on jossaki valikossa joku "Set directories"-kohta tai vastaava. Sieltä voit vaihtaa oikeat polut. Jos QB on esimerkiks hakemistossa C:\QBASIC\, lisäät tuon kaikkien kenttien alkuun.
ja vielä jottet alkais käyttään tota Latskan ehottamaa tapaa ni koostetaas vielä yhteen:
PRINT "Morjens!" e$=INPUT$(1) #odottaa yhden painalluksen CLS INPUT a
Aihe on jo aika vanha, joten et voi enää vastata siihen.