k33theod Δημοσ. 10 Ιουλίου 2017 Δημοσ. 10 Ιουλίου 2017 Βασικα να ξεκαθαρισω πως υπαρχουν μονο σωστα κλικς. Σε περιπτβση λαθους το προγραμμα σταματαει. Τα σωστα κλικς μετριουνται. Απλα ο μετρητης τρεχει καθε ενα δευτερολεπτο και αφαιρει ενα απο το 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 νομίζω 1
rafinos Δημοσ. 10 Ιουλίου 2017 Μέλος Δημοσ. 10 Ιουλίου 2017 Ε, προφανώς η συνθήκη θα λέει "αν τα σωστά 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(); } Νομίζω ότι ακριβώς αυτό ήθελα. Έτσι το σκεφτόμουν και εγώ απλά σίγουρα θα το έκανα πιο μπακάλικα. Σας ευχαριστώ όλους για το χρόνο σας!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα