Általános Off Topic
| |
Dookie | Dátum: Kedd, 2009-12-01, 6:05 AM | Üzenet # 1 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Basszus tetszik ez a szolgáltató ! idáig ez adott legtöbb lehetőséget az oldalam fejlesztésére Fórum blog minden !!!!
|
|
| |
Dookie | Dátum: Kedd, 2009-12-01, 6:06 AM | Üzenet # 2 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Most kiváncsi vagyok hogy néz ki két post egymás alatt
|
|
| |
Dookie | Dátum: Hétfő, 2010-01-04, 11:52 AM | Üzenet # 3 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Nah régen írtam ide !! Az a helyzet hogy most sok problémám akadt az életben ezért még ennél is lassabban megy majd a fejlesztés...Sry
|
|
| |
Dookie | Dátum: Szombat, 2011-01-15, 4:11 PM | Üzenet # 4 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Kevés a látogatottság ! valamit gyorsan ki kellene találnom.
|
|
| |
Dookie | Dátum: Péntek, 2012-01-27, 3:21 PM | Üzenet # 5 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| http://www.youtube.com/watch?v=qudVWnibLPg
Jó kis SRV muzsika
|
|
| |
itamas | Dátum: Csütörtök, 2015-07-30, 9:09 PM | Üzenet # 6 |
Közlegény
Csoport: Felhasználók
Üzenetek: 5
Állapot: Offline
| Szia Dookie!
Most találtam meg a honlapodat és nagyon tetszik - főleg mert úgy látom, hogy FreeBasic-kel is foglalkozol. Jómagam még csak kis ideje találkoztam ezzel a fejlesztőkörnyezettel, mert eddig főleg Game Maker-rel programoztam és egy nagyon kicsit BlitzBasic3D-ben. De most szeretnék "lehorgonyozni" a FreeBasic-nél, mert tetszik, hogy ingyenes, viszonylag érthető a nyelve, rugalmas, több platformra lehet vele fejleszteni, és még biztosan sok más olyan jó tulajdonsága van, amiről nem tudok, de érdemes miatta vele foglalkoznom. Szóval el is kezdtem magyarra fordítani egy kezdő FreeBasic-eseknek való PDF-formátumú könyvecskét, illetve magát a FreeBasic súgóját. Jóllehet még nem fejeztem be őket, de a "belső tűz" már hajt, hogy valamit készítsek is eme eszközzel, mondjuk egy űrhajós-lövöldözős játékot. Ebben úgy tűnik egy valami akadályoz meg: nem tudom, hogy egy típus (Type) alapján hogyan kell létrehozni új objektumot a játék menete során. Mondjuk egy lövedéket az űrhajó fegyveréből. Böngészgettem a világhálóról letölthető példajátékokat, de eddig még nem sikerült nyomát lelnem ennek a dolognak. Szóval nagyon sokat segítenél nekem azzal, ha ezt leírnád nekem, hogy van-e erre külön utasítás, mi az, hogyan alkalmazható? Kirajzolni és mozgatni már tudok dolgokat, de ez az objektumlétrehozás eddig kifogott rajtam. Viszont ha tudnám, én is készítenék egyszerű, de - remélhetőleg - nagyszerű játékprogramokat a FreeBasic-kel, és ezeket cserébe szívesen elküldeném neked, hogy tett letölthetővé a honlapodról (a fordításaimat majd úgyszintén, hátha segíthetek, segíthetünk vele a FreeBasic hazai népszerűsítésében, és talán egy jó kis közösség létrehozásában). Várom tehát mielőbbi okosító válaszodat, üdvözlettel: ITomi
U.I.: elnézést, ha netán rossz fórumtémába írtam ezt a hozzászólásomat, de nem mertem újat nyitni; hátha itt, a csevegőben is jó lesz.
|
|
| |
Dookie | Dátum: Péntek, 2015-07-31, 10:38 AM | Üzenet # 7 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Hello Tomi ! Hát hol is kezdjem... Az a nagy helyzet hogy a Freebasic-es korszakom már nagyon nagyon régen lezárult.Ez egy olyan időszak volt amikor kétségbeesetten kerestem a kiutat (mint akkor sokan mások) a Dark Basic pro -nak nevezett undormányból.Rengeteg basic nyelvet kipróbáltam akkor (Purebasic , GL Basic Blitzbasic , Visual basic , Real basic) Ezek közül a Freebasic volt ami legjobban megtetszett így ezzel kezdtem foglalkozni de sajnos elég gyorsan a felszínre törtek a korlátai (főleg sok felesleges gépelés).Szerencsére azóta sikerült magas szinten megtanulnom a c++-t így mostmár szinte mindenre ezt használom.
De hogy a kérdésedre is megpróbáljask válaszolni , nem egészen értem mit értesz "objektum" alatt ? Ha a van egy saját tipusod és ebből szeretnél létrehozni egy új példányt akkor azt simán Dim-el hozhatod létre valahogy így :
Type valami a as integer b as single end type
rem ************ letrehozas :
dim ujObjektum as valami
ujObjektum.a = 23 ujObjektum.b = 158.025
rem *********** dinamikus memoria foglalas :
dim ujObjektum as valami= new valami
rem ************* dinamikus memoria felszabaditasa :
delete ujObjektum
Viszont ha objektum alatt azt érted hogy létrehozni egy "3d objektumot" akkor ahoz valamilyen külső 3d grafikus libraryt ajánlok (pl irrlicht) , innen letőltheted :
http://www.frankdodd.screaming.net/Irrlich....tal.htm
|
|
| |
itamas | Dátum: Péntek, 2015-07-31, 11:29 AM | Üzenet # 8 |
Közlegény
Csoport: Felhasználók
Üzenetek: 5
Állapot: Offline
| Szia Dookie! Köszönöm a gyors választ; ki is fogom próbálni mindjárt. Egyelőre még nem ott tartok, hogy 3D-s objektumot hozzak létre, hanem csak pl. egy újabb lövedéket vagy valami elemet a játékban. Még én is "kereső" vagyok a programozási nyelveket illetően: itt hever a gépemen a Code::Blocks meg a DevC++ fejlesztőkörnyezetecske is, tehát én is kóstolgatom a C++-t, de kicsit még ijesztő és idegen számomra, sok az ismeretlen dolog. Nem maga a programozás általában, hanem az adott nyelv sajátosságai azok, amiket még nem sajátítottam el. Lehet, majd ezzel kapcsolatban is kérdezgetni foglak, ha nem haragszol (pl. C++-ban meg lehet oldani az egyszerre több lenyomott billentyű kezelését? Valahogy úgy, mint a FreeBasic-ben a MultiKey-jel?) Persze az ajánlatom most is áll arról, hogy elküldöm neked a saját játékaimat és fordításaimat, s ha úgy érzed, hogy megüti a mércédet és arra érdemes, akkor nyugodtan tedd letölthetővé őket a honlapodról.
|
|
| |
Dookie | Dátum: Péntek, 2015-07-31, 7:37 PM | Üzenet # 9 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Helló , ha van kérdésed , nyugottan írj , és ha tudok segítek. Bár az oldalt mostmár csak arra használom hogy néha kierresszem a gőzt így legfőképpen káromkodós durva hangnemű cikkeket találsz (android szidás meg ilyenek)
|
|
| |
itamas | Dátum: Szombat, 2015-08-01, 10:42 AM | Üzenet # 10 |
Közlegény
Csoport: Felhasználók
Üzenetek: 5
Állapot: Offline
| Kipróbáltam tegnap a javaslatod, és működött!!! Szóval ezer köszönet érte. Hanem amikor törölni is próbálom a lövedéket, akkor valamiért kidob a Windows (7-es egyébként) a progimból és erre nem tudok rájönni, hogy miért van. Biztos valami memóriarendezési dolog lesz benne(?). De itt a teljes kód, hátha te megtalálod, mit rontottam el: Kód #include "fbgfx.bi" Using FB
TYPE jatobjektumok x AS SINGLE y AS SINGLE lohet as ubyte END TYPE
TYPE lovedekek x AS SINGLE y AS SINGLE END TYPE
DIM SHARED jatekos AS jatobjektumok DIM SHARED AS INTEGER jatlovdb=0 dim shared jatlovedeke(jatlovdb) as lovedekek
sub lovedekkirajzolo() for i as integer = 0 to jatlovdb jatlovedeke(i).y=jatlovedeke(i).y-6 if jatlovedeke(i).y>20 then draw string (jatlovedeke(i).x,jatlovedeke(i).y),"I" 'else 'delete jatlovedeke(i) 'jatlovdb=jatlovdb-1 end if next i end sub
SCREEN 18,8,2,0 SETMOUSE 0,0,0 'egérmutató elrejtése
jatekos.x = 150 ' kezdeti kör pozíciók jatekos.y = 200 jatekos.lohet = 1
DO
CLS CIRCLE (jatekos.x, jatekos.y), 10, 15
IF MULTIKEY(SC_RIGHT) THEN jatekos.x = jatekos.x + 5 IF MULTIKEY(SC_LEFT) THEN jatekos.x = jatekos.x - 5 IF MULTIKEY(SC_DOWN) THEN jatekos.y = jatekos.y + 5 IF MULTIKEY(SC_UP) THEN jatekos.y = jatekos.y - 5 if multikey(sc_control) then dim jatlovedeke(jatlovdb) as lovedekek : jatlovedeke(jatlovdb).x=jatekos.x : jatlovedeke(jatlovdb).y=jatekos.y : jatlovdb=jatlovdb+1 : end if SLEEP 10 if jatlovdb>0 then lovedekkirajzolo() LOOP UNTIL MULTIKEY(SC_Q) OR MULTIKEY(SC_ESCAPE) end Egyébként miért szidod az Androidot; nem lehet rá jól fejleszteni? És mi a véleményed: a FreeBasic elég jó ugródeszka lenne a C++ felé?
|
|
| |
Dookie | Dátum: Szombat, 2015-08-01, 11:21 AM | Üzenet # 11 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Hali ! Az a gond a kódodban hogy nem dinamikusan foglalod a tömböd elemeit , viszont megrpóbálod törölni azt
Kód dim shared jatlovedeke(jatlovdb) as lovedekek
ez az úgynevezett stacken foglal helyet ahonnan automatikusan törlődik ha kiér a scope-ból (esetedben a progi bezárásakor), viszont te delete-el törlöd az adott memória részt , a stack pedig erről nemtud , számára a memória még mindíg le van foglalva és amikor megpróbál írni vagy olvasni belőle , kifagy a progi...
másrészt ha dinamikusan foglalnád le a memóriát , akkor sem lenne jó mert ha ki is törlöd mondjuk a 12. elemet , a tömbnek még mindíg lesz 12. eleme csak nem mutat sehova. törlés után újra kell dimenzinálnod a tömböt.Ezt elég spagetti megírni egy procedurális nyelvben mint a freebasic , inkább keress rá a freebasic fórumon hátha valaki már megírta vagy van már ilyen hozzá (olyat keress hogy : linked list , dynamic array) , bár lehet hogy freebasicben eleve van ilyen , már nem emlékszem sajnos
c++ -t legjobb úgy tanulni ha mindjárt azzal kezded , mert ha sokat foglalkozol procedurális nyelvekkel pl freebasic vagy általában basic nyelvekkel , annál nehezebb lesz átálnod objektum orientáltra.
Az androidot azért szidom mert c++ ból rettenetesen idegesítő (volt) fejleszteni rá... rengeteg felesleges baromságot kellet megírni/beállítani. Például ha valaki megszokja a c++ és mondjuk a visual studio kényelmes könyernyezetét azok nagyon sokat szívnak az android platformal mert ott semmi sem egyértelmű és semmi sem egyszerű (egyszerű alatt azt értem hogy megnyomok egy gombot és a fordító csinál nekem 1 .apk filet a programból , ehelyett órákat kell gépelnem , szarakodnom teljesen felesleges dolgokkal mint pl Terminál meg bugyutaságokkal amiket már régen le kellet volna hogy váltson valami GUI alapú cucc.) Szóval ez már azóta változott , és én is kénytelen voltam adaptálódni ezekhez a butaságokhoz , úgyhogy mostmár annyira nem idegesít de azt nézem hogy minél kevesebbet kelljen külön androidos kódot írnom , inkább a c++-os project forduljon androidra úgy ahogy van.
Régebben pl nem volt elérhető egy csomó cucc native részről (inapp purchase) ezt külön Javaban kellett megírni , szerencsére ezt megoldották így mostmár lehet 100 % androidos progit írni c++ -ban
|
|
| |
itamas | Dátum: Szombat, 2015-08-01, 6:20 PM | Üzenet # 12 |
Közlegény
Csoport: Felhasználók
Üzenetek: 5
Állapot: Offline
| És ha kihagynám a memóriabirizgálásos részét a programírásnak, attól még rá tudom venni valahogy a dim-mel létrehozott példányokat arra, hogy kiírjanak egy valamilyen karaktert bizonyos koordinátára? Most ilyen a kódom (már nem hajít ki a Windows, de nem írja ki az I-betűket sem még lövedék gyanánt): Kód #include "fbgfx.bi" Using FB
TYPE jatobjektumok x AS SINGLE y AS SINGLE lohet as ubyte END TYPE
TYPE lovedekek x AS SINGLE y AS SINGLE END TYPE
DIM SHARED jatekos AS jatobjektumok DIM SHARED AS INTEGER jatlovdb=0 dim shared jatlovedeke as lovedekek
SCREEN 18,8,2,0 SETMOUSE 0,0,0 'egérmutató elrejtése
jatekos.x = 150 ' kezdeti kör pozíciók jatekos.y = 200 jatekos.lohet = 1
DO
CLS CIRCLE (jatekos.x, jatekos.y), 10, 15
IF MULTIKEY(SC_RIGHT) THEN jatekos.x = jatekos.x + 5 IF MULTIKEY(SC_LEFT) THEN jatekos.x = jatekos.x - 5 IF MULTIKEY(SC_DOWN) THEN jatekos.y = jatekos.y + 5 IF MULTIKEY(SC_UP) THEN jatekos.y = jatekos.y - 5 if multikey(sc_control) then dim jatlovedeke as lovedekek : jatlovedeke.x=jatekos.x : jatlovedeke.y=jatekos.y : jatlovdb=jatlovdb+1 : end if with jatlovedeke .y-=4 draw string (.x,.y),"I" end with SLEEP 10 'if jatlovdb>0 then lovedekkirajzolo() LOOP UNTIL MULTIKEY(SC_Q) OR MULTIKEY(SC_ESCAPE) end
|
|
| |
Dookie | Dátum: Szombat, 2015-08-01, 9:46 PM | Üzenet # 13 |
Admin Modi minden !!
Csoport: Adminisztrátorok
Üzenetek: 1508
Állapot: Offline
| Hát fogalmam sincs sajnos ilyen részletekre hogy szövegkiírás meg hasonlók már nem emlékszem hogy hogy kellett... sorry
van valamilyen különleges oka amiért nem rajzolsz ott is circle-t karakterek helyett?
|
|
| |
itamas | Dátum: Hétfő, 2015-08-10, 12:26 PM | Üzenet # 14 |
Közlegény
Csoport: Felhasználók
Üzenetek: 5
Állapot: Offline
| Hurrá, haladok! Rákerestem erre a "dinamyc array"-ra a FB fórumában meg a kézikönyvében, és találtam egy REDIM nevű utasítást, amely - ha jól olvastam - újradimenzionálja a tömböket. Kipróbáltam, s lám, működik! Ezt is köszönöm neked! Már csak arra kellene rájönnöm, rájönnünk, hogy a lövedékek tömbjéből hogyan lehet az elemeket törölni, mert a DELETE csak a NEW-val létrehozottakra vonatkozik, azt meg nem használom (még). És a másik, amit szeretnék megtudni tőled, hogy akkor a rendes zárójelek ( ( ) ) is a tömböt jelentik a FB-ben, nemcsak a szögletes ( [ ] ) zárójelek? Ja, és íme a javított kód is. Próbáld ki, most már megy a lövés is, csak akkor vág ki a Windows, ha a törlése elmaradása miatt túl messze megy a lövedék: Kód #include "fbgfx.bi" Using FB
TYPE jatobjektumok x AS SINGLE y AS SINGLE END TYPE
TYPE lovedekek x AS SINGLE y AS SINGLE END TYPE
DIM SHARED jatekos AS jatobjektumok DIM SHARED AS INTEGER jatlovdb=0 dim shared jatlovedeke(jatlovdb) as lovedekek
sub lovedekkirajzolo() for i as integer = 0 to jatlovdb jatlovedeke(i).y=jatlovedeke(i).y-6 if jatlovedeke(i).y>20 then draw string (jatlovedeke(i).x,jatlovedeke(i).y),"I" 'else 'delete jatlovedeke(i) 'jatlovdb=jatlovdb-1 end if next i end sub
SCREEN 18,8,2,0 SETMOUSE 0,0,0 'egérmutató elrejtése
jatekos.x = 150 ' kezdeti kör pozíciók jatekos.y = 200
DO
CLS CIRCLE (jatekos.x, jatekos.y), 10, 15
IF MULTIKEY(SC_RIGHT) THEN jatekos.x = jatekos.x + 5 IF MULTIKEY(SC_LEFT) THEN jatekos.x = jatekos.x - 5 IF MULTIKEY(SC_DOWN) THEN jatekos.y = jatekos.y + 5 IF MULTIKEY(SC_UP) THEN jatekos.y = jatekos.y - 5 if multikey(sc_control) then redim jatlovedeke(jatlovdb) as lovedekek : jatlovedeke(jatlovdb).x=jatekos.x : jatlovedeke(jatlovdb).y=jatekos.y : jatlovdb=jatlovdb+1 : end if lovedekkirajzolo() SLEEP 10 LOOP UNTIL MULTIKEY(SC_Q) OR MULTIKEY(SC_ESCAPE) end Hozzáadva (2015-08-10, 12:26 PM) --------------------------------------------- Szia Dookie! Végre elkészült első játékom FreeBasic-kel. No nem egy nagy durranás, csupán egy szöveges képernyőn futó lövöldözős anyag, amelynek részletei fentebb vannak. De azért büszke vagyok rá, mert nem volt könnyű elkészíteni, és nem is sikerült volna, ha te és a FreeBasic fórumának közössége nem segítetek. Azt szeretném kérdezni tőled, hogy közzétehetem itt valahol a forráskódját (kb. 400 sor a kicsike)? A FreeBasic tutorialok c. témakörben nem tudtam új témát nyitni erről. Olyan szempontból jó lenne, hogy más, kezdő magyar FreeBasic-előknek is lenne akkor már valami a világhálón, amin el tudnak indulni, megérthetnék a fejlesztőkörnyezet logikáját, felépítését. Üdvözlettel: Tomi
Az üzenetet módosította: itamas - Vasárnap, 2015-08-02, 3:11 PM |
|
| |
Tomi | Dátum: Szombat, 2016-01-23, 11:47 AM | Üzenet # 15 |
Közlegény
Csoport: Felhasználók
Üzenetek: 1
Állapot: Offline
| Szia Dookie! Régen nem beszéltünk; mi újság veled? Azóta van új honlapom és azon egy FreeBasic aloldal: http://www.programozzunk.ucoz.hu/fbjatekok.html Egyelőre két játékocska van rajta, és most készítek egy harmadikat, egy RTS-t, vagyis egy stratégiajátékot. De van benne egy hiba, ami lefagyasztja, és azt szeretném megtudni tőled, hogy mi lehet a baj ezzel, hátha te tudni fogod. Az a helyzet, hogy a játékos és a gép is - többek között - utakat épít benne, és a gép útépítése fel van osztva 3 felé, amennyi játékost a gép irányít. Az a kérdésem, hogy Select-Case szerkezettel be lehet-e állítani egy változó kezdőértékét a további felhasználáshoz? Vagy esetleg a tömb feltöltésével van a gond? De íme a kóddarab:
Kód dim shared kekutakdb as integer=0 dim shared kekutak(kekutakdb) as dolgok dim shared sargautakdb as integer=0 dim shared sargautak(sargautakdb) as dolgok dim shared feherutakdb as integer=0 dim shared feherutak(feherutakdb) as dolgok (...) sub utatepit() dim as integer ezenutdb dim as dolgok ezenutak(0) select case ki case 1 ezenutdb=kekutakdb-1 for i as integer=0 to kekutakdb-1 ezenutak(i)=kekutak(i) : redim preserve ezenutak(i) next i case 2 ezenutdb=feherutakdb-1 for i as integer=0 to feherutakdb-1 ezenutak(i)=feherutak(i) : redim preserve ezenutak(i) next i case 3 ezenutdb=sargautakdb-1 for i as integer=0 to sargautakdb-1 ezenutak(i)=sargautak(i) : redim preserve ezenutak(i) next i end select (...) end sub
|
|
| |
|
Copyright PinkCatGames © 2024 | |
|