Tổng số bài gửi : 17 Join date : 06/04/2011 Age : 28 Đến từ : Localhost
Tiêu đề: Auto chơi Game Kim Cương trên Zing Me Tue Apr 19, 2011 1:35 pm
Auto được viết trên ngôn ngữ AutoIT, đã test rất đơn giản và hiệu quả
Yêu cầu đối với các Tool viết bằng AutoIT là: TẮT ANTIVIRUS TRƯỚC KHI TẢI VỀ.
Chạy Auto (File Application.exe). Vào chơi Game Kim cương, http://me.zing.vn/apps/bejeweled?_src=m, Click vào nút bắt đầu để chơi, sau đó nhanh tay di chuột vào vị trí 1x1 trên bàn kim cương(đầu tiên), và ấn số 1 để start.
Hết Game, ấn phím số 2 để tạm ngừng. Auto được viết dựa trên hàm lấy điểm ảnh trên màn hình. Khuyên dùng trên XP.
Video chơi:
Source:
Code:
Global $sx = 40 Global $sy = 40 Global $mx = 470 + $sx/2 Global $my = 300 + $sy/2 Global $db,$x,$y,$maze[8][8] Global $1 = -1,$2 = -1
While 1 For $x=0 To 7 For $y=0 To 7 $maze[$x][$y] = PixelGetColor ($mx+ $x*$sx,$my+ $y*$sy) Next Next
$1 = -1 $2 = -1
For $x=0 To 7 For $y=0 To 7 If $db Then If ($x = $1 Or $x = $1+1 Or $x = $1-1) And ($y = $2 Or $y = $2+1 Or $y = $2-1) Then ContinueLoop
If $x > 0 And kiemtra($x,$y,-1,0) Then click($x,$y,-1,0) Else If $x < 7 And kiemtra($x,$y,1,0) Then click($x,$y,1,0) Else If $y > 0 And kiemtra($x,$y,0,-1) Then click($x,$y,0,-1) Else If $y < 7 And kiemtra($x,$y,0,1) Then click($x,$y,0,1) EndIf EndIf EndIf Else Sleep(100) EndIf Next Next
Func kiemtra($x,$y,$a,$b) If $maze[$x][$y] = $maze[$x+$a][$y+$b] Then Return If $a <> 0 Then If xetcot($x+$a,$y+$b,$maze[$x][$y]) Then Return 1 If xethang($x+$a,$y+$b,$maze[$x][$y],$a) Then Return 1 Else If xethang($x+$a,$y+$b,$maze[$x][$y]) Then Return 1 If xetcot($x+$a,$y+$b,$maze[$x][$y],$b) Then Return 1 EndIf EndFunc
Func xetcot($x,$y,$dem,$mode=0) Local $i,$a=0 For $i = -1 To 1 If $y+$i < 0 Or $y + $i > 7 Then ContinueLoop If $dem = $maze[$x][$y+$i] Then $a+=1 Switch $i Case -1 if $mode <> 1 And $y-1 > 0 And $dem = $maze[$x][$y-2] Then Return 2 Case 1 if $mode <> -1 And $y+1 < 7 And $dem = $maze[$x][$y+2] Then Return 3 EndSwitch EndIf Next If $mode = 0 And $a > 1 Then Return 1 EndFunc
Func xethang($x,$y,$dem,$mode=0) Local $i,$a=0 For $i = -1 To 1 If $x+$i < 0 Or $x + $i > 7 Then ContinueLoop If $dem = $maze[$x+$i][$y] Then $a+=1 Switch $i Case -1 if $mode <> 1 And $x-1 > 0 And $dem = $maze[$x-2][$y] Then Return 1 Case 1 if $mode <> -1 And $x+1 < 7 And $dem = $maze[$x+2][$y] Then Return 1 EndSwitch EndIf Next If $mode = 0 And $a > 1 Then Return 1 EndFunc