Mở đầu:
Hôm nay ngồi lướt lướt fb thì được mời chơi một game khá hay nằm tại link https://www.funstart.net/game/3
Luật chơi đơn giản:
Có ít nhất 2 người chơi, từng người sẽ tìm số trên màn hình và click nhớ phải theo thứ tự từ 1 -> 100 ai nhiều số hơn sẽ thắng !
Tò mò:
Lúc đầu thì mình chơi bình thường và chẳng nghĩ gì về nó đâu nhưng gặp một bạn chơi cùng khoanh lẹ quá mình khoanh không kịp nên thua 😜 thế là ngồi nghĩ cách "hack" cái trò này.
Đầu tiên F12:
Thì ra là nó dùng javascript để chạy trò này và các Div có attribute "value" sẽ tương ứng với số cần chọn !
Nghĩ ngay tới cách:
1. Cho 1 vòng lặp từ 1->100 để tìm các div có số tương ứng và click !
Thế là autoWin version 1.0 ra đời =))
for(var i = 1; i<= 100;i++) { $("div[value="+i+"]").trigger("click"); }Nhưng có 1 vẩn đề lớn ! cách hoạt động của trò này là khi người dùng click vào 1 ô thì sẽ update lại giá trị max và điểm người dùng nên nó có 1 khoảng thời gian delay là khoảng 0.2s
nên khi vòng lặp trên nó chạy thì nó click từ box 1 -> box 100 nhưng không hề ngưng nghỉ nên khi chưa kịp update lại giá trị thì box tiếp theo đã được click ! -> phải chạy nhiều lần !
Hừm vậy cho nó chạy nhiều lần luôn ?
Lúc đó không hề suy nghĩ nữa mà "tay nhanh hơn não" bay vào thêm hàm setInterval để lặp liên tục:
version 1.2 ra đời
Hừm vậy cho nó chạy nhiều lần luôn ?
Lúc đó không hề suy nghĩ nữa mà "tay nhanh hơn não" bay vào thêm hàm setInterval để lặp liên tục:
version 1.2 ra đời
setInterval(function(){ for(var i = 1; i<= 100;i++) { $("div[value="+i+"]").trigger("click"); } },300);Ok nó chạy đc nhưng mà như vậy thì lag browser với lại nó sẽ chạy liên túc không nghỉ kể cả khi đã thắng game ! máy có 2GB à :'( chạy thế thì die sớm !
nên nghĩ là mình nên cải tiến ! thế là nghĩ ra cách hay hơn:
Để ý khi 1 ô được khoanh tròn thì nó sẽ có thêm 1 class nữa là active:
Oh có thể lợi dụng điều này và làm như sau:
dùng đệ quy lặp đi lặp lại việc bấm box nếu box thứ 100 có class active thì ngưng việc đệ quy và xuất thông báo !
và thế là tiếp tục là version 1.3 hehe:
dùng đệ quy lặp đi lặp lại việc bấm box nếu box thứ 100 có class active thì ngưng việc đệ quy và xuất thông báo !
và thế là tiếp tục là version 1.3 hehe:
function autoWin() { if($("div[value=100]").hasClass("active")) { alert("Win !"); } else { for(var i = 1; i<= 100;i++) { $("div[value="+i+"]").trigger("click"); } setTimeout(function(){autoWin();},500); } }OK vậy là xong. Lúc chơi các bạn bấm F12 sau đó chuyển sang Tab Console rồi dán function trên vào -> Enter và auto Win thôi
Áp dụng cho bạn nào troll gái nhé :))) Thấy hay thì Chia sẽ bài viết này nhé...
Cảm ơn các bạn đã xem bài viết này.
Zerox 😜