Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    379

    differenza date in minuti

    Ciao a tutti e già ora vi ringrazio per la pazienza che dovrete avere. Visto che spiegare non è il mio forte, mi ci metterò d'impegno per illustrare ogni dettaglio.

    Mio scopo è di fare una parte di un gioco che simula una miniera. Ovver devo fare in modo che un personaggio X possa entrare nella suddetta e schiacciando su un bottone [ scava per es ],
    questo mr. X possa riscuotere un corrispondente in monete d'oro [ quelle del gioco ]. Questo valore verrà stabilito da una rotazione random della cifra che esso potra assumere. Fin qui tutto a posto. Ora pero dovrei porre a questo personaggio delle limitazioni quali:

    -> non puo fare clic piu volte nello stesso minuto corrente
    -> questi suoi clic devono essere salvati nel database in caso di "non cliccaggio" [ queste saranno le azioni cumolative]

    Ora mi spiego meglio: Vorrei creare una funzione che calcoli [ adesso davvero grezzamente ] in questo modo: data2-data1=diff
    Dove data2 sta per la data aggiornata all'ingresso del personaggio nel gioco [ che puo essere diverse ore come pochi minuti ], e data1 per la data corrente quella con la quale la precedente verrebbe confrontata. Per finire diff IN MINUTI!! che sarebbero poi le azioni complessive del personaggio che andrebbero a cumularsi con quelle che troviamo gia nel DB.

    X entra alle 20.00 nel gioco e va in miniera alle 20.30 accumula quindi 30 azioni [ che puo sperperare ev. anche subito]. Poi X va a giocare o a chattare con un suo compagno e torna solo alle 23.30. In caso non le avesse consumate precedentemente queste 30 li verrebbero aggiunte alle 180 di adesso per formare nel DB 210 azioni non utilizzate.

    Non so se si possa fare un calcolo diretto fra due date visto che non sono dei veri e propri numeri xD ma queste dannate hanno caratteristiche particolari.

    Al login ovviamente si resetteranno anche le azioni!


    quindi passo tutto il codice anche se non è molto appropriato farlo, ma forse ad alcuni di voi puo tornare utile avere un "appoggio" in quanto io non sappia spiegare xD


    Codice PHP:
    <?php session_start();
    include (
    'inc/parametri.inc.php');
    include (
    'inc/controllo.php');
    include (
    'inc/open2.php');
    include (
    'inc/controlloesilio.php');

    function 
    Tempo($tim)
    {
        return(
    strftime("%d/%m/%Y %H:%M"strtotime($tim)));
    }

    include (
    "inc/header.html.inc.php");

    $sold=array('0','0','0','10','0','0','0','30','0','0','0','30','45','10');
    $sold1=rand(1,14);
    $soldi=$sold[$sold1];

    switch(
    $soldi)
    {
        case 
    0:
            
    $sx="nessuna";
            
    $sx1="Non hai";
            
    $sx2="moneta";
            break;
            
        case 
    10:
        case 
    30:
        case 
    0:
            
    $sx=$soldi;
            
    $sx1="Hai";
            
    $sx2="monete";
            break;
    }    

    ?>

    <html>

    <head>
    <title>Miniera Narsil</title>
    </head>

    <body bgcolor="#000000">





    </p>
    <table border="1" width="54%" id="table1" align="center" bgcolor="#000000">
        <tr>
            <td height="226">
            <p align="center">[img]img/miniera/md1.jpg[/img]
    <font color="#FF6600" size="7" face="Times New Roman">[img]img/miniera/ms1.jpg[/img]Miniera</font>        
            <p align="center">
              
              
              [url="miniera.php"][img]img/miniera/min1.gif[/img][/url]   
              <p align="center">
          
    <?php 
    $MySql 
    "SELECT * FROM Personaggio WHERE Nome = '".pars($Login)."'";
    $Result mysql_query($MySql);
    $rs mysql_fetch_array($Result);
    $LM $rs["UltimoMiniera"];
    $AZ $rs["Azioni"];
    $rs->close;
    //calcolo da diff in minuti
    $adesso time();
    $prima time($rs["Azioni"]);
    $diffadesso $adesso-$prima;
    $minuti floor($diffadesso/60);
    //faccio la somma
    $AX $minuti+$AZ;

    //faccio la tabella dv riporto i dati ricavati
    echo '






    '
    ;
    echo 
    '<table border="1" width="400" align="center" bgcolor="#000000">';
    echo 
    '<tr>';
    echo 
    '<td align="center">';
    echo 
    '<font color="#BEC6D4">Hai aggiunto '.$minuti.' azioni alle tue '.$AZ.'  disponibili.


    Disponi quindi di '
    .$AX.' azioni!
    </font>'
    ;
    echo 
    '</td>';
    echo 
    '</tr>';
    echo 
    '</table>';


    if (
    $AX 0)
    {    
        echo 
    "<script language='javascript'>alert('Puoi fare una sola azione al minuto, prova più tardi');</script>";
    }
    else
    {  
        echo 
    '<tr><td>';
        echo 
    "<center><font color=\"#FF6600\" size=\"1\">".$sx1." trovato ".$sx." ".$sx2." d'oro...</font></p></center>";
        echo 
    '</td></tr></table>';
        if(
    $soldi >= 10)
        {
            
    $sql01="UPDATE Personaggio SET UltimoMiniera = NOW(), Soldi = Soldi + '$soldi', Azioni = '$AX'  WHERE Nome = '".pars($Login)."'";
            
    $Result mysql_query($sql01);
            
            
    $MySql "INSERT INTO LogFinanza (Nome, Somma, Tipo, DataEvento, Nota)
            VALUES('"
    .pars($Login)."', '".$sx."', '8', '".strftime("%Y-%m-%d %H:%M:%S")."', 'Ricavo Miniera Narsil')";
                    
            
    $Result mysql_query($MySql);
        }
        
    $MySql "UPDATE Personaggio SET UltimoMiniera = NOW(), Azioni = '$AX' WHERE Nome = '".pars($Login)."'";
        
    $Result mysql_query($MySql);
    }
    ?>

    </td></tr></table></body></html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    379
    up!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.