如何用python写脚本_【按键教程】用python写脚本 另附垫材24与变奏22的实现
該樓層疑似違規已被系統折疊 隱藏此樓查看此樓
二、腳本中需要些什么 以PE10炮為例
#!/usr/bin/python #對mac/linux用戶,可以點擊腳本文件即運行
# -*- coding: utf-8 -*- #聲明文字編碼,在腳本用漢字時必備,全用英文也推薦寫上
import threading,pvz #載入多線程模塊與本帖模塊
from pvz import * #可選,能夠省略大部分pvz.xxxxx的前半部分。以下默認【使用了】該語句。
pvz.scene = 'PE' #標明場景,可選,默認PE。必須大寫,只能在'PE' 'DE' 'RE'中選一個。
pvz.paoList = [(1,5),(6,5),(3,1),(4,1),(3,3),(4,3),(2,5),(5,5),(3,5),(4,5)] #必須,標明炮的位置
ChooseCard(2, 7, True) #imIceShroom
ChooseCard(2, 7) #IceShroom
ChooseCard(2, 8) #DoomShroom
ChooseCard(5, 4) #CoffeeBean
ChooseCard(1, 3) #CherryBomb
ChooseCard(3, 5) #Jalapeno
ChooseCard(3, 2) #Squash
ChooseCard(3, 1) #LilyPad
ChooseCard(4, 7) #Pumpkin
ChooseCard(2, 1) #PuffShroom
LetsRock()
#可選,選卡。樓主推薦把他分開,單獨存在一個.py里面。
print('當前句柄 %s' % win32gui.GetWindowText(hwnd))
#在命令行中輸出當前句柄(腳本所運行的窗口)的名稱。當前句柄默認選擇鼠標所在位置的,選錯了腳本會無反應。
然后就是核心——炮要怎么打了。
我們可以先這樣寫:
for wave in range(1, 21): #range(x,y)得到的是[x,y)中的整數
preJudge(0) #實際上是反應炸,用一下預判以提高精度
sleep(5.5-3.73) #3.73是炮的飛行時間
Pao(2,8.1) #炸伴舞
Pao(5,8.1)
就可以了。
然后會遇到問題:第10波僵尸出生靠右,可能無法刷新
于是改為:
for wave in range(1, 21):
preJudge(0, wave%10 == 0) #用條件判斷符的真假控制參數
sleep(5.5-3.73) #3.73是炮的飛行時間
if wave % 10 != 0 : #第1~9,11~19波
Pao(2,8.1) #python的層次是靠相同的空白符實現的
Pao(5,8.1)
else : #第10與20波
Pao(2,8.5)
Pao(5,8.5)
#ps:在貼吧只有使用全角空格' '才不會被吃(實際上是多個空白符被html認為成一個),但是這個不能在python中用于縮進!請自行替換成空格,或者從2樓提及的示例地址復制代碼。
我們都用腳本了,當然要用炮炸珊瑚嘛,于是:
for wave in range(1, 21):
if wave == 20 :
preJudge(150, True)
Pao(4,6) #炮炸珊瑚
sleep(1.5) #記得兩個分支的最終結束時間要一致
else :
preJudge(0, wave%10 == 0)
sleep(5.5-3.73)
if wave % 10 != 0 : #下同,略
.....
還差什么?第9波打完之后我們實際上還要用炮,但是現在這程序第10波會用第9波后面的兩炮,因而我們需要:
for wave in range(1, 21):
...
else:
Pao(2,8.1)
Pao(5,8.1)
if(wave % 10 == 9):
pvz.nowPao += 4
pvz.nowPao是控制下一次打哪里的變量(這里pvz.必須帶著),一般來說需要再用4炮,那就+4
好,現在我們用36行寫好了一個PE10炮需要的【全部內容】。如果說把選卡和中間的空行去掉,那么只需要22行。
總結
以上是生活随笔為你收集整理的如何用python写脚本_【按键教程】用python写脚本 另附垫材24与变奏22的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python timestamp转str
- 下一篇: exe反编译_反编译Python生成ex