Я пробиваю себе путь выше моего веса, но, пожалуйста, несите этого любителя Python. Я разработчик PHP по профессии, и я почти не касался этого языка раньше.
То, что я пытаюсь сделать, это вызвать метод в классе... звучит достаточно просто? Я совершенно озадачен тем, что означает "я", и какова правильная процедура для вызова такого метода внутри класса и вне класса.
Может кто-нибудь объяснить мне, как вызвать метод move
с переменной RIGHT
. Я попытался изучить это на нескольких сайтах "изучать python" и выполнять поиск в StackOverflow, но безрезультатно. Любая помощь будет оценена.
Следующий класс работает в Scott Python script, к которому обращается терминал GUI (urwid).
Функция, с которой я работаю, - это ракета-носитель Scott Weston Python script, которую я пытаюсь подключить к веб-серверу PHP.
class MissileDevice:
INITA = (85, 83, 66, 67, 0, 0, 4, 0)
INITB = (85, 83, 66, 67, 0, 64, 2, 0)
CMDFILL = ( 8, 8,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0)
STOP = ( 0, 0, 0, 0, 0, 0)
LEFT = ( 0, 1, 0, 0, 0, 0)
RIGHT = ( 0, 0, 1, 0, 0, 0)
UP = ( 0, 0, 0, 1, 0, 0)
DOWN = ( 0, 0, 0, 0, 1, 0)
LEFTUP = ( 0, 1, 0, 1, 0, 0)
RIGHTUP = ( 0, 0, 1, 1, 0, 0)
LEFTDOWN = ( 0, 1, 0, 0, 1, 0)
RIGHTDOWN = ( 0, 0, 1, 0, 1, 0)
FIRE = ( 0, 0, 0, 0, 0, 1)
def __init__(self, battery):
try:
self.dev=UsbDevice(0x1130, 0x0202, battery)
self.dev.open()
self.dev.handle.reset()
except NoMissilesError, e:
raise NoMissilesError()
def move(self, direction):
self.dev.handle.controlMsg(0x21, 0x09, self.INITA, 0x02, 0x01)
self.dev.handle.controlMsg(0x21, 0x09, self.INITB, 0x02, 0x01)
self.dev.handle.controlMsg(0x21, 0x09, direction+self.CMDFILL, 0x02, 0x01)