Example #1
0
 def get_player_party(self, count=3):
     """Return player party."""
     ui = self.ui
     party = []
     for i in range(1, count + 1, 1):
         charName = input(f"Enter player {i} Name:")
         if len(charName) <= 0:
             ui.print_error("You must enter at least 1 character")
         else:
             # Create party member
             mbr = Person({
                 "name": charName,
                 "hp": 500,
                 "mp": 70,
                 "attack": 45,
                 "defense": 40,
                 "spells": self.spellList
             })
             mbr.action = ["Attack", "Magic", "Item"]
             # Fill party mbr's inventory
             for item in self.itemList:
                 mbr.add_item(item, 5)
             # Add party mbr to player party
             self.add_party_member(party, mbr)
     return party
Example #2
0
    def test_ui_print_hpmp(self):
        """ui.print_hpmp prints to a string console."""
        def write(value):
            return value

        player = Person("test0", 200, 100, 10, 10, [], [])
        enemy = Person("test1", 200, 100, 10, 10, [], [])
        self.assertEqual(type(self.ui.print_hpmp(player, enemy, write)), str,
                         "Does not print a string.")
Example #3
0
    def init_town(self):
        solo_key = 0

        random.seed()
        for home in self.city.get_houses():
            inhabitants = []
            chance = random.random()

            # matrimony
            if chance < 0.6:
                # ages
                wife_age = random.randrange(14, 28)
                husband_age = random.randrange(18, 38)

                # keys & people
                w, h = "{}a".format(self.total_marriages), "{}b".format(
                    self.total_marriages)
                wife = Person(None,
                              w,
                              self,
                              house=home,
                              sex='f',
                              age=wife_age,
                              married=True,
                              emancipated=True,
                              independent=True)
                husband = Person(None,
                                 h,
                                 self,
                                 house=home,
                                 sex='m',
                                 age=husband_age,
                                 married=True,
                                 emancipated=True,
                                 independent=True)

                self.marry(wife, husband, assigned_home=home)

            # roommates
            elif chance < 0.8:
                no_inhabitants = random.randint(2, 5)
                age_lowest = random.randrange(15, 50)
                sex = 'f' if random.random() < 0.4 else 'm'
                for _ in range(no_inhabitants):
                    age = random.randint(age_lowest, age_lowest + 10)
                    key = "{}s".format(solo_key)
                    inhabitant = Person(None,
                                        key,
                                        self,
                                        house=home,
                                        sex=sex,
                                        age=age)
                    inhabitants.append(inhabitant)
                    solo_key += 1
                home.add_people(inhabitants)
Example #4
0
    def populate(self):
        # Create people
        building_capacity = (
            FLOORS -
            1) * FLOOR_CAPACITY  # -1 because floor 0 is not a valid home floor
        people_slots = random.sample(
            range(building_capacity),
            math.ceil(building_capacity * BUILDING_FULLNESS))

        for ps in people_slots:
            home_floor = math.floor(
                ps /
                FLOOR_CAPACITY) + 1  # +1 because 0 is not a valid home floor
            entry_time = MEAN_ENTRY_TIME + timedelta(
                minutes=np.random.normal(0, 30))
            to_lunch_time = MEAN_TO_LUNCH_TIME + timedelta(
                minutes=np.random.normal(0, 30))
            from_lunch_time = to_lunch_time + timedelta(
                minutes=MEAN_LUNCH_TIME) + timedelta(
                    minutes=np.random.normal(0, 5))
            leave_time = MEAN_LEAVE_TIME + timedelta(
                minutes=np.random.normal(0, 30))

            self.people.append(
                Person(ps, home_floor, entry_time, to_lunch_time,
                       from_lunch_time, leave_time))
Example #5
0
def updateRecord(db, form):
    # try:
    #     key = form['key']
    #     record = db[key]
    #     for field in record:
    #         record[field] = form[field]
    #     fields = record.__dict__
    #     fields['key'] = key
    # except:
    #     fields = dict.fromkeys(fieldnames, '?')
    #     fields['key'] = 'Missing a key or just the record doesn\'t exist. You can try an another key.'
    if not 'key' in form:
        fields = dict.fromkeys(fieldnames, '?')
        fields['key'] = 'Missing key input.'
    else:
        key = form['key'].value

    if key in db:
        record = db[key]  # изменить существующую запись
    else:
        #from sys.modules import db  # создать/сохранить новую
        from classes.person import Person  # создать/сохранить новую
        record = Person(name='?', age='?')  # eval: строки должны быть
    # заключены в кавычки
    for field in fieldnames:
        setattr(record, field, eval(repr(form[field].value)))
    db[key] = record
    fields = record.__dict__
    fields['key'] = key
    return fields
