Visualizzazione risultati 1 fino 13 di 13

Discussione: aumentare campi database con php + javascript

  1. #1
    Guest

    Predefinito aumentare campi database con php + javascript

    Salve a tutti, nel gioco che sto creando sto sviluppando le caratteristiche che ogni personaggio possiede, cioè:

    1. Forza
    2. Destrezza
    3. Furia
    4. Durata
    5. Parata
    6. Mana


    Alla registrazione ognuno ha queste caratteristiche settate a 5, tranne il mana che è a 10.

    Ora io vorrei che ognuno, cliccando una immagine (con un +) possa uppare (migliorare) le proprie caratteristiche, se cliccherà il più al fianco della scritta forza migliorerà la forza, ecc...

    Questo però ha un costo, infatti migliorare le proprie caratteristiche costa un ammontare di oro crescente, nel senso che più si aumenteranno più il costo di oro crescerà.

    Es.

    Forza da 5 a 6 = 15 di oro
    Forza da 6 a 7 = 50 di oro

    e così via per tutte e 6 le caratteristiche. Io come da titolo penso che anche js sia utile, perchè praticamente vorrei che appena migliori una caratteristica (se hai l'oro sufficiente), attoorno a questa apparga subito il valore migliorato, senza aggiornare la pagina, praticamente scala l'oro e da 5 si passa subito a 6 ad esempio.


    Come posso gestire tutto questo, con costi che aumentano all'aumentare dello sviluppo di ogni singola caratteristica.

    Magari se qualcuno riesce anche a postare un esempio di codice su come sviluppare il tutto mi farebbe piacere (non sono molto esperto)

    Grazie in anticipo e buon fine anno,

    Marco

    -
    Nessuno è in grado di aiutarmi ?
    Ultima modifica di darkwolf : 31-12-2009 alle ore 14.09.22

  2. #2
    Guest

    Predefinito

    Il sistema che vuoi usare con JavaScript si chiama AJAX (Asynchronous Javascript And XML) e consente di fare richieste asincrone al server senza dover ricaricare la pagina. La cosa è fattibile, però serve anche la parte PHP che interagisca con il database e aggiorni le statistiche, mentre con quella JavaScript visualizzi i dati aggiornati. Quindi ecco un esempio di quello che succede quando l'utente clicca sul + accanto a Forza:
    1. JavaScript effettua una richiesta alla pagina che aumenta le statistiche, fornendogli i dati di quale statistica debba essere aumentata.
    2. La pagina si connette al database, aggiorna le statistiche dell'utente e restituisce l'oro necessario per l'aggiornamento al prossimo valore.
    3. JavaScript riceve i nuovi dati e modifica visivamente quelli esistenti.

    E così via per un'altra richiesta.

    Per quanto riguarda l'oro necessario, invece, di solito si usa un algoritmo. Almeno nei giochi come MonstersGame usavano un algoritmo particolare, fai qualche ricerca oppure sviluppane uno tu. Un algoritmo stupido potrebbe essere valore attuale * 5 monete, ad esempio:
    • Avanzamento a livello 2: 5 monete
    • Avanzamento a livello 3: 10 monete
    • Avanzamento a livello 4: 15 monete
    • Avanzamento a livello 5: 20 monete

    E così via, ma è troppo semplice...
    Ultima modifica di alessandro1997 : 31-12-2009 alle ore 13.59.30

  3. #3
    Guest

    Predefinito

    Il poblema è che io non me ne intendo ne di js ne di ajax, non è che percaso mi puoi mostrare uno script di esempio, il funzionamento sapevo circa come svilupparlo, il prolbema è mettere in pratica il tutto...

  4. #4
    Guest

    Predefinito

    Io con AJAX ho lavorato poco e niente, e quelle volte che ci ho lavorato non ha mai funzionato
    Aspettiamo quindi che qualcuno più competente di me metta in pratica quello che ho scritto.

  5. #5
    Guest

    Predefinito

    Ok, intanto grazie mille dell'aiuto, ora non ci resta che attendere...

  6. #6
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Wink

    Ciao,
    io ho già creato un gioco con una modalità di upgrade del personaggio. In PHP: crea un array (in questo caso tutte le caratteristiche hanno uguale costo di upgrade) dove indicherai i soldi necessari per ogni livello:
    Codice:
    $soldi_up = array(0, 0, 0, 0 ,0, 0, soldi_up_liv_6, soldi_up_liv_7, soldi_up_liv_8, ......);
    Se vuoi crea tanti array quante caratteristiche.....

    Nella pagina crea un link al simbolo (o immagine) "+" in cui fai ricarichi la pagina passando due variabili "caratteristica" (il cui valore sarà 1 per la Forza, 2 per la Destrezza, ecc..) e liv (che avrà il livello precedente della caratteristica).
    Infine all'inizio della pagina crea un IF:
    Codice:
    <?php
    
    if((isset($_GET['caratteristica']))&&(isset($_GET['liv']))){
    
     if($_GET['caratteristica'] == 1){    // aumento della forza
      
      // query al db per l'aumento della caratteristica..
      $costo = $soldi_up[isset($_GET['liv'])];
      }
     }
    
    ?>
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

  7. #7
    Guest

    Predefinito

    Grazie della risposta, più tardi provo a fare qualcosa di simile poi vi faccio sapere...

    P.S.: Che gioco hai creato ?

  8. #8
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Red face

    Citazione Originalmente inviato da webgame Visualizza messaggio
    P.S.: Che gioco hai creato ?
    Lascia perdere...
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

  9. #9
    Guest

    Predefinito

    Ma nell'array ci dovrei mettere tutti i costi delle caratteristiche, e se volgio fare che tipo le caratteristiche arrivano fino a 200 ad esempio, ci metterei tantissimo tempo, non è possibili farlo con un algoritmo che ti calcola tutto lui ?

  10. #10
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Certo
    Con un loop non ci vuole niente

    Codice PHP:
    $soldi_up = array();
    $incr = 5;

    for(
    $i = 1; $i <= 200; $i++) {
    $soldi_up[$i] = ($i > 1) ? $soldi_up[$i - 1] + $incr : 0;
    }
    Così nell'array $soldi_up hai tutto già pronto :-)
    Ultima modifica di mycarlo : 04-01-2010 alle ore 23.00.22

  11. #11
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Predefinito

    Citazione Originalmente inviato da mycarlo Visualizza messaggio
    Certo
    Con un loop non ci vuole niente

    Codice PHP:
    $soldi_up = array();
    $incr = 5;

    for(
    $i = 1; $i <= 200; $i++) {
    $soldi_up[$i] = ($i > 1) ? $soldi_up[$i - 1] + $incr : 0;
    }
    Così nell'array $soldi_up hai tutto già pronto :-)

    Ancora più facile: fai calcolare il costo dei miglioramenti ogni volta che viene caricata la pagina..

    Codice PHP:
    $costo_miglioramenti = --tuo_algoritmo--
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

  12. #12
    Guest

    Predefinito

    Sì, alla fine ho utilizzato un algoritmo, numero elevato alla terza/200 e sembra che vada bene...

  13. #13
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Wink

    Citazione Originalmente inviato da webgame Visualizza messaggio
    Sì, alla fine ho utilizzato un algoritmo, numero elevato alla terza/200 e sembra che vada bene...
    Beh, mi raccomando di testarlo molte volte...
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •