【用python写一个Magicka1(初代魔能)游戏的小脚本】

Magicka小脚本

magicka是一个十分好玩的小游戏,奈何需要手动搓魔法,本人经常记错咒语导致紧要关头常常被boss直接击杀(惨),不过这些现在都不重要了,因为我写了一个小脚本,可以直接一键放技能!
在这里插入图片描述

代码如下:

from pynput.keyboard import Key,Listener,GlobalHotKeys,Controller
from VirtualKey import down_up, vk, PressKey, ReleaseKey
from bd_time import tt


keyboard=Controller()

def on_press(key): # 检测键盘按键符合条件的时候就执行脚本
	keyboard.release(Key.ctrl_l) #按左ctrl触发
	if key == Key.ctrl_l:
        # 这个技能是召唤僵尸(在沼泽关卡获得)
        # 如果暂时没有这个技能建议改成下面的 thunder() 函数,那是雷击术,超级好用!!!
		recall_dead()
	keyboard.release(Key.alt_l) #按左alt触发
	if key == Key.alt_l:
        # 这个技能是瞬移(在初次打到世界之巅遇到最终boss的时候弗拉德会给你传送回魔法学院,这个时候在断桥处可以获得瞬移魔法书)
        # 同样的可以改成你想要的其它技能 直接改函数即可
		jump()
	keyboard.release(Key.caps_lock) # 按大小写切换键触发
	if key == Key.caps_lock:
        # 这个技能是清除附近被魔法师召唤的怪物,同上可以随意修改成别的函数
		clean()


#按方向键下键退出脚本!!!
def on_release(key): #按方向键下键退出脚本!!!
    if key == Key.down:
        print('程序结束')
        return False

#===========以下是我主要使用的技能(方法)函数,网友们可以随喜好自由添加,或者与上面的on_press方法中的触发魔法随意替换===================#
def clean():
    down_up(vk.s)
    down_up(vk.e)
    down_up(vk.space)
    print('clean actived !!!')

def realize():
    down_up(vk.s)
    down_up(vk.f)
    down_up(vk.q)
    down_up(vk.a)
    down_up(vk.e)
    down_up(vk.s)
    down_up(vk.space)
    print('realize actived !!!')    

def thunder():
    down_up(vk.f)
    down_up(vk.q)
    down_up(vk.a)
    down_up(vk.s)
    down_up(vk.a)
    down_up(vk.space)
    print('thunder actived !!!')

def jump():
    down_up(vk.a)
    down_up(vk.s)
    down_up(vk.a)
    down_up(vk.space)
    print('jump actived !!!')

def rain():
    down_up(vk.q)
    down_up(vk.q)
    down_up(vk.q)
    down_up(vk.f)
    down_up(vk.space)
    print('rain actived !!!')

def recall_dead():
    down_up(vk.r)
    down_up(vk.q)
    down_up(vk.d)
    down_up(vk.s)
    down_up(vk.r)
    down_up(vk.space)
    print('recall_dead actived !!!')

def recall_elements():
    down_up(vk.s)
    down_up(vk.e)
    down_up(vk.d)
    down_up(vk.f)
    down_up(vk.q)
    down_up(vk.s)
    down_up(vk.space)
    print('recall_elements actived !!!')

def black_hole():
    down_up(vk.q)
    down_up(vk.r)
    down_up(vk.s)
    down_up(vk.q)
    down_up(vk.r)
    down_up(vk.e)
    down_up(vk.q)
    down_up(vk.r)
    down_up(vk.space)
    print('black_hole actived !!!')


def fire():
    down_up(vk.q)
    down_up(vk.f)
    down_up(vk.space)
    down_up(vk.f)
    down_up(vk.space)
    down_up(vk.f)
    down_up(vk.q)
    down_up(vk.f)
    down_up(vk.space)
    down_up(vk.f)
    down_up(vk.q)
    down_up(vk.space)
    print('fire actived !!!')


with Listener(on_press=on_press,on_release=on_release) as listener:
	listener.join()

效果展示

在这里插入图片描述我按了一下ctrl,就自动放雷击术了
在这里插入图片描述cdsn好像不能传视频……但是经过实测,我写的这个小脚本在后期打boss的时候简直太有用了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值