Example #6
0
def write_people_db(list_name, list_2, credentials=CREDENTIALS):
    people_1 = []
    people_2 = []
    for obj in list_2:
        people_2.append(obj.drink_id)
    counter = 0
    connection = pymysql.connect(**credentials)
    cursor = connection.cursor()
    cursor.execute("SELECT person_name, age, favourite_drink_id FROM person")
    rows = cursor.fetchall()
    for row in rows:
        person = Person(row[0], row[1])
        people_1.append(person)
    for person in list_name:
        counter += 1
        person_found = False
        for person_1 in people_1:
            if person.name == person_1.name:
                person_found = True
        if person_found == False:
            connection = pymysql.connect(**credentials)
            cursor = connection.cursor()
            cursor.execute(
                f"INSERT INTO person(person_name, age, favourite_drink_id) values ('{person.name}', '{person.age}', '{people_2[counter-1]}')"
            )
            connection.commit()
Example #7
0
 def get_enemy_party(self, count=3):
     """Return ."""
     party = []
     for i in range(1, count + 1, 1):
         enemy = Person({
             "name": f"S******d {i}",
             "hp": 500,
             "mp": 70,
             "attack": 45,
             "defense": 40,
             "spells": self.spellList
         })
         enemy.action = ["Attack", "Magic", "Item"]
         for item in self.itemList:
             enemy.add_item(item, 5)
         self.add_party_member(party, enemy)
     return party
def read_database_people(list_name, credentials=CREDENTIALS):
    connection = pymysql.connect(**credentials)
    cursor = connection.cursor()
    cursor.execute("SELECT person_name, age, favourite_drink_id FROM person")
    rows = cursor.fetchall()
    for row in rows:
        person = Person(row[0], row[1])
        list_name.append(person)
    cursor.close()
    connection.close()
    return list_name
Example #9
0
def main():

    # Create an empty array.
    PersonList = []

    # Create some objects from the Person class
    person1 = Person(input('Enter a persons name: '))
    person2 = Person(input('Enter a persons name: '))
    person3 = Person(input('Enter a persons name: '))

    # Add each person object to the PersonList array
    PersonList.append(person1)
    PersonList.append(person2)
    PersonList.append(person3)

    # Check the length of the array. str() converts the number to a string
    print('The length of the array is: ' + str(len(PersonList)))

    # Get the name of the people we just created using a for loop and calling
    # the getName method from the Person class
    for items in PersonList:
        print(items.name)
Example #10
0
 def create_players(enemy_names):
     """Create players - humans and computers"""
     while True:
         man_vs_bot = Game.choose_mode(
         )  # True if in mode players vs computers
         num_player = input(
             colored("Number of players (1-5, or * to go back): ",
                     color=Color.command))
         if num_player == '*' or not_number(num_player):
             continue
         Database.num_player = int(num_player)
         if Database.num_player > 5 or Database.num_player < 1:
             print(
                 "The game can only have 1-5 players. Please enter the number of players again.\n"
             )
             continue
         break
     print("Please enter the name(s) of player(s)")
     for i in range(Database.num_player):
         text = colored(f"Player {i + 1}: ", Color.command)
         if man_vs_bot:  # Players vs computers mode
             Database.players.append(
                 Person(name=input(text).capitalize(), human_mode=True))
         else:  # Player + computer vs computers mode
             if i == 0:
                 Database.players.append(
                     Person(name=input(text).capitalize(), human_mode=True))
             elif i > 0:
                 Database.players.append(
                     Person(
                         name=input(text).capitalize(),
                         human_mode=False,
                         human_team=True,
                     ))
         Database.computers.append(
             Person(name=enemy_names[i], human_mode=False,
                    human_team=False))
 def _cam_humans_2_person_list(self, humansFromCam):
     new_person_list = []
     for cam_person in humansFromCam.humanList:
         detected_person = Person()
         #TODO: is the camera id the one we assume for the person? How we update this?
         detected_person.person_id = cam_person.id
         detected_person.confidence = cam_person.confidence
         detected_person.cameras.append(humansFromCam.idCamera)
         detected_person.initialice_tracker(
             Position2D(cam_person.pos.x, cam_person.pos.z))
         new_person_list.append(detected_person)
     return new_person_list
