Oznámení

Sbalit
Aktuálně žádná oznámení.

Úplné základy programování v Basicu na Amize...?

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

    Úplné základy programování v Basicu na Amize...?

    V zásadě vím, jaký je rozdíl mezi procedurou a subrutinou, pokud jde o to jak je napsat. Ale na co používat jedno, a na co druhé? Co je rychlejší, co je šikovnější?

    Když bude kód hry obsahovat několik nepřátel a dalších objektů, je lepší (=rychlejší) mít pro každého zvlášť načtené parametry (poloha X, Y, směr pohybu, typ střely, počet hitpointů...) takže počet proměnných naroste geometrickou řadou (nepritel1_x, nepritel2_x, ...), nebo mohou být tyto hodnoty uložené v tabulce, a načíst se do proměnných jediné procedury která se prostě zopakuje 20x s odlišnými parametry? Určitě ubyde délky kódu, ale zase se budou muset převádět hodnoty z tabulky do aktuálníh proměnných - což program zpomalí...

    Nikde jsem žádná konkrétní doporučení nenašel, příručky uvádí buď úplné základy, nebo konkrétní příklady jak provést to či ono, které jsou obvykle dost zjednodušené. A když jsem se ptal lidí, co programují... tak je evidentní že dnes už se programuje úplně jinak

    #2
    O: Úplné základy programování v Basicu na Amize...?

    Hlavní výhoda Procedury v AMOSu je přehlednost. Máš rutinu, kterou napíšeš jen jednou, zavřeš jí do procedury a voláš jí pokaždé, když jí potřebuješ. Navíc se všechny procedury ukládají až na konec kódu, takže když potřebuješ něco upravit, nemusíš procházet celý zdroják. A interpreter AMOSu navíc umí procedury zabalovat a rozbalovat, čímž se ti listing kódu hodně zjednoduší a zpřehlední.

    Rozdíl mezi používáním subrutin a procedur bych přirovnal mezi používáním HTML a PHP. PHP je skládačka hotových celků. Celek upravíš na jednom místě a projeví se ti všude, kde ho voláš. V HTML to musíš upravovat naopak úplně všude, kde to kód používá.

    Jen asi bych dodal, že síla procedur se naplno projeví asi právě s AMALem, který má vlastní proměnné atd. Nadefinuješ každou potvoru, její spity, moving pattern, hitpointy, rychlost animace a tak a pak prostě když chceš v levelu na konkrétním místě konkrétní potvoru, máš jí už hotovou. Chce to vyzkoušet.
    Naposledy upravil Predseda; 21.08.2016, 20:55:36.
    "Venku leje. Naimpregnuju si hlavu pivem." (Červ, 2023)

    Komentovat


      #3
      O: Úplné základy programování v Basicu na Amize...?

      To asi chápu... ale ne úplně. Snad nazývám subrutinou tu správnou věc. Prostě Gosub SPAWNSHOOT ... a na konci programu SPAWNSHOOT : kód subrutiny : Return. Mě se zdá, že to funguje úplně stejně jako procedura, dá se to volat odkudkoliv, akorát to používá globální proměnné, kdežto procedura svoje. A hlavně, v některých diskusích se opakuje, že compiler amosu má s procedurami problémy. Třeba zde: http://www.ultimateamiga.co.uk/index.php?topic=9813.0

      Popravdě jsem zatím nenarazil na situaci, kde by bylo použití procedury nutné, ale třeba to v důsledku povede k pomalému a debilnímu kódu

      Komentovat


        #4
        O: Úplné základy programování v Basicu na Amize...?

        Hodně zajímavé, já napsal kdysi desítky AMOSích prográmků plných procedur a nikdy jsem na problém s kompilerem nenarazil. Fakt zajímavé.

        Rozdíl je jak píšeš - klasicka subrutina používá globální proměnné, kdežto procedury jsou v podstatě program v programu a používají svoje. Je to jednodušší v tom, že nemusíš hlídat, jestlis náhodou už nepoužil název proměnné jinde.

        BTW fakt si to nechceš rozmyslet a nekouknout radši na Blitz Basic? Ten mimo jiné umí pracovat s AGA grafikou, krom toho že je celý rychlejší. CO ale vím, má horší dokumentaci.
        Naposledy upravil Predseda; 21.08.2016, 21:06:56.
        "Venku leje. Naimpregnuju si hlavu pivem." (Červ, 2023)

        Komentovat


          #5
          O: Úplné základy programování v Basicu na Amize...?

          @blackgoat: stejně jako v ostatních prog. jazycích, goto není považováno za nejšťastnější metodu, třeba v příručce pro amiblitz píší:

          Note: Using Goto is generally considered poor practice as repeated use quickly makes code difficult to follow and debug. You should consider using alternative methods, such as procedures, conditional blocks or loops instead.

          While arguably better than Goto, using Gosub is also generally considered poor practice. You should consider using procedures instead to keep your code more modular and manageable.
          Naposledy upravil kunilingus; 22.08.2016, 13:41:55.
          Ooou nly a mííííí gáááááááá, mejks it pááá si bžžžžžžžž ♫♫♫

          Komentovat


            #6
            O: Úplné základy programování v Basicu na Amize...?

            Za pouziti GOTO treba v C by spousta lidi chtelo zabijet, ale najdou se pripady, kdy GOTO proste danou situaci resi elegentne. Jeho castym pouzivam neziska clovek mozna nejlepsi programatorske navyky, ale pokud se nechce stat genialnim programatorem pisicim nadherne kody, tak je to fuk. Zacatecnikum to ulehci praci a jejich kod neni stejne zadna krasa nesmirna. Je rozumne s nim ale setrit.

            Komentovat


              #7
              O: Úplné základy programování v Basicu na Amize...?

              Já se mu sice obvykle vyhejbám, ale třeba ve VBA ho používám na error handling. To ale bude spíš tím, že VBA používám spíš okrajově, a to jen v rámci reportingu do Excelu. Zřejmě by to šlo řešit i jinak, ale protože ten kód je vždycky celkem malej, tak jsem to nikdy neřešil
              Ooou nly a mííííí gáááááááá, mejks it pááá si bžžžžžžžž ♫♫♫

              Komentovat


                #8
                O: Úplné základy programování v Basicu na Amize...?

                Měl bych se asi v dalším kroku vrhnout na kompilaci, a jestli to bude ok, začnu víc používat procedury...

                Komentovat


                  #9
                  O: Úplné základy programování v Basicu na Amize...?

                  Predseda: BlitzBasic zkouším ostýchavě prozkoumávat, ale myslím že mám dvě možnosti, buďto v dohledné době (rok, dva...?) udělat hru v AMOSu, nebo se ekvivalentní čas učit programovat v něčem pořádném Vem si, že to programování je pro mě spíš nutnost, zatímco se mi v hlavě líhnou nápady na zpracování, grafiku, hudbu... na druhou stranu limity AMOSu mi nastavujou určitý mantinely abych nevymýšlel megalomanskej koncept hry, kterou bych nezvládl zrealizovat.

                  Komentovat


                    #10
                    O: Úplné základy programování v Basicu na Amize...?

                    Třeba až to doděláš, bude to tak supr a zároveň tak nahovno, že to někdo přeportuje do Blitzu
                    "Venku leje. Naimpregnuju si hlavu pivem." (Červ, 2023)

                    Komentovat


                      #11
                      O: Úplné základy programování v Basicu na Amize...?

                      Ty jo, docela čumim... sám jsem psal v BASICu na ZX a pak QBasic na PC, od té doby jsem na programování prakticky nesáhl.

                      Dejme tomu, že bych chtěl začít s BlitzBasicem - doporučili byste ověřenou dokumentaci? Včetně popisu instalace a tak?
                      Amiga 1200 + Blizzard 1260 + 64 MB RAM + CF2IDE + Indivision AGA Mk1 + PCMCIA2CF + WHDLoad registered + GOTEK

                      Komentovat


                        #12
                        O: Úplné základy programování v Basicu na Amize...?

                        Blitzbasic - co jsem zatím našel, tak je ke stáhnutí cédéčko od Acid Software, kde je blitz + všechno možné k němu + dokumentace. A pak nějaký blog co asi tvoří člověk kterej v BB programuje nějakou hru, bohužel *asi* protože portugalsky včetně komentářů v ukázkách kódu... K amosu máš fůru pdf knižek od základního manuálu po "Game creator" příručku, spoustu zdrojáků včetně her, tuny diskmagů a coverdisků z devadesátých let plných všech možných vychytávek (zatím jsem je neprošel ani z desetiny)... prostě luxus. AMOS je blbuvzdornej, interpreter ti ten kód pomalu píše sám, hned víš kde máš chybu...

                        Komentovat


                          #13
                          O: Úplné základy programování v Basicu na Amize...?

                          Na Aminetu je manuál s příklady k Blitz Basicu
                          I love Amiga

                          Komentovat


                            #14
                            O: Úplné základy programování v Basicu na Amize...?

                            Mne tak nějak až na pár detailů se zdá být programování mezi nízkoúrovňovým a vysokoúrovňovým jazykem stejný. Základní logika je pořád ta samá písnička. Zbytek se dá naučit a stojí to dle mne +- stejný čas. Někdy se mi zdá, jako kdyby se člověk kvůli napsání pár řádků navíc musel posrat . Rozdíly jsou, jen se dle mne zbytečně nafukují a dělá se z toho bůh ví co. Ale já vlastně o programování jen kecám, to je pravda, baví mne teorie a na praxi seru .
                            Amiga - PMD 85

                            Komentovat


                              #15
                              O: Úplné základy programování v Basicu na Amize...?

                              Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
                              Mne tak nějak až na pár detailů se zdá být programování mezi nízkoúrovňovým a vysokoúrovňovým jazykem stejný. Základní logika je pořád ta samá písnička. Zbytek se dá naučit a stojí to dle mne +- stejný čas. Někdy se mi zdá, jako kdyby se člověk kvůli napsání pár řádků navíc musel posrat . Rozdíly jsou, jen se dle mne zbytečně nafukují a dělá se z toho bůh ví co. Ale já vlastně o programování jen kecám, to je pravda, baví mne teorie a na praxi seru .
                              co slovo to perla

                              Komentovat

                              Zpracovávám...
                              X