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>