• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 10 di 10

Discussione: questione su linguaggio basic (no VB)

Cambio titolo
  1. #1
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882

    questione su linguaggio basic (no VB)

    sto scrivendo un programmino ke mi fa la caduta dei caratteri stile matrix, il punto è ke gira a velocità giusta solo se uso al max 2 cadute contemporanee, mentre io volevo metterne random da 0 a 20 contemporaneamente...
    il mio codice fa le seguenti cose:
    - randomizza il carattere
    - inizia scrivendo in bianco e poi mentre scende sfuma veso il verde scuro (in poke parole la testina di scrittura è bianca e mentre l'inkiostro si asciuga prende colore)
    - le stringhe hanno lunghezza random e partono da qualsiasi posizione, ho fatto anke una routine di controllo x evitare ke se la stringa è troppo lunga mi "alzi" tutta la pagina (ke è 80*50 caratteri)
    - ogni tanto "compare" una stringa di spazi ke sovrascrive i caratteri tracciati cancellandoli (avrei voluto ke dopo 1 po' sfumassero ancora verso il nero)

    tutto questo l'ho fatto con il QBasic, l'unica cosa è ke tutto il ciclo di tracciatura "porta via" un mukkio di tempo e anke se metto al minimo o tolgo i delay o i cicli for cambia molto poco quindi volevo kiedere se esiste 1 modo x farlo 1 po' + leggero

  2. #2
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882
    approposito, essendo appena passato da Win98 a WinXP, dovrei reimpostare le righe e le colonne delle applicazioni MS-DOS a 80 colonne x 50 righe, com'è ke faccio?
    io ho provato a mettere altezza 50 e larghezza 80 nella skeda proprietà del programma, ma lui si reimposta automaticamente a 80*25

  3. #3
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882
    ma poprio nessuno si interessa di queste cose?
    cmq ho solo kiesto come ottimizzare il codice, nn di scrivermi il codice

  4. #4
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882
    Citazione Wolf01[WDD]
    ma poprio nessuno si interessa di queste cose?
    cmq ho solo kiesto come ottimizzare il codice, nn di scrivermi il codice
    me ke ho la peste?

  5. #5
    Utente
    Registrato il
    07-04
    Località
    Köln
    Messaggi
    3.755
    io so appena appena qualcoso ma non ti posso aiutare sorry

  6. #6
    Utente
    Registrato il
    07-04
    Messaggi
    23
    Il metodo che dici per fare Matrix non è conveniente.. specie su QBasic

    Il Matrix dei "poveri" si fa così:
    invece di randomizzare 20 strisciate ad ogni ciclo, creati prima un'unica strisciata casuale di... facciamo un vettore di (500) caratteri e sempre fuori dal ciclo di rendering decidi 20 cursori casuali o più semplicemente li piazzi ogni 500/20=25 caselle e li fai scorrere man mano. Non si noterà che stanno mostrando la stessa strisciata in comune anche perché se sei su 25linee DOS non c'è proprio verso, inoltre dato lo sfumare della colonna non si riesce memmeno a vedere tutta una frazione di 25

    Riassumendo... facciamo su una strisciata di 20caratteri (va beh adesso in ordine alfabetico per farti vedere)

    12345678901234567890
    ABCDEFGHILMNOPQRSTU
    ^------^------^------

    ^ sono i 3 cursori... il primo quando andrà avanti inizia con ABCDEFGHIL.... il secondo GHILMN... il terzo PQRST

    P.S.
    Il Matrix originale ha molti caratteri giappo... nel tuo usa anche i caratteri sopra il codice ASCII127... fanno più matrix e meno maccheronix

  7. #7
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882
    Citazione Chip
    Il metodo che dici per fare Matrix non è conveniente.. specie su QBasic

    Il Matrix dei "poveri" si fa così:
    invece di randomizzare 20 strisciate ad ogni ciclo, creati prima un'unica strisciata casuale di... facciamo un vettore di (500) caratteri e sempre fuori dal ciclo di rendering decidi 20 cursori casuali o più semplicemente li piazzi ogni 500/20=25 caselle e li fai scorrere man mano. Non si noterà che stanno mostrando la stessa strisciata in comune anche perché se sei su 25linee DOS non c'è proprio verso, inoltre dato lo sfumare della colonna non si riesce memmeno a vedere tutta una frazione di 25

    Riassumendo... facciamo su una strisciata di 20caratteri (va beh adesso in ordine alfabetico per farti vedere)

    12345678901234567890
    ABCDEFGHILMNOPQRSTU
    ^------^------^------

    ^ sono i 3 cursori... il primo quando andrà avanti inizia con ABCDEFGHIL.... il secondo GHILMN... il terzo PQRST

    P.S.
    Il Matrix originale ha molti caratteri giappo... nel tuo usa anche i caratteri sopra il codice ASCII127... fanno più matrix e meno maccheronix
    se vuoi ti passo il programma già fatto, cmq ho risolto anke il limite delle 25 righe (era da impostare sul .PIF, nn solo sull'.EXE)

  8. #8
    Utente
    Registrato il
    07-04
    Messaggi
    23
    Per il limite di 25righe non avevo capito altrimenti te lo dicevo anche io

    Per il sorgente non saprei che farci visto che il QuickBasic se ce l'ho è in qualche floppy ormai smagnetizzato. Comunque la mia tecnica è più semplice di quello che sembra... devi solo usare 5 variabili a,b,c,d,e (o quante ne vuoi tu) a cui accedi allo stesso matrix(500) tramite matrix(a) matrix(b) matrix(c) matrix(d) matrix(e) solo che a parte da 0, b parte 25, c parte da 50, ecc...

  9. #9
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882
    ti passo anke quello, tanto sono 300kb tra programma e QBasic
    adesso sto provando come dici tu, sembra ke vada 1 po' + veloce, cmq sparesti dirmi x caso come fare a far sfumare verso il nero piano piano i caratteri già stampati senza influenzare gli altri?

  10. #10
    SCM StarCraft Mapper L'avatar di Wolf01[WDD]
    Registrato il
    06-03
    Località
    SMT
    Messaggi
    3.882
    ah, approposito, x l'array, se io randomizzo l'array ogni volta ke scrivo il carattere nn dovrebbe portare via molto tempo e posso farlo anke + corto, ad esempio se voglio 5 cursori posso tranquillamente usarlo di lunghezza 5
    poi gli dico ad ogni cursore di leggere sempre quella posizione ed ecco fatto, l'unica cosa ke ho notato ke mi portava via molto tempo era il ciclo di sfumatura, quello nn ho proprio idea di come farlo + leggero

    io uso un codice tipo questo (anzi, x il momento uso questo), scrive prima la stringa in bianco e subito dopo la ripassa in verde, così sembra ke sia solo il cursore in bianco:
    Codice:
    LOCATE iniz, col%
    COLOR bianco
    PRINT CHR$(caratteri(x))
    FOR w = 1 TO 15000
    NEXT w
    LOCATE iniz, col%
    COLOR verdescuro
    PRINT CHR$(caratteri(x))
    è quel 15000 ke ripetuto x tot cursori ke mi porta via il tempo, senza di quello nn si vede il cursore e sembra ke venga stampata tutta la stringa in verde
    Ultima modifica di Wolf01[WDD]; 28-07-2004 alle 11:09:14 Motivo: aggiunta del codice

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •