def event(self, e):
if e.type == pygame.KEYDOWN:
#What are you doing? Looking for Cheats?
#shame shame
if input.Cheatstring == "wheat":
snd.play('gameover')
snd.play('delete')
game.player.cheater = 1
self.textobjs.append(objtext.Text('"wheat" Cheat: Extra Lives'))
self.lives_left += 10
self.hud.drawlives(self.lives_left)
elif input.Cheatstring == "shred":
snd.play('gameover')
snd.play('delete')
game.player.cheater = 1
self.grabbedboxes = 0 #less not give any fake complements
self.levelnum = 49
self.textobjs.append(objtext.Text('"shred" Cheat: Warp Level 50'))
self.changestate('levelend')
if e.key == pygame.K_PAUSE or e.key == pygame.K_p:
if game.handler is self: #just in case some "help" gets in first?
game.handler = gamepause.GamePause(self)
python类K_p()的实例源码
def handle_event(self, event):
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
self.root.trigger_exit_to_main()
elif event.key == pygame.K_p:
self.toggle_pause()
elif not self.paused:
if event.key == pygame.K_SPACE:
self.skip_turn = True
elif event.key == pygame.K_RETURN:
self.skip_game = True
elif event.key in [pygame.K_LEFT, pygame.K_1]:
self.parent.battle.award_victory(1)
self.skip_game = True
elif event.key in [pygame.K_RIGHT, pygame.K_2]:
self.parent.battle.award_victory(2)
self.skip_game = True
def update(self, frameNumber, editor):
for event, pos in editor.context.events:
if event.type == pygame.KEYDOWN:
bone = editor.getActiveBone()
key = event.key
if key == pygame.K_i:
if bone:
if event.mod & pygame.KMOD_ALT:
if bone.name in self.frames[frameNumber].keys:
del self.frames[frameNumber].keys[bone.name]
else:
key = self.frames[frameNumber].getBoneKey(bone.name)
copyKeyData(bone, key)
self.dirty = True
elif key == pygame.K_o:
if bone:
data = self.getBoneData(bone.name)
data.repeat = not data.repeat
self.dirty = True
elif key == pygame.K_p:
if bone:
data = self.getBoneData(bone.name)
data.reversed = not data.reversed
self.dirty = True
def game_over(self):
print("game over")
font = pygame.font.Font(None, 100)
text = font.render("GAME OVER", True, WHITE)
text_rect = text.get_rect()
text_x = self.screen.get_width() // 2 - text_rect.width / 2
text_y = self.screen.get_height() // 2 - text_rect.height / 2
self.screen.blit(text, [text_x, text_y])
pygame.display.flip()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_q:
sys.exit()
elif event.key == pygame.K_p:
self.restart_game()
def check_keydown_events(event, ai_settings, screen, stats, sb, ship, aliens, bullets):
"""????"""
if event.key == pygame.K_RIGHT:
ship.moving_right = True
if event.key == pygame.K_LEFT:
ship.moving_left = True
elif event.key == pygame.K_SPACE:
fire_bullet(ai_settings, screen, ship, bullets)
elif event.key == pygame.K_q:
stats.save_high_score()
sys.exit()
elif event.key == pygame.K_p and not stats.game_active:
start_game(ai_settings, screen, stats, sb, ship, aliens, bullets)
def keyboard_loop(self):
while not rospy.is_shutdown():
acc = 0
yaw = 0
keys = pygame.key.get_pressed()
for event in pygame.event.get():
if event.type==pygame.QUIT:sys.exit()
if(keys[pygame.K_s]):
self.send_highway_start(1)
if(keys[pygame.K_t]):
self.send_highway_start(2)
if(keys[pygame.K_UP]):
acc = self.acc
elif(keys[pygame.K_DOWN]):
acc = -self.acc
if(keys[pygame.K_LEFT]):
yaw = self.yaw
elif(keys[pygame.K_RIGHT]):
yaw = -self.yaw
if(keys[pygame.K_r]):
state = 1
self.send_record_state(state)
elif(keys[pygame.K_q]):
state = 2
self.send_record_state(state)
elif(keys[pygame.K_p]):
state = 0
self.send_record_state(state)
self.send_control(acc, yaw)
self.rate.sleep()
drawSVG.py 文件源码
项目:Write-Chinese-Calligraphy-with-Palletizing-Robot-and-SVG-Files
作者: amjltc295
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def generate_path(self, pointList, up_Z=-1, down_Z=-1):
""" Generate path for a line of the image. """
count = 0
toEnd = NOT_ADJUST_THICKNESS
start_point = self.robotCoorToPygameCoor( pointList[0] )
for (x, y) in pointList:
upZ = self.up_z if up_Z == -1 else up_Z
downZ = self.down_z if down_Z == -1 else down_Z
if_draw = True
end_point = self.robotCoorToPygameCoor( (x, y) )
pygame.draw.line(self.screen, BLACK, start_point, end_point, PYGAME_LINE_WIDTH)
pygame.display.update()
if not toEnd:
pressed_key = self.pygame_wait()
if (pressed_key == pygame.K_a):
downZ -= Z_THICK_ADJUST
pygame.draw.line(self.screen, BLACK, start_point, end_point, PYGAME_THICK_LINE_WIDTH)
pygame.display.update()
elif (pressed_key == pygame.K_d):
downZ += Z_THIN_ADJUST
pygame.draw.line(self.screen, WHITE, start_point, end_point, PYGAME_LINE_WIDTH)
pygame.draw.line(self.screen, BLACK, start_point, end_point, PYGAME_THIN_LINE_WIDTH)
elif (pressed_key == pygame.K_e):
toEnd = True
elif (pressed_key == pygame.K_p):
pygame.draw.line(self.screen, WHITE, start_point, end_point, PYGAME_LINE_WIDTH)
if_draw = False
start_point = end_point
if if_draw:
""" Move to the stating point. """
if count == 0:
self.create_robot_point(x, y, upZ)
self.create_robot_point(x, y, downZ)
""" Move to the last point. """
if count == len(pointList) -1:
self.create_robot_point(x, y, upZ)
count += 1
def updateKeys(self, event):
if event.type == pygame.KEYDOWN:
if event.key == K_r:
keys["r"] = True
elif event.key == pygame.K_e:
keys["e"] = True
elif event.key == pygame.K_p:
keys["p"] = True
elif event.key == pygame.K_n:
keys["n"] = True
if event.type == pygame.KEYUP:
if event.key == pygame.K_r:
keys["r"] = False
elif event.key == pygame.K_e:
keys["e"] = False
elif event.key == pygame.K_p:
keys["p"] = False
elif event.key == pygame.K_n:
keys["n"] = False
if event.type == pygame.MOUSEBUTTONDOWN:
if event.button == 1: # Left Mouse
keys["mouseL"] = True
if event.button == 3: # Right Mouse
keys["mouseR"] = True
if event.type == pygame.MOUSEBUTTONUP:
if event.button == 1: # Left Mouse
keys["mouseL"] = False
if event.button == 3: # Right Mouse
keys["mouseR"] = False
keys["mousePos"] = pygame.mouse.get_pos()
def process_input(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.KEYDOWN:
if self.state.paused:
if event.key == pygame.K_r:
self.state.paused = False
if self.state.game_over:
if event.key == pygame.K_r:
self.state = State(self.ROWS, self.COLS)
if event.key == pygame.K_ESCAPE:
sys.exit()
if self.state.running:
if event.key == pygame.K_DOWN:
self.state.move_piece(board.DIRECTION_DOWN)
if event.key == pygame.K_LEFT:
self.state.move_piece(board.DIRECTION_LEFT)
if event.key == pygame.K_RIGHT:
self.state.move_piece(board.DIRECTION_RIGHT)
if event.key == pygame.K_x:
self.state.rotate_piece()
if event.key == pygame.K_z:
self.state.rotate_piece(True)
if event.key == pygame.K_SPACE:
self.state.drop_piece()
if event.key == pygame.K_p:
self.state.paused = True
def get_input():
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.KEYUP and event.key == pygame.K_DOWN \
and state.state == "falling":
state.state = "playing"
if event.type == pygame.KEYDOWN:
if state.state == "playing":
if event.key == pygame.K_p:
state.state = "paused"
if event.key == pygame.K_LEFT:
if valid(state.X - 1, state.Y, state.piece.form):
state.X -= 1
if event.key == pygame.K_RIGHT:
if valid(state.X + 1, state.Y, state.piece.form):
state.X += 1
if event.key == pygame.K_UP or event.key == pygame.K_SPACE:
new_form = Pentomino.rotate_right(state.piece.form,
state.piece.size)
if valid(state.X, state.Y, new_form):
state.piece.form = new_form
if event.key == pygame.K_DOWN:
state.state = "falling"
elif state.state == "paused":
if event.key == pygame.K_p:
state.state = "playing"
elif state.state == "lost":
if event.key in [pygame.K_SPACE, pygame.K_RETURN]:
state.start_game()
def check_key_down(event, stats, snake_head, snake_parts, foods):
if event.key == pygame.K_ESCAPE:
sys.exit()
elif event.key == pygame.K_p:
if stats.game_active:
if stats.pause_game:
stats.pause_game = False
else:
stats.pause_game = True
else:
stats.game_active = True
stats.first_start = False
initialize_game(stats, snake_head, snake_parts, foods)
elif not stats.moved and not stats.pause_game:
if event.key == pygame.K_s:
if snake_head.facing != "up":
snake_head.facing = "down"
stats.moved = True
elif event.key == pygame.K_w:
if snake_head.facing != "down":
snake_head.facing = "up"
stats.moved = True
elif event.key == pygame.K_a:
if snake_head.facing != "right":
snake_head.facing = "left"
stats.moved = True
elif event.key == pygame.K_d:
if snake_head.facing != "left":
snake_head.facing = "right"
stats.moved = True
def eventCheck( self ):
for event in gui.event.get( ):
if event.type == gui.QUIT:
self.abort = True
if event.type == gui.KEYDOWN:
if event.key == gui.K_ESCAPE:
gui.event.post( gui.event.Event( gui.QUIT ) )
if event.key == gui.K_LEFT:
self.cTile.decX( )
if event.key == gui.K_RIGHT:
self.cTile.incX( )
if event.key == gui.K_DOWN:
self.cTile.incY( )
if event.key == gui.K_COMMA:
self.cTile.rotACW( )
if event.key == gui.K_PERIOD:
self.cTile.rotCW( )
if event.key == gui.K_RETURN:
self.cTile.drop( )
if event.key == gui.K_p:
self.time.incSpeed( )
if event.key == gui.K_o:
self.time.decSpeed( )
if event.key == gui.K_a:
self.aiState = not self.aiState
if event.type == gui.MOUSEBUTTONUP:
if event.button == 1:
if gui.Rect( 480, 630, 101, 30 ).collidepoint( event.pos ):
self.infoMode = 0
if gui.Rect( 580, 630, 101, 30 ).collidepoint( event.pos ):
self.infoMode = 1
if gui.Rect( 680, 630, 101, 30 ).collidepoint( event.pos ):
self.infoMode = 2
if self.infoMode == 1:
if gui.Rect( 630, 405, 39, 30 ).collidepoint( event.pos ):
self.genomeScreen[ 0 ] = max( 0, self.genomeScreen[ 0 ]-1 )
if gui.Rect( 668, 405, 39, 30 ).collidepoint( event.pos ):
self.genomeScreen[ 0 ] = min( len( self.ai.population.generations )-1, self.genomeScreen[ 0 ]+1 )
if gui.Rect( 706, 405, 39, 30 ).collidepoint( event.pos ):
self.genomeScreen[ 1 ] = max( -1, self.genomeScreen[ 1 ]-1 )
if gui.Rect( 744, 405, 39, 30 ).collidepoint( event.pos ):
self.genomeScreen[ 1 ] = min( 39, self.genomeScreen[ 1 ]+1 )
scheduler.py 文件源码
项目:pygame-event-calendar-and-pianobar
作者: scottpcrawford
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def __init__(self, screen):
self.done = False
self.screen = screen
self.clock = pg.time.Clock()
self.fps = 60
self.RADIO_STATION = '39' # or 1591330390268116913
self.BACKGROUND_IMG = 'img/bg/day_tree.png'
self.SCREEN_WIDTH = SCREEN_WIDTH
self.SCREEN_HEIGHT = SCREEN_HEIGHT
self.RADIO_RUNNING = False
self.RESTING = False
self.SHOWGOALS = False
self.grass = 'img/bg/day_grass.png'
self.day_clouds = pg.sprite.RenderUpdates()
self.night_clouds = pg.sprite.RenderUpdates()
self.all_sprites_list = pg.sprite.RenderUpdates()
self.quote_list = return_list('quotes.txt')
self.contributions = return_list('contributions.txt')
self.goals = return_list('goals.txt')
self.weather = Weather()
self.weather_observation = {}
self.phrase = random.choice(self.quote_list)
#self.cwd = os.getcwd() #windows
self.cwd = '/home/pi/.config/pianobar' # linux
## DAIYE COLORS ###
self.HEADER_COLOR = pg.Color('black')
self.CONTENT_COLOR = pg.Color('indianred4')
self.BG_COLOR = pg.Color('skyblue')
self.current_events = []
self.upcoming_events = []
# User events:
self.UPDATECALENDAR = pg.USEREVENT + 1
self.UPDATEQUOTE = pg.USEREVENT + 2
self.NIGHTRADIO = pg.USEREVENT + 3
self.CHANGESTATE = pg.USEREVENT + 4
self.UPDATEWEATHER = pg.USEREVENT + 5
#self.SHOWGOALS = pg.USEREVENT + 6
pg.time.set_timer(self.UPDATECALENDAR, 60000) #update calendar every 60 seconds
pg.time.set_timer(self.UPDATEQUOTE, 20000) #update quote every 20 seconds
pg.time.set_timer(self.NIGHTRADIO,300000) # check for relaxation radio time
pg.time.set_timer(self.UPDATEWEATHER, 600000)
pg.time.set_timer(self.CHANGESTATE, 300000)
#pg.time.set_timer(self.SHOWGOALS, 6000)
self.DAYGFX = load_gfx(os.path.join("img", "clouds", "day"))
self.NTGFX = load_gfx(os.path.join("img", "clouds", "night"))
self.BGIMG = load_gfx(os.path.join('img', 'bg'))
self.keymap_dict = {pg.K_n: 'n', pg.K_PLUS: '+', pg.K_KP_PLUS: '+', pg.K_EQUALS: '+', pg.K_MINUS: '-', pg.K_KP_MINUS: '-',
pg.K_p: 'p', pg.K_SPACE: 'p', pg.K_q: 'q', pg.K_r: 'r', pg.K_s: 's', pg.K_1: 's6\n', pg.K_2: 's4\n',
pg.K_3: 's15\n', pg.K_4: 's25\n', pg.K_5: 's48\n', pg.K_6: 's37\n', pg.K_7: 's52\n', pg.K_8: 's16\n'}
def get_input():
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.KEYUP and event.key == pygame.K_s:
state.falling[0] = False
if event.type == pygame.KEYUP and event.key == pygame.K_DOWN:
state.falling[1] = False
if event.type == pygame.KEYDOWN:
if state.state == "playing":
if event.key == pygame.K_p:
state.state = "paused"
if event.key == pygame.K_a:
if valid(state.X[0] - 1, state.Y[0], state.piece[0].form, 0):
state.X[0] -= 1
if event.key == pygame.K_d:
if valid(state.X[0] + 1, state.Y[0], state.piece[0].form, 0):
state.X[0] += 1
if event.key == pygame.K_LEFT:
if valid(state.X[1] - 1, state.Y[1], state.piece[1].form, 1):
state.X[1] -= 1
if event.key == pygame.K_RIGHT:
if valid(state.X[1] + 1, state.Y[1], state.piece[1].form, 1):
state.X[1] += 1
if event.key == pygame.K_w:
new_form = Polyomino.rotate_right(state.piece[0].form,
state.piece[0].size)
if valid(state.X[0], state.Y[0], new_form, 0):
state.piece[0].form = new_form
if event.key == pygame.K_UP:
new_form = Polyomino.rotate_right(state.piece[1].form,
state.piece[1].size)
if valid(state.X[1], state.Y[1], new_form, 1):
state.piece[1].form = new_form
if event.key == pygame.K_s:
state.falling[0] = True
if event.key == pygame.K_DOWN:
state.falling[1] = True
elif state.state == "paused":
if event.key == pygame.K_p:
state.state = "playing"
elif state.state == "entering high score":
if event.key == pygame.K_BACKSPACE and state.cursorpos > 0:
state.cursorpos -= 1
state.hiscores[state.scorepos][0] = \
state.hiscores[state.scorepos][0][:state.cursorpos]
elif event.key == pygame.K_RETURN:
scorefile = open("hiscores_duo.csv", "w")
writer = csv.writer(scorefile, dialect = csv.unix_dialect)
for row in state.hiscores:
writer.writerow(row)
scorefile.close()
state.start_game()
elif (event.unicode.isalpha() or event.key == pygame.K_SPACE) \
and state.cursorpos < INFO_WIDTH - 3 - len(str(state.score)):
state.hiscores[state.scorepos][0] = \
state.hiscores[state.scorepos][0][:state.cursorpos] \
+ event.unicode
state.cursorpos += 1
elif state.state == "lost":
if event.key in [pygame.K_SPACE, pygame.K_RETURN]:
state.start_game()
def get_input():
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.KEYUP and event.key == pygame.K_DOWN \
and state.state == "falling":
state.state = "playing"
if event.type == pygame.KEYDOWN:
if state.state == "playing":
if event.key == pygame.K_p:
state.state = "paused"
if event.key == pygame.K_LEFT:
if valid(state.X - 1, state.Y, state.piece.form):
state.X -= 1
if event.key == pygame.K_RIGHT:
if valid(state.X + 1, state.Y, state.piece.form):
state.X += 1
if event.key == pygame.K_UP or event.key == pygame.K_SPACE:
new_form = Polyomino.rotate_right(state.piece.form,
state.piece.size)
if valid(state.X, state.Y, new_form):
state.piece.form = new_form
if event.key == pygame.K_DOWN:
state.state = "falling"
elif state.state == "paused":
if event.key == pygame.K_p:
state.state = "playing"
elif state.state == "entering high score":
if event.key == pygame.K_BACKSPACE and state.cursorpos > 0:
state.cursorpos -= 1
state.hiscores[state.scorepos][0] = \
state.hiscores[state.scorepos][0][:state.cursorpos]
elif event.key == pygame.K_RETURN:
scorefile = open("hiscores.csv", "w")
writer = csv.writer(scorefile, dialect = csv.unix_dialect)
for row in state.hiscores:
writer.writerow(row)
scorefile.close()
state.start_game()
elif (event.unicode.isalpha() or event.key == pygame.K_SPACE) \
and state.cursorpos < INFO_WIDTH - 3 - len(str(state.score)):
state.hiscores[state.scorepos][0] = \
state.hiscores[state.scorepos][0][:state.cursorpos] \
+ event.unicode
state.cursorpos += 1
elif state.state == "lost":
if event.key in [pygame.K_SPACE, pygame.K_RETURN]:
state.start_game()
def keyboard_interaction():
global current_text_tag,last_time_text,animation_speed,NEXT_CRITICAL_ACTION
if IS_RASPBERRY:
check_hardware_buttons()
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
exit()
elif event.key == pygame.K_SPACE:
camera.save_frame(frameManager)
current_text_tag="scattato"
elif event.key == pygame.K_UP:
NEXT_CRITICAL_ACTION="changetosession"+str(frameManager.current_session+1)
current_text_tag="cambio sessione"
elif event.key == pygame.K_DOWN:
NEXT_CRITICAL_ACTION="changetosession"+str(frameManager.current_session-1)
current_text_tag="cambio sessione"
elif event.key == pygame.K_x:
frameManager.remove_frame()
current_text_tag="rimosso"
elif event.key == pygame.K_s:
NEXT_CRITICAL_ACTION="save"
current_text_tag="saving"
elif event.key == pygame.K_r:
camera.ruota()
elif event.key == pygame.K_DELETE:
frameManager.delete_all()
elif event.key == pygame.K_BACKSPACE:
frameManager.delete_current_scene()
elif event.key == pygame.K_p:
animation_speed/=2.0
if animation_speed<0.003125:
animation_speed=0.003125
elif event.key == pygame.K_o:
animation_speed*=2.0
if animation_speed>3.2:
animation_speed=3.2
else:
for n in range(10):
if event.key == pygame.__dict__["K_"+str(n)]:
nf=n-1
if nf<0:
nf=9
NEXT_CRITICAL_ACTION="changetosession"+str(nf)
current_text_tag="cambio sessione"
last_time_text=time.time()