Advertisement
toan9xpro2012

Nút Di chuyển 2

Sep 16th, 2014
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 3.24 KB | None | 0 0
  1. Global $x = 0, $y = 98; Vị trí xuất phát của cái nút
  2. Global $w = 150, $n = 49;$w là tốc độ giữa hai lần nhấn (mili giây) cũng có thể nói là tốc độ di chuyển, $n là khoảng di chuyển
  3. Global $t, $d = "user32.dll" ;Cái vụ này thì soi cái hàm _IsPressed sẽ rõ
  4. Local $key, $dk
  5. TraySetIcon("big-smile-icon.ico", 1)
  6. $F = GUICreate("", 245, 245, 192, 124)
  7. $B = GUICtrlCreateButton("Mày", $x, $y, 49, 49)
  8. $Cnv = GUICtrlCreateButton("Cửa", 0, 79, 49, 19)
  9. $Tuong = GUICtrlCreateButton("", 48, 0, 20, 98)
  10. $Khoa = GUICtrlCreateButton("Chìa", 196, 196, 49, 49)
  11. $Next = GUICtrlCreateLabel(@CR&"Thắng", 0, 0, 49, 49, 0x50020101, 0x00000200)
  12. Global $Lock = 1
  13. GUISetState(@SW_SHOW)
  14. MsgBox(0, "Nhiệm vụ", "Hãy lấy chìa khóa để mở của và chiến thắng")
  15. Func _IsPressed($sHexKey, $vDLL = 'user32.dll') ;Cái này copy trong thư viện Misc.au3 cho nó nhẹ
  16.     Local $a_R = DllCall($vDLL, "short", "GetAsyncKeyState", "int", '0x' & $sHexKey)
  17.     If @error Then Return SetError(@error, @extended, False)
  18.     Return BitAND($a_R[0], 0x8000) <> 0
  19. EndFunc   ;==>_IsPressed
  20.  
  21. Func Gon($key, $dk) ;Cái này tao rút gọn thôi
  22.     $time = @HOUR & ":" & @MIN & ":" & @SEC
  23.     If _IsPressed($key, $d) Then
  24.         GUICtrlDelete($B)
  25.         Switch $dk
  26.             Case 1
  27.                 If ($x = 98 And $y = 0) Or ($x = 98 And $y = 49) Then
  28.                 Else
  29.                     If $x - $n >= 0 Then $x = $x - $n
  30.                 EndIf
  31.             Case 2
  32.                 If ($x = 49 And $y = 98) Or ($x = 0 And $y = 98 And $Lock = 1) Then
  33.                 Else
  34.                     If $y - $n >= 0 Then $y = $y - $n
  35.                 EndIf
  36.             Case 3
  37.                 If ($x = 0 And $y = 49) Then
  38.                 Else
  39.                     If $x + $n <= 196 Then $x = $x + $n
  40.                 EndIf
  41.             Case 4
  42.                 If ($x = 49 And $y = 0) Then
  43.                 Else
  44.                     If $y + $n <= 196 Then $y = $y + $n
  45.                 EndIf
  46.         EndSwitch
  47.         If ($x = 0) And ($y = 0) Then
  48.             MsgBox(0, "", "Công-ga-tu-la-sờn" & @CR & "Chúc mừng, bạn đã thắng")
  49.             DonBaiChienTruong()
  50.         EndIf
  51.         If ($x = 196 And $y = 196) Then
  52.             $Lock = 0
  53.             GUICtrlDelete($Khoa)
  54.             GUICtrlDelete($Cnv)
  55.         EndIf
  56.         $B = GUICtrlCreateButton("You", $x, $y, 49, 49)
  57.         Sleep($w)
  58.         DllClose($d)
  59.     EndIf
  60.  
  61. EndFunc   ;==>Gon
  62.  
  63. Func DonBaiChienTruong()
  64.     DllClose($d) ;------------------------------------------------;
  65.     GUIDelete($F) ;4 dòng này để dọn bãi chiến trường rồi quảng cáo;
  66.     ToolTip("", 0, 0);-----------------------------------------------------------------------------------------------------;
  67.     MsgBox(0, "Quảng cáo", "Code bởi Ngọc Thụ Lâm Phong" & @CR & @CR & "Http://facebook.com/AnhVuongCoDon" & @CR & @CR & "Cảm ơn đã sử dụng ^^");
  68.     Exit
  69. EndFunc   ;==>DonBaiChienTruong
  70.  
  71. Func Move() ;Cho chạy hết 4 nút mũi tên, nếu nhấn nút nào thì chạy hướng nào
  72.     Gon(25, 1)
  73.     Gon(26, 2)
  74.     Gon(27, 3)
  75.     Gon(28, 4)
  76. EndFunc   ;==>Move
  77.  
  78. While 1
  79.     $GUI = GUIGetMsg()
  80.     Move()
  81.     If "Tọa cmn độ" & @CR & "x = " & $x & @CR & "y = " & $y <> $t Then ToolTip("Tọa cmn độ" & @CR & "x = " & $x & @CR & "y = " & $y, 0, 0)
  82.     $t = "Tọa cmn độ" & @CR & "x = " & $x & @CR & "y = " & $y
  83.  
  84.     If $GUI = -3 Then DonBaiChienTruong() ; nếu nhấn x thì dọn bãi ct rồi thoát
  85.     If _IsPressed("1B", $d) Then DonBaiChienTruong(); Nếu nhấn Esc thì cũng dọn bãi chiến trường và thoát
  86. WEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement