class RtAgent(object): def __init__(self, conf): self.gb = GeneralBase(conf) self.app = App(conf) self.vod = Vod(conf) self.guide = Guide(conf) self.cat = Cat(conf) def interrupt(self): pass def accept(self, p, isnew = True): if p.get('_type') != 'normal': return if p.get('_device', '').lower() not in ['a11', 'a21', 'k72', 'k82', 'ud10a', 'ds70a', 'lx750a', 'lx755a', 'lx850a', 'lx960a', 'k91', 's31', 's51', 's61', 'e31', 'e62']: return if p.get('event') not in ['video_exit', 'app_start', 'launcher_vod_click', 'video_category_out']: return if isnew: if self.gb.run(p): self.app.run(p) self.vod.run(p) self.guide.run(p) self.cat.run(p) else: self.vod.run(p)
def __init__(self, age, rank, pelt, isAI=True, AIGroup=None, PlayerGroup=None): """ Constructor function """ pygame.sprite.Sprite.__init__(self) Cat.__init__(self, age, rank) self.isAI = isAI self.fur = pelt self.walking_frames_l = [] self.walking_frames_r = [] self.running_frames_l = [] self.running_frames_r = [] self.idle_frames_l = [] self.idle_frames_r = [] self.sit_frames_l = [] self.sit_frames_r = [] self.Display = None self.nameFont = pygame.font.SysFont('Comic Sans MS', 12) self.running = False self.jumping = False self.isAI = True
def run_game(): # инициализирует pygame, settings, экран pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) screen = pygame.display.set_mode((1000, 600)) pygame.display.set_caption("COVID-19 invasion") # создание кота cat = Cat(ai_settings, screen) # Создание вируса covid = Covid(ai_settings, screen) # храним группы пуль и группы вирусов bullets = Group() covids = Group() # создание флота gf.create_fleet(ai_settings, screen, covids) # тут цвет фона bg_color = (255, 255, 255) # основной цикл игры while True: # цикл заменить на доп функции gf.check_events(ai_settings, screen, cat, bullets) cat.update() bullets.update() gf.update_bullets(bullets) # gf.update_screen(ai_settings, screen, cat, covid, bullets) gf.update_screen(ai_settings, screen, cat, covids, bullets)
def __init__(self): """Initialize the game, and create game resources.""" pygame.init() self.settings = Settings() (width, height) = (self.settings.screen_width, self.settings.screen_height) self.screen = pygame.display.set_mode((width, height)) # (the pygame method get_rect() returns a Rect object from an image) pygame.display.set_caption("Cat Save Us!") # Create an instance to store game stats and create a scoreboard. self.stats = GameStats(self) self.sb = Scoreboard(self) self.cat = Cat(self) # ^^ The self argument here refers to the current instance of CatSaveUs. self.cat_face = Cat(self) self.bullets = pygame.sprite.Group() self.shock_waves = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self.stars = pygame.sprite.Group() self._create_starry_sky() self._create_fleet() # Make the Play button. self.play_button = Button(self, "Double Click to Play") bg_music = 'sounds/VenusHotline.wav' pygame.mixer.init() pygame.mixer.music.load(bg_music) pygame.mixer.music.play( -1) # the loop of -1 means this song will repeate indefinitely
def run_game(): pygame.init() settings = Settings() screen = pygame.display.set_mode( (settings.screen_width, settings.screen_height)) pygame.display.set_caption("Cat Vs Fish") cat = Cat(screen, settings) play_button = Button(screen, settings, "Play") game_stats = GameStat(settings) scoreboard = Scoreboard(screen, settings, game_stats) stones = Group() fishes = Group() gm.create_pool(screen, settings, fishes, cat) while True: gm.check_events(screen, settings, cat, stones, game_stats, play_button, fishes, scoreboard) if game_stats.game_active: cat.update() gm.update_stones(screen, settings, stones, fishes, cat, game_stats, scoreboard) gm.update_fishes(screen, settings, game_stats, fishes, stones, cat, scoreboard) gm.update_screen(screen, settings, cat, stones, fishes, play_button, game_stats, scoreboard)
def create_cat(ai_settings, screen, cats, cat_number, column_number): """Создает кота и размещает его в ряду.""" cat = Cat(ai_settings, screen) cat_height = cat.rect.height cat.y = cat_height + 2 * cat_height * cat_number cat.rect.y = cat.y cat.rect.x = ai_settings.screen_width - cat.rect.width - 2 * cat.rect.width * column_number cats.add(cat)
def init(self): ''' Initialize the game. ''' super(SpaceGame, self).init() Cat.load_sprite() self.cat = Cat(0, 0)
def make_cat(username, cat_name, hp = 20, skin = 0, dead = False): cat_name = str(cat_name).lower() cat = Cat(cat_name, skin, hp, dead) data = { 'cat': cat.to_array() } db = firestore.Client() db.collection(u'Users').document(username).set(data, merge=True) return cat
def new_cat(name): # let's get a name from the user print("Making a new cat!") sizes = ['small', 'medium', 'large'] pride = random.randint(10, 25) energy = random.randint(15, 20) size = random.choice(sizes) cat = Cat(name, pride, energy, size) cat.save()
def test_random(): names = [ 'Mr Whiskers', 'Lamp', '$$Money Bags$$', 'meowmeow', 'mirou', 'milo', 'spots', 'dog', 'llama', 'code', 'wars', 'stripes', 'dug', 'barf', "Jury", "Luk", "Bea", "Felix" ] for _ in range(40): name = names[randint(0, len(names) - 1)] cat = Cat(name) assert cat.speak() == name + " meows."
def test_cat_move(self): s1 = Station(1) s2 = Station(2) c = Cat(1, s1) s1.add_connection(s2) self.assertEqual(c.state, s1) c.action() self.assertEqual(c.state, s2) c.action() self.assertEqual(c.state, s1)
def cats(): if request.method == 'POST': cat_data = request.get_json() new_cat = Cat(cat_data['name'], cat_data['age'], cat_data['image']) print(Cat.all()) return json.dumps(new_cat.__dict__) else: cats = Cat.all() cats_json = [] for cat in cats: cats_json.append(json.dumps(cat.__dict__)) return jsonify({"cats": cats_json})
def test_fixed(): cat = Cat('Mr Whiskers') assert cat.speak() == 'Mr Whiskers meows.' cat = Cat('Lamp') assert cat.speak() == 'Lamp meows.' cat = Cat('$$Money Bags$$') assert cat.speak() == '$$Money Bags$$ meows.'
class TestCat(TestCase): def setUp(self): self.test_cat = Cat("Bubba", 3) self.test_cat_2 = Cat("Pickles", 12) def test_get_name(self): expected = "Bubba" actual = self.test_cat.get_name() self.assertEqual(expected, actual) def test_get_age(self): expected = 3 actual = self.test_cat.get_age() self.assertEqual(expected, actual)
def main(): cat_name = str(input('Enter the name of your cat: ')) cat1 = Cat(cat_name) while True: op = input(''' What should {} do? a) sleep b) eat something tasty c) watch a tv show E) EXIT Choose an option: '''.format(cat1.name)).lower() if op == 'a' : cat1.sleep() elif op == 'b' : cat1.eat() elif op == 'c' : cat1.watch_tv() elif op == 'e' : break else: print("That option does'nt appear on the menu, try again")
def __init__(self): self.root = Tk() self.cat = Cat() self.user = None self.client = None self.loggedIn = False self.processLock = Lock() self.processLock.acquire() #self.root.overrideredirect(1) self.productivityList = [] self.readList("./../Monitor/pList.txt") container = Frame(self.root, bd=5, relief=RAISED) container.pack(side="top", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) self.GUI = CatDisplay(container, self.cat, self.pauseMonitoring) self.mainFrame = display.MainFrame(container, self.productivityList, self.startMonitoring) self.loginFrame = LoginScreen(container, self.loginPage, self.register, self.mainFrame) self.GUI.grid(row=0, column=0, stick="nsew") self.mainFrame.grid(row=0, column=0, stick="nsew") self.loginFrame.grid(row=0, column=0, stick="nsew") self.loginFrame.tkraise() #self.mainFrame.tkraise() self.monitor = monitor.Monitor(self.productivityList) self.running = 1 self.thread1 = Thread(target=self.monitorProcesses) self.thread1.start() # Client thread self.thread2 = Thread(target=self.syncWithServer) self.thread2.start() self.root.protocol("WM_DELETE_WINDOW", self.onClosing) self.root.wm_attributes("-topmost", 1) self.xoffset = 0 self.yoffset = 0 self.root.bind('<Button-1>', self.clickWindow) self.root.bind('<B1-Motion>', self.dragWindow) self.root.mainloop()
def main(): tama = Cat(name='タマ', weight=10, favorite='マグロ') mike = Cat(name='ミケ', favorite='サンマ') print(tama.name + 'の体重:' + str(tama.weight) + 'kg') print(mike.name + 'の体重:' + str(mike.weight) + 'kg') tama.feed('マグロ') tama.feed('マグロ') tama.feed('マグロ') tama.feed('サンマ') mike.feed('マグロ') mike.feed('サンマ') print(tama.name + 'の体重:' + str(tama.weight) + 'kg') print(mike.name + 'の体重:' + str(mike.weight) + 'kg')
def run_game(): pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption('Alien Invasion') play_button = Button(ai_settings, screen, 'Play') stats = GameStats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) cat = Cat(screen) while True: gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button, cat)
def __init__(self): ''' generates all the objects necessary for the game ''' #init instance variables self.screen_size = (700, 500) self.path_size = 4000 self.ground_y = self.screen_size[1] * 0.9 self.init_time = None self.win_point = 3400 self.screen = pygame.display.set_mode(self.screen_size) self.romu = Cat(self, Cat.ROMU_PATH, [0, self.ground_y]) self.cactus_list = [] for i in range(1,9): cactus = Cactus(self, [420*i, self.ground_y]) self.cactus_list.append(cactus) number_of_trees = 24 self.trees_list = [] tree_width = self.path_size/number_of_trees for i in xrange(0,number_of_trees): tree = Tree(self, i, tree_width) self.trees_list.append(tree)
def load_cats(self): """ read cats from bc.json, create Cat objects and load them into self.cats. :return: None """ for cat in self.json_cats["cats"]: self.cats.append(Cat(cat))
def main(): home = Home() dog1 = Dog() dog2 = Dog() cat = Cat() dog1 = Dog("Rex", "barks") cat1 = Cat("Stormy", " meows") home.Adopt_pets(dog1) home.Adopt_pets(cat) home.Adopt_pets(dog2) home.makeAllSounds() print(home.pets[0].name) print(home.pets[1].name)
def run(): global player_1 global comp_1 while True: user_input = input(menu) if user_input == 'n': name = input("What is your cat's name? ") new_cat(name) elif user_input == 'u': cats = find_cats() cat_name = input("which cat would you like to use?\n{}\n".format(cats)) while (cat_name in cats) == False: print("{} was not found. Please select from the list: ".format(cat_name)) cat_name = input("which cat would you like to use?\n{}\n".format(cats)) player_1 = Cat.find_by_name(cat_name) print("You've chosen {}".format(player_1.name)) elif user_input == 'p': if player_1 == '': print("please select a cat first.") pass else: comp_1 = find_or_create('ComputerCat') print("Your cat is {}".format(player_1.name)) print("Your opponent is {}".format(comp_1.name)) playfight(comp_1, player_1) elif user_input == 'q': break else: user_input = input(menu)
def run(num_iterations, function, num_cats, MR, num_dimensions, v_max): num_seeking = (int)((MR * num_cats) / 100) best = sys.maxsize best_pos = None cat_population = [] behavior_pattern = CSO.generate_behavior(num_cats, num_seeking) for idx in range(num_cats): cat_population.append(Cat( behavior = behavior_pattern[idx], position = [random.uniform(-5, 5) for _ in range(num_dimensions)], velocities = [random.uniform(-v_max, v_max) for _ in range(num_dimensions)], vmax = v_max )) for _ in range(num_iterations): #evaluate for cat in cat_population: score, pos = cat.evaluate(function) if score < best: best = score best_pos = pos.copy() #apply behavior for cat in cat_population: cat.move(function, best_pos) #change behavior behavior_pattern = CSO.generate_behavior(num_cats, num_seeking) for idx, cat in enumerate(cat_population): cat.behavior = behavior_pattern[idx] return best, best_pos
def get_animal(self, animal_type): """Factory method for the Animal objects. Args: animal_type: instance of a str to identify the type. Returns: Initialised animal object. """ if animal_type is not None and type(animal_type) == str: animal_type = animal_type.lower() if animal_type is None: return NullAnimal() elif animal_type == "duck": self.__factory_objects += 1 return Duck() elif animal_type == "dog": self.__factory_objects += 1 return Dog() elif animal_type == "cat": self.__factory_objects += 1 return Cat() else: return NullAnimal()
def main(): ca = Cat('猫咪') # ca.eat() mou = Mouse('老鼠') # mou.eat() per = Person() per.feedcat(ca) per.feedmouse(mou)
def prep_cats(self): #show how many cats are left self.cats = Group() for cat_number in range(self.stats.cats_left): cat = Cat(self.cm_game) cat.rect.x = 10 + cat_number * cat.rect.width cat.rect.y = 10 self.cats.add(cat)
def get_cat(username): user = get_user(username) if user and 'cat' in user.keys(): cat_name = user['cat'][0] hp = user['cat'][1] skin = user['cat'][2] dead = user['cat'][3] return Cat(cat_name, skin, hp, dead) else: return False
def main(): objects = [] dog = Dog() objects.append(Adapter(dog, dict(make_noise=dog.bark))) cat = Cat() objects.append(Adapter(cat, dict(make_noise=cat.meow))) for obj in objects: print("A {0} goes {1}".format(obj.name, obj.make_noise()))
def scrape_adoptapet(zip_code): """ Scrape AdoptAPet.com for cats within 25 miles of a given zipcode. Returns a list of cat objects. """ print("Scraping AdoptAPet...") base_url = "https://ra-api.adoptapet.com/v1/pet-search/location/"\ "{zip_code}/georange/25/clan/2/?start={start}&limit=100" cats = [] # The API's max allowed `start` value is 481 and max `limit` is 100, hence # this list of starting indices for start_idx in [1, 101, 201, 301, 401, 481]: page = requests.get(base_url.format(zip_code=zip_code, start=start_idx)) data = page.json() if (not data.get('body') or not data['body'].get('pets') or not isinstance(data['body']['pets'], list)): print("Meow! Error in getting data fmor the adoptapet API.") return for entry in data["body"]["pets"]: cat = Cat() cat.age = entry.get("age") cat.pet_name = entry.get("petName") cat.sex = entry.get("sex") cat.image = entry.get("image") cat.hair_length = entry.get("hairLength") cat.pet_size = entry.get("size") cat.breed = entry.get("primaryFamilyName") if entry.get("detailsUrl"): cat.static_url = "https://adoptapet.com"\ + entry.get("detailsUrl") cats.append(cat) with ThreadPoolExecutor(max_workers=10) as executor: executor.map(scrape_adoptapet_cat_detail, cats) print("Found {} cats on AdoptAPet.".format(len(cats))) return cats
def main(): home = Home() dog1 = Dog() dog2 = Dog() cat = Cat() home.adopt_pet(dog1) home.adopt_pet(cat) home.adopt_pet(dog2) home.make_all_sounds() home.adopt_pet(dog2)
def listAllCats(self): cursor = self.cnx.cursor() query = ("SELECT * FROM cats") cursor.execute(query) cats = [] for (id, name, owner, birth) in cursor: cats.append(Cat(name, owner, birth)) cursor.close() return cats
def cat_detection(): input_image = "images/black_cat.jfif" catImg = Cat(input_image, catCascade) faces = catImg.detect_face() img = catImg.draw_rectangle(faces) blur(input_image, faces, 10) catImg.show_img(img)
def main(): CAT_START = [20, 10] MOUSE_START = [10, 10] NUM_STEPS = 200 puss = Cat(*CAT_START) muss = Mouse(*MOUSE_START) chase = Chase(puss, muss) chase.pursue(NUM_STEPS) chase.animate()
def __init__(self): """Initialize the game and create game resources""" pygame.init() self.settings = Settings() self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) self.settings.screen_width = self.screen.get_rect().width self.settings.screen_height = self.screen.get_rect().height pygame.display.set_caption("Macka Mouse Game") # Create an instance to store game statistics and create the scoreboard self.stats = GameStats(self) self.sb = Scoreboard(self) self.cat = Cat(self) self.cheeses = pygame.sprite.Group() self.mice = pygame.sprite.Group() self._create_pack() # Make the play button self.play_button = Button(self, "Play")
class SpaceGame(engine.Game): ''' A simple space game. ''' def __init__(self): ''' Constructor. ''' super(SpaceGame, self).__init__() self.cat = None self.left_pressed = False self.right_pressed = False self.up_pressed = False self.down_pressed = False def init(self): ''' Initialize the game. ''' super(SpaceGame, self).init() Cat.load_sprite() self.cat = Cat(0, 0) def step(self): ''' Update objects. ''' if self.left_pressed: self.cat.left() if self.right_pressed: self.cat.right() if self.up_pressed: self.cat.up() if self.down_pressed: self.cat.down() def render(self): ''' Draw objects. ''' surface = self.get_surface() surface.fill(engine.WHITE) self.cat.render(surface) def on_key_down(self, event): ''' A key is pushed down. ''' if event.key == K_LEFT: self.left_pressed = True elif event.key == K_RIGHT: self.right_pressed = True elif event.key == K_UP: self.up_pressed = True elif event.key == K_DOWN: self.down_pressed = True def on_key_up(self, event): ''' A key is released. ''' if event.key == K_ESCAPE: self.stop() elif event.key == K_LEFT: self.left_pressed = False elif event.key == K_RIGHT: self.right_pressed = False elif event.key == K_UP: self.up_pressed = False elif event.key == K_DOWN: self.down_pressed = False
from cat import Cat from dog import Dog import sys print("Are you a dog lover? (y/n)", end='') yn = sys.stdin.readline() if yn == "y\n": print("Nice! High-five!") dog = Dog() print(dog.say_something()) else: print("Fine, I guess you'll like this...") cat = Cat() print(cat.say_something())
def tearDown(self): self.obj = Cat(self.cat_id, self.initial_posn)
def __init__(self, conf): self.gb = GeneralBase(conf) self.app = App(conf) self.vod = Vod(conf) self.guide = Guide(conf) self.cat = Cat(conf)
class RomuGame: def __init__(self): ''' generates all the objects necessary for the game ''' #init instance variables self.screen_size = (700, 500) self.path_size = 4000 self.ground_y = self.screen_size[1] * 0.9 self.init_time = None self.win_point = 3400 self.screen = pygame.display.set_mode(self.screen_size) self.romu = Cat(self, Cat.ROMU_PATH, [0, self.ground_y]) self.cactus_list = [] for i in range(1,9): cactus = Cactus(self, [420*i, self.ground_y]) self.cactus_list.append(cactus) number_of_trees = 24 self.trees_list = [] tree_width = self.path_size/number_of_trees for i in xrange(0,number_of_trees): tree = Tree(self, i, tree_width) self.trees_list.append(tree) def run(self): self.show_start_frame(self.ground_y) self.start_game() def start_game(self): ''' runs the actual game ''' done = False clock = pygame.time.Clock() self.init_time = dt.datetime.now() while self.romu.is_alive() and not done and not self.romu.win(self.win_point): for event in pygame.event.get(): if event.type == pygame.QUIT: done = True self.romu.key_presses(pygame.key.get_pressed()) self.draw() clock.tick(20) if not self.romu.is_alive(): self.draw_game_over() if self.romu.win(self.win_point): self.draw_win_game_frame() def draw(self): ''' draws everything for the running game ''' cat_loc = self.romu.rect.centerx visible_x1 = max(0, cat_loc - self.screen.get_size()[0]/2) visible_x2 = min(self.path_size, cat_loc + self.screen.get_size()[0]/2) # heppens in the end of the path # then we should not move the sceen anymore if visible_x2 == self.path_size: visible_x1 = visible_x2 - self.screen.get_size()[0] #Clear the screen self.screen.fill(WHITE) #Draw everything self.draw_background(self.ground_y, visible_x1) self.draw_end(self.win_point-visible_x1) self.romu.update() self.romu.draw(self.screen, visible_x1) for cactus in self.cactus_list: cactus.draw(self.screen, visible_x1) self.romu.display_lives() self.display_time(dt.datetime.now()-self.init_time) pygame.display.flip() def draw_win_game_frame(self): ''' draws the animation after the user won the game ''' done = False clock = pygame.time.Clock() self.romu.set_location([self.win_point + 20, self.ground_y + 20]) minou = Cat(self, Cat.MINOU_PATH, [self.path_size-self.romu.rect.width, self.ground_y]) offset = 3300 clock = pygame.time.Clock() met = False # move romu and minou towards each other while not done and not met: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True self.draw_background(self.screen, self.ground_y) self.romu.moveTo(self.win_point+300-self.romu.rect.width) minou.moveTo(self.win_point+300) self.romu.update() self.romu.draw(self.screen, offset) minou.update() minou.draw(self.screen, offset) self.draw_end(self.win_point-offset) self.romu.display_lives() self.display_time(dt.datetime.now()-self.init_time) if abs(self.romu.rect.right - minou.rect.left) < self.romu.step_size: met = True pygame.display.flip() clock.tick(20) # after romu and minou met creat hearts and move them up as bubbles # also draw the Valentine's day message kiss_sound = pygame.mixer.Sound("resources/kiss.wav") kiss_sound.play() hearts_list = [] for i in range(0,15): hearts_list.append(Heart(self, [3600, 200, 200, 200])) while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True self.draw_background(self.screen, self.ground_y) self.romu.draw(self.screen, offset) minou.draw(self.screen, offset) self.draw_end(self.win_point-offset) self.romu.display_lives() self.display_time(dt.datetime.now()-self.init_time) # start_rect = [260, 70, 320, 110] # pygame.draw.rect(self.screen, WHITE, start_rect) # pygame.draw.rect(self.screen, RED, start_rect, 4) # font = pygame.font.Font(None, 30) # text = font.render(unicode("Tu as gagné mon cœur", 'utf-8'), True, RED) # self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[1] + 10]) # text = font.render("Je ne peux pas vivre sans toi", True, RED) # self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[1] + 45]) # text = font.render("Merci pour etre mon Valentine", True, RED) # self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[1] + 80]) for heart in hearts_list: heart.update() heart.draw(offset) pygame.display.flip() clock.tick(10) def draw_game_over(self): ''' draws a rectangle with the 'Game Over' messgae ''' x_margin = 5 y_margin = 20 done = False clock = pygame.time.Clock() while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True self.draw_background(self.screen, self.ground_y) start_rect = [130, 70, 445, 360] pygame.draw.rect(self.screen, WHITE, start_rect) pygame.draw.rect(self.screen, DARK_ORANGE, start_rect, 2) font = pygame.font.Font(None, 50) text = font.render("Game over :(((", True, DARK_ORANGE) self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[3]/2-text.get_size()[1]/2 + start_rect[1]]) pygame.display.flip() clock.tick(1) def draw_end(self, loc_x): ''' draws the dimond end sign ''' pointlist = [[loc_x-100, 200],[loc_x, 100],[loc_x +100, 200], [loc_x, 300]] pygame.draw.polygon(self.screen, YELLOW, pointlist) pygame.draw.polygon(self.screen, BLACK, pointlist, 3) font = pygame.font.Font(None, 60) text = font.render("END", True, BLACK) self.screen.blit(text, [loc_x - text.get_size()[0]/2, 200 - text.get_size()[1]/2]) pygame.draw.rect(self.screen, BLACK, [loc_x - 2, 300, 4, 150]) def show_start_frame(self, ground_y): ''' shows a flash screen in the beginning of the game countdown to start the game or hit 'ENTER' ''' clock = pygame.time.Clock() x_margin = 5 y_margin = 20 stop = False for wait in range(10, 0, -1): for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_RETURN: stop = True if stop: break self.draw_background(self.screen, self.ground_y) start_rect = [130, 70, 445, 360] pygame.draw.rect(self.screen, WHITE, start_rect) pygame.draw.rect(self.screen, DARK_ORANGE, start_rect, 2) y = start_rect[1] font = pygame.font.Font(None, 50) text = font.render("Welcome", True, DARK_ORANGE) self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], y + y_margin]) y +=text.get_size()[1] font = pygame.font.Font(None, 30) text = font.render("the world of the most advanturous cat", True, DARK_ORANGE) self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], y + y_margin]) y +=text.get_size()[1] font = pygame.font.Font(None, 50) text = font.render("Romu", True, DARK_ORANGE) self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2+ start_rect[0], y + y_margin]) y +=text.get_size()[1] self.romu.drawAt(self. screen, [start_rect[2]/2 - self.romu.rect.width/2+ start_rect[0], y+y_margin]) y += self.romu.rect.height font = pygame.font.Font(None, 50) text = font.render("Game starts in ", True, DARK_ORANGE) self.screen.blit(text, [start_rect[0] + x_margin, y + y_margin]) x_offset = text.get_size()[0] text = font.render(str(wait), True, DARK_GREEN) self.screen.blit(text, [start_rect[0] + x_margin + x_offset, y + y_margin]) x_offset += text.get_size()[0] text = font.render(" seconds", True, DARK_ORANGE) self.screen.blit(text, [start_rect[0] + x_margin + x_offset, y + y_margin]) pygame.display.flip() # one frame per second to correspond to countdown clock.tick(1) def display_time(self, time): ''' on the top info bar displays how much time passed after the game started ''' x_margin = 5 font = pygame.font.Font(None, 25) text = font.render("Time: " + str(time), True, DARK_ORANGE) self.screen.blit(text, [x_margin, x_margin]) def draw_background(self, ground_y, offset): ''' draws the background, info bar and the platform on which hero walks ''' screen_width = self.screen.get_size()[0] screen_height = self.screen.get_size()[1] # draw grass grass_height = screen_height - self.ground_y x = 0 y = self.ground_y width = screen_width height = grass_height pygame.draw.rect(self.screen, GRASS_COLOR, [x, y, width, height]) # draw sky x = 0 y = 0 width = screen_width height = self.ground_y pygame.draw.rect(self.screen, SKY_COLOR, [x, y, width, height]) # draw trees for tree in self.trees_list: tree.draw(offset) # draw info bar x = 0 y = 0 width = screen_width height = 30 pygame.draw.rect(self.screen, WHITE, [x, y, width, height])
def draw_win_game_frame(self): ''' draws the animation after the user won the game ''' done = False clock = pygame.time.Clock() self.romu.set_location([self.win_point + 20, self.ground_y + 20]) minou = Cat(self, Cat.MINOU_PATH, [self.path_size-self.romu.rect.width, self.ground_y]) offset = 3300 clock = pygame.time.Clock() met = False # move romu and minou towards each other while not done and not met: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True self.draw_background(self.screen, self.ground_y) self.romu.moveTo(self.win_point+300-self.romu.rect.width) minou.moveTo(self.win_point+300) self.romu.update() self.romu.draw(self.screen, offset) minou.update() minou.draw(self.screen, offset) self.draw_end(self.win_point-offset) self.romu.display_lives() self.display_time(dt.datetime.now()-self.init_time) if abs(self.romu.rect.right - minou.rect.left) < self.romu.step_size: met = True pygame.display.flip() clock.tick(20) # after romu and minou met creat hearts and move them up as bubbles # also draw the Valentine's day message kiss_sound = pygame.mixer.Sound("resources/kiss.wav") kiss_sound.play() hearts_list = [] for i in range(0,15): hearts_list.append(Heart(self, [3600, 200, 200, 200])) while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True self.draw_background(self.screen, self.ground_y) self.romu.draw(self.screen, offset) minou.draw(self.screen, offset) self.draw_end(self.win_point-offset) self.romu.display_lives() self.display_time(dt.datetime.now()-self.init_time) # start_rect = [260, 70, 320, 110] # pygame.draw.rect(self.screen, WHITE, start_rect) # pygame.draw.rect(self.screen, RED, start_rect, 4) # font = pygame.font.Font(None, 30) # text = font.render(unicode("Tu as gagné mon cœur", 'utf-8'), True, RED) # self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[1] + 10]) # text = font.render("Je ne peux pas vivre sans toi", True, RED) # self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[1] + 45]) # text = font.render("Merci pour etre mon Valentine", True, RED) # self.screen.blit(text, [start_rect[2]/2-text.get_size()[0]/2 + start_rect[0], start_rect[1] + 80]) for heart in hearts_list: heart.update() heart.draw(offset) pygame.display.flip() clock.tick(10)
class TestCat(unittest.TestCase): def setUp(self): self.cat_id = 1 self.initial_posn = 1 self.obj = Cat(self.cat_id, self.initial_posn) def tearDown(self): self.obj = Cat(self.cat_id, self.initial_posn) def test_get_current_position(self): self.assertEqual(self.obj.get_current_position(), self.initial_posn) def test_set_cat_move_found(self): edges = {self.initial_posn: [2, 3, 4]} self.obj.found = True self.obj.move(edges) self.assertEqual(self.obj.get_current_position(), self.initial_posn) def test_set_cat_move_trapped(self): edges = {self.initial_posn: [2, 3, 4]} self.obj.trapped = True self.obj.move(edges) self.assertEqual(self.obj.get_current_position(), self.initial_posn) def test_set_cat_move_not_trapped(self): edges = [2, 3, 4] self.obj.move(edges) self.assertFalse(self.obj.trapped) @mock.patch('cat.random') def test_cat_new_position(self, random_mock): edges = [2, 3, 4] random_mock.choice.return_value = edges[1] self.obj.move(edges) self.assertEqual(self.obj.get_current_position(), edges[1]) def test_cat_trapped_no_edges(self): edges = [] self.obj.move(edges) self.assertTrue(self.obj.trapped)
def setUp(self): self.cat_id = 1 self.initial_posn = 1 self.obj = Cat(self.cat_id, self.initial_posn)
from cat import Cat name = raw_input("Please enter your name: ") friendly_cat = Cat(name) friendly_cat.greet()
sys.path.append('../models') from recruiter import Rec from job import Job from jobseeker import JobSeeker from loc import Location from cat import Cat from company import Company from history import History for l in [ 'Delhi', 'Bangalore', 'Mumbai', 'Pune', 'Hyderabad' ]: loc = Location(l) loc.save() for c in [ 'IT/Hardware', 'IT/Software', 'Sales', 'Marketing', 'Finance', 'Management', 'ITES' ]: cat = Cat(c) cat.save() for c in [ 'ABC', 'XYZ' ]: co = Company(c) co.save() r = Rec(fname='Ashish',lname='Mukherjee',password='******',email='*****@*****.**', cpny_id = 1) r.save() j = Job(job_code = 'SSE - 1000',loc_id=1,title = 'Senior Software Engineer - Java',descr = 'Seeking mid-level Java programmer',kw = 'java',rec_id = 1,cat_id = 1,cpny_id = 1) j.save() j = JobSeeker(fname = 'Ashish', lname = 'Mukherjee', email = '*****@*****.**', phone = '8800199033', title = 'Experienced Java Engineer', resume = 'AshishMukherjee.doc', loc_id = 1, cat_id = 1, kw = 'Java', vdo = '') j.save()
def fval(self): if self._val is None: self._val = Cat.parse(self.cat) return self._val