"""
需求:每當陽光值低於300時,修改為500
"""import win32process # 程序
import win32con # 系統定義
import win32api # 呼叫系統模組
import ctypes # c語言型別
import win32gui # 介面
import time
process_all_access = (0x000f0000 | 0x00100000 | 0xfff) # |位運算 標示最高許可權開啟乙個程序
window = win32gui.findwindow('mainwindow', '植物大戰殭屍中文版') # 參1:類名,參2:標題
hid, pid = win32process.getwindowthreadprocessid(window) # 根據窗體獲取程序編號
phand = win32api.openprocess(process_all_access, false, pid) # 用最高許可權開啟乙個程序,phand:開啟的程序編號
data = ctypes.c_long() # c語言整數型別,讀取資料
mydll = ctypes.windll.loadlibrary('c:\\windows\\system32\\kernel32.dll') # 載入核心模組
while true:
mydll.readprocessmemory(int(phand), 0x1a860510, ctypes.byref(data), 4, none) # 0x1a84f228要修改的記憶體位址,4:位元組,none:不顧一切
print(data.value) # 成功讀取到的記憶體值!
# 當陽光值小於300時,修改至500
if data.value < 300:
# 修改記憶體值
new_data = ctypes.c_long(500) # 設定修改的資料
mydll.writeprocessmemory(int(phand), 0x1a860510, ctypes.byref(new_data), 4, none)
time.sleep(1)
bzoj1565 NOI2009 植物大戰殭屍
傳送門 這道題吃到某個植物a可能需要先吃掉別的植物b 在他的右邊或者保護著他 那麼我們把a連向b。發現這是最大權閉合子圖。顯然是可以通過網路流水過的。閉合子圖 v中頂點的所有出邊均指向v內部頂點 那麼按照最大權閉合圖的建圖方法 1.s向正權點連流量為權值的邊 2.負權點向t連流量為權值的絕對值的邊 ...
BZOJ1565 NOI2009 植物大戰殭屍
好久沒寫部落格了 題目在這裡 沒什麼好說的 應該很容易看出是最大閉合子圖吧?不過要注意一下的是,這題可能有植物是不可能被擊潰的,所以要先跑一遍拓撲排序把這些點排除掉 include include include include include include include include usi...
BZOJ1565 NOI2009 植物大戰殭屍
problem plants vs.zombies pvz 是最近十分風靡的一款小遊戲。plants 植物 和zombies 殭屍 是遊戲的主角,其中plants防守,而zombies進攻。該款遊戲包含多種不同的挑戰系列,比如protect your brain bowling等等。其中最為經典的,...