Example #12
0
    def setup(cls, people_count, grid_width, grid_height):
        '''constructs an instance of Simulator'''

        # construct grid and gateway
        cls.grid = Grid(grid_width, grid_height)
        cls.gateway = Gateway()

        # construct arbitrary luminaire grid
        cls.luminaires = []
        (grid_height, grid_width) = cls.grid.get_dimensions()

        lum_no = 0
        for x in range(1, grid_height - 1, 2):
            for y in range(1, grid_width - 1, 2):

                # generate name for the luminaire
                lum_name = 'lum' + str(lum_no)

                lum = Luminaire(x, y, lum_name)
                cls.luminaires.append(lum)
                lum_no = lum_no + 1

        # construct people and place them randomly
        cls.people = []
        for count in range(people_count):
            person_x = randint(0, grid_height - 1)
            person_y = randint(0, grid_width - 1)
            person = Person(person_x, person_y)
            cls.people.append(person)

        # add luminaires to grid, gateway
        for luminaire in cls.luminaires:
            cls.grid.add_luminaire(luminaire)
            cls.gateway.add_luminaire(luminaire)

        # start event listener
        cls.gateway.start_gateway_thread()

        # add people to grid
        for person in cls.people:
            cls.grid.add_person(person)
        cls.grid.track_people()
Example #13
0
def register_page_config(request):
    if request.method == 'GET':
        listTitle = GetTitleList()
        listAccount = GetAccountTypeList()
        return render_template('register.html', listTitle=listTitle, listAccount=listAccount, info=' ')
    else:
        if 'register' in request.form:
            PersonProvider = person_operations()
            first_name = request.form['firstName']
            last_name = request.form['lastName']
            eMail = request.form['eMail']
            p = PersonProvider.GetPerson(eMail)
            error = "'"+eMail+"'" + ' is already in use. Do you forget your password?'
            if p is not None:
                listTitle = GetTitleList()
                listAccount = GetAccountTypeList()
                return render_template('register.html', listTitle=listTitle, listAccount=listAccount, info=error)
            pswd = pwd_context.encrypt(request.form['pswd'])
            accountType = request.form['account']
            title = request.form['title']
            file = request.files['file']
            gender = request.form['r1']
            if gender == 'male':
                gender = False
            elif gender == 'female':
                gender = True
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join('static/user_images', filename))
            else:
                if gender == 'male':
                    filename = 'noimage_male.jpg'
                else:
                    filename = 'noimage_female.jpg'
            p = Person(None, first_name, last_name, accountType, eMail, pswd, gender, title, filename, False)
            u = User(eMail, pswd)
            PersonProvider.AddPerson(p)
            AddUser(u)
            return redirect(url_for('site.login_page', info=' '))
 def recursive_camera_clique(self, cameras_data_array):
     cam_pairs = chunks(cameras_data_array, 2)
     new_camera_array = []
     for pair in cam_pairs:
         if len(pair) == 2:
             # create virtual cam with all the persons from both cams
             virtual_cam = CameraFrame()
             # calculate mathing persons with click
             humans1 = pair[0].person_list
             humans2 = pair[1].person_list
             virtual_human_list = humans1 + humans2
             max_clique, matching_graph = calculate_clique_matching(
                 humans1, humans2)
             for node_id in max_clique:
                 if node_id in matching_graph.nodes:
                     node = matching_graph.nodes[node_id]
                     first_person = node["person1"]
                     second_person = node["person2"]
                     logger.debug(
                         "Node %s relates %d in with %d. Merging positions (%d, %d) to (%d, %d)",
                         node_id, first_person.person_id,
                         second_person.person_id, first_person.pos.x,
                         first_person.pos.y, second_person.pos.x,
                         second_person.pos.y)
                     new_person = Person.merge(first_person, second_person)
                     # new_person.color =
                     if first_person in virtual_human_list:
                         virtual_human_list.remove(first_person)
                     if second_person in virtual_human_list:
                         virtual_human_list.remove(second_person)
                     virtual_human_list.append(new_person)
             virtual_cam.person_list = virtual_human_list
             new_camera_array.append(virtual_cam)
         else:
             new_camera_array.append(pair[0])
     if len(new_camera_array) > 1:
         return self.recursive_camera_clique(new_camera_array)
     else:
         return new_camera_array[0]
 def from_ice_struct(humansFromCam):
     # 	struct humansDetected
     # 	{
     # 		 int idCamera;
     #          long timeStamp;
     # 		 personList humanList;
     # 	};
     new_camera_frame = CameraFrame()
     new_camera_frame.id_camera = humansFromCam.idCamera
     new_camera_frame.timestamp = humansFromCam.timeStamp
     new_camera_frame.person_list = []
     for cam_person in humansFromCam.humanList:
         detected_person = Person()
         # TODO: is the camera id the one we assume for the person? How we update this?
         detected_person.person_id = cam_person.id
         detected_person.confidence = cam_person.pos.confidence
         detected_person.cameras.append(humansFromCam.idCamera)
         detected_person.initialice_tracker(Position2D(cam_person.pos.x, cam_person.pos.z))
         new_camera_frame.person_list.append(detected_person)
     return new_camera_frame
Example #16
0
from classes.person import Person
from classes.computer import Computer

