Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Βασικα να ξεκαθαρισω πως υπαρχουν μονο σωστα κλικς. Σε περιπτβση λαθους το προγραμμα σταματαει.

 

Τα σωστα κλικς μετριουνται. Απλα ο μετρητης τρεχει καθε ενα δευτερολεπτο και αφαιρει ενα απο το timer μεχρι να γινει μηδεν.

 

Αυτο που θελω ειναι αν γινουν πεντε σωστα κλικς μεσα σε 3 δευτερολεπτα να σταματησει ο μετρητης για διαστημα που θα ορισω εγω και μετα απο αυτο το διαστημα αν ξαναγινουν παλι τα ιδια κοκ.

 

Σκεφτομαι να φτιαξω ενα array που σε καθε κλικ θα αποθηκευει ενα timestamp και θα ανατρεχει πισω τεσσερα κελια και θα τσεκαρει αν εχουν διαφορα 3 δευτερολεπτα. Πως σας ακουγεται αυτο;

Μπορεί να έχει αρχικά 5 στοιχεία όλα 0

Σε κάθε κλικ

βάζει το timestamp στο τέλος

πετάει το 1ο

μετράει το 5-1 και εάν ειναι μικρότερο του 3 

   κάνει κάτι

 

έτσι η λίστα έχει πάντα τα 5 τελευταία κλικ

οπότε ανασκευάζοντας τον κώδικα του 

defacer 

και έχοντας ξεχάσει τη σύνταξη της js  :-)

var correctClickTimestamps = [0,0,0,0,0];
function onCorrectClick() {
    correctClickTimestamps.push(Date.now());
    correctClickTimestamps.shift();
    if (correctClickTimestamps[4] - correctClickTimestamps[0]<3)
       do_sth();
}  

κάπου μπαίνει και η παράμετρος event νομίζω

  • Like 1
Δημοσ.

 

Ε, προφανώς η συνθήκη θα λέει "αν τα σωστά clicks μέσα σε 3 δευτερόλεπτα είναι 5 τότε...."  :)

 

Θέλω να πω δηλαδή, η συνθήκη προφανώς δεν είναι το θέμα, το καταλαβαίνεις. Το θέμα είναι πώς θα κρατήσεις ένα running count σωστά. Πολλοί τρόποι υπάρχουν, για το πρακτικά μηδενικό "traffic" που θα έχεις ο,τι κι αν κάνεις το ίδιο σωστό θα είναι. Π.χ.

var correctClickTimestamps = [];
function onCorrectClick() {
    var now = Date.now();
    correctClickTimestamps.push(now);
    while(correctClickTimestamps[0] < now - 3000) {
        correctClickTimestamps.shift();
    }

    if (correctClickTimestamps.length === 5) fiveCorrectClicksIn3Secods();
}

 

Νομίζω ότι ακριβώς αυτό ήθελα. Έτσι το σκεφτόμουν και εγώ απλά σίγουρα θα το έκανα πιο μπακάλικα. :P

 

Σας ευχαριστώ όλους για το χρόνο σας! :)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...