示例#1
0
文件: rta.py 项目: ahua/python
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)
示例#2
0
 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
示例#3
0
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)
示例#4
0
    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
示例#5
0
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)
示例#7
0
    def init(self):
        '''
        Initialize the game.
        '''
        super(SpaceGame, self).init()

        Cat.load_sprite()
        self.cat = Cat(0, 0)
示例#8
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
示例#9
0
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()
示例#10
0
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."
示例#11
0
    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)
示例#12
0
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})
示例#13
0
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)
示例#15
0
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")
示例#16
0
    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()
示例#17
0
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')
示例#18
0
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)
示例#19
0
	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)
示例#20
0
文件: bc.py 项目: denkwong/bc
 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))
示例#21
0
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)
    
示例#22
0
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)
示例#23
0
	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
示例#24
0
    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()
示例#25
0
def main():
    ca = Cat('猫咪')
    # ca.eat()
    mou = Mouse('老鼠')
    # mou.eat()
    per = Person()
    per.feedcat(ca)
    per.feedmouse(mou)
示例#26
0
 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)
示例#27
0
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
示例#28
0
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()))
示例#29
0
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
示例#30
0
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)
示例#31
0
    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
示例#32
0
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)
示例#33
0
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()
示例#34
0
    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")
示例#35
0
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
示例#36
0
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())
    
示例#37
0
	def tearDown(self):
		self.obj = Cat(self.cat_id, self.initial_posn)
示例#38
0
文件: rta.py 项目: ahua/python
 def __init__(self, conf):
     self.gb = GeneralBase(conf)
     self.app = App(conf)
     self.vod = Vod(conf)
     self.guide = Guide(conf)
     self.cat = Cat(conf)
示例#39
0
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])
示例#40
0
	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)
示例#41
0
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)
示例#42
0
	def setUp(self):
		self.cat_id = 1
		self.initial_posn = 1
		self.obj = Cat(self.cat_id, self.initial_posn)
示例#43
0
from cat import Cat
name = raw_input("Please enter your name: ")
friendly_cat = Cat(name)
friendly_cat.greet()
示例#44
0
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()
示例#45
0
 def fval(self):
   if self._val is None:
     self._val = Cat.parse(self.cat)
   return self._val