print 'Welcome to four number game!'
print 'Wanna guess a number or let the computer guess?'
try:
    option = raw_input('Choose 1 or 2 respectively: ')
    if option == '1':
        person = Person()
        person.begin()
    elif option == '2':
        computer = Computer()
        computer.begin()
    else:
        print 'Bad option. Try again!'
except KeyboardInterrupt:
    print '\nBye'
Example #17
0
from classes.student import Student
from classes.person import Person

pappu = Student("Pappu", 7)
print(pappu)
pappu = Student("Pappu", grade=7)
print(pappu)
print(pappu.whoami)

munnu = Person("Munnu")

print(munnu)
print(munnu.name)

print(munnu.whoami)
# print(pappu.name)
Example #18
0
import unittest
from classes.person import Person, make_person


class MakePerson(unittest.TestCase):
    '''Tests the make person function.'''
    def test_store_person(self):
        """Test that a single response is stored properly."""
        tests = []
        make_person(tests)
        for person in tests:
            self.assertEqual(person.name, new_person.name)


new_person = Person('bob', 32)

if __name__ == '__main__':
    unittest.main()
Example #19
0

# get string and make a audio file to be played
def speak(audio_string):
    tts = gTTS(text=audio_string, lang='en')  # text to speech(voice)
    r = randint(1, 20000000)
    audio_file = 'audio' + str(r) + '.mp3'
    tts.save(audio_file)  # save as mp3
    # print what app said
    print(f"{bcolors.RED}Emma:{bcolors.END} {audio_string}")
    playsound(audio_file)  # play the audio file
    os.remove(audio_file)  # remove audio file


# starting point
person_obj = Person()
notification_obj = ToastNotifier()
os.system('color')  # makes terminal to recognize the colors

# shows notification of program's activation
notification_obj.show_toast(title="Emma Virtual Assistant",
                            msg="Emma has activated",
                            icon_path="favicon.ico",
                            duration=5)

print(
    f"\n{bcolors.RED}Emma:{bcolors.END} How can I help you?")  # The first line
playsound(r'sounds\starting_line.mp3')  # says "How can I help you"
while (1):
    voice_data = record_audio()  # get the voice input
Example #20
0
}, {
    "item": hipotion,
    "quantity": 5
}, {
    "item": superpotion,
    "quantity": 5
}, {
    "item": elixer,
    "quantity": 2
}, {
    "item": grenade,
    "quantity": 5
}]

# Initialize players
player1 = Person("Matan", 70, 65, 60, 34, player_spells, player_items)
player2 = Person("Netta", 1500, 65, 60, 34, player_spells, player_items)
player3 = Person("Omer", 2000, 65, 60, 34, player_spells, player_items)
players = [player1, player2, player3]

# Initialize enemies
enemy1 = Person("Enemy1", 1200, 65, 20, 25, player_spells, [])
enemy2 = Person("Enemy2", 1500, 65, 45, 25, player_spells, [])
enemy3 = Person("Enemy3", 1800, 65, 50, 25, player_spells, [])
enemies = [enemy1, enemy2, enemy3]

runnig = True

while runnig:
    print('==========================================')
    for index, player in enumerate(players):
Example #21
0
}, {
    "name": "jack",
    "value": 10
}, {
    "name": "queen",
    "value": 10
}, {
    "name": "king",
    "value": 10
}]
kind = ["Hearts", "Clubs", "Diamonds", "Spades"]

# cards = list(range(1, 53))
cards = Cards(name, kind).shuffle_deck()

player = Person("player", "", 0, 0)
dealer = Person("dealer", "", 0, 0)

print("this is the game of blackjack")
wanna_play = input("do you wanna proceed? (y/n): ")
running = True

cards_value = 0

while running:
    dealer.value_sum = 0
    dealer.cards_holding = ''
    player.value_sum = 0
    player.cards_holding = ''
    dealers_turn = False
    if wanna_play == "y":
Example #22
0
def read_from_file_1(file_name, list_name):
    with open(file_name, 'r+') as csvfile:
       new_thing = csv.reader(csvfile, delimiter= ' ')
       for row in new_thing:
           person = Person(row[0], row[1])
           list_name.append(person)
Example #23
0
 def test_object_of(self):
     obj = Person("first", "last", "SD-ID")
     self.assertTrue(type(obj) is Person) 
Example #24
0
from classes.game import rolar_dados
from classes.game import values_for_enemy
from classes.person import Person
from classes.battle import Battle

# print(rolar_dados(20))

easy = 10  # 3
medium = 15  # 5
hard = 25  # 15
extreme = 40  # 30
boss = 100  # 50

player = Person("Jose Oswaldo", *values_for_enemy(easy))

enemy = Person("Brutus", *values_for_enemy(easy))

battle1 = Battle(player, enemy)

battle1.rounds()