All pastes #147081 Raw Edit

Mine

public python v1 · immutable
#147081 ·published 2006-08-24 03:14 UTC
rendered paste body
import pygame, input, sprite"""Generic character classHAY ANDY D;O"""class Character(object):		def __init__(self, x, y):				self.speed_h  = 0 # Horizontal velocity		self.speed_v  = 0 # Vertical velocity		self.grounded = 0 # Whether or not on the ground				# Set sprite coords (only works with subclass)		self.sprite.rect.x, self.sprite.rect.y = x, y			def update(self):			# Left movement		if self.move_left() and not self.move_right():						# Update horizontal speed			self.speed_h = max(self.speed_h - 3, -50)						# Change, mirror sprite if newly moving or wrongfully skidding			if range(-3, 0).count(self.speed_h) or \			(self.sprite.status == 'skidding' and self.speed_h < 0):				self.sprite.mirror = 1				if self.grounded:					self.sprite.set_status('running')						# Skid sprite			elif self.speed_h > 0 and self.grounded:				self.sprite.set_status('skidding')		# Right movement		elif self.move_right() and not self.move_left():						# Update horizontal speed			self.speed_h = min(self.speed_h + 3, 50)						# Change, mirror sprite if newly moving or wrongfully skidding			if range(1, 4).count(self.speed_h) or \			(self.sprite.status == 'skidding' and self.speed_h > 0):				self.sprite.mirror = 0				if self.grounded:					self.sprite.set_status('running')								# Skid sprite			elif self.speed_h < 0 and self.grounded:				self.sprite.set_status('skidding')						# Skip if stopped		if self.speed_h != 0:						# Move sprite, accounting for friction			self.speed_h += [1, -1][self.speed_h > 0]			self.sprite.rect.x += (self.speed_h / 5)						# Change sprite if stopped			if self.speed_h == 0 and self.grounded:				self.sprite.set_status('idle')						# In the air		if not self.grounded:						# Update vertical speed and move			self.speed_v += 1			self.sprite.rect.y += self.speed_v						# Change sprite to landing			if self.speed_v > 0 and self.sprite.status != 'landing':				self.sprite.set_status('landing')						# On the ground		elif self.do_jump():						# Update vertical speed and unground			self.speed_v, self.grounded = -10, 0						# Change sprite			self.sprite.set_status('jumping')		# Update sprite		self.sprite.update()			def draw(self, screen):				# Draw sprite		self.sprite.draw(screen)	def move_left(self): return 0	def move_right(self): return 0	def do_jump(self): return 0		"""Player class"""		class Player(Character):		def __init__(self, x, y):		# Load 'player' sprite		self.sprite = sprite.CharacterSprite('player')				# Call superclass		super(Player, self).__init__(x, y)	def move_left(self):				# Left arrow key		return input.down(pygame.K_LEFT)			def move_right(self):				# Right arrow key		return input.down(pygame.K_RIGHT)			def do_jump(self):				# Space bar		return input.trigger(pygame.K_SPACE)