Esempio n. 1
0
    def __init__(self, player1_is_ai=True, player2_is_ai=True):
        """
        Purpose:
            Creates a game instance with a board and all the pieces
        Pre-Conditions:
            :param player1_is_ai: Whether or not player 1 is an AI
            :param player2_is_ai: Whether or not player 2 is an AI
        Return:
            :return: A new game state
        """

        # Initializing the starting game board
        self.board = Board()  # The game board
        self.parent = None  # The previous board state
        Queen(self.board, 3, 5)  # Place Queen at top center
        Dragon(self.board, 2, 4)  # Three Dragons in front of the queen
        Dragon(self.board, 3, 4)
        Dragon(self.board, 4, 4)
        Wight(self.board, 1, 1)  # Wight's all along the bottom row
        Wight(self.board, 2, 1)
        Wight(self.board, 3, 1)
        Wight(self.board, 4, 1)
        Wight(self.board, 5, 1)

        self.player = 2  # Player whose turn it is

        #Checking whether the game is in AI mode or not.
        if player1_is_ai:
            self.ai1 = AI()
        else:
            self.ai1 = None

        if player2_is_ai:
            self.ai2 = AI()
        else:
            self.ai2 = None
Esempio n. 2
0
def enter():
    global ground
    ground = Ground(0)
    game_world.add_object(ground, 0)

    global eru
    eru = Eru()
    game_world.add_object(eru, 1)

    global bullets
    game_world.add_objects(bullets, 1)

    global dragons
    dragons = [Dragon(i, eru.stage_level) for i in range(5)]
    game_world.add_objects(dragons, 1)
Esempio n. 3
0
def generateFoes(hero):
    monsters = []
    number_of_monsters = int(
        raw_input("Welcome %s, how many monsters will you fight?\n> " %
                  (hero.name)))
    for i in range(number_of_monsters):
        random_int = random.randint(1, 3)
        if random_int == 1:
            monsters.append(Goblin())
        elif random_int == 2:
            monsters.append(Vampire())
        elif random_int == 3:
            monsters.append(Dragon())

    return monsters
Esempio n. 4
0
def update():
    global dragons, boss, record, fire_timer, fireball

    if fire_timer >= 800 - eru.stage_level * 100:
        fireball = FireBall()
        game_world.add_object(fireball, 1)
        fire_timer = 0

    else:
        fire_timer += 1

    if len(dragons) <= 0 and eru.stage_level < 4:
        dragons = [Dragon(i, eru.stage_level) for i in range(5)]
        game_world.add_objects(dragons, 1)

    if eru.stage_level == 4 and boss is None:
        boss = Boss()
        game_world.add_object(boss, 1)

    if eru.remain_hp <= 0:
        record = eru.distance
        eru.death_sound.play(1)
        game_framework.change_state(ranking_state)

    if boss is not None and boss.hp <= 0:
        boss.ending_timer += 1

        if boss.ending_timer == 1:
            boss.win_sound.play(1)

    if boss is not None and boss.ending_timer >= 500:
        boss = None
        record = eru.distance
        game_framework.change_state(ranking_state)

    for game_object in game_world.all_objects():
        game_object.update()
status = 0
obj_board = Board(rows, 500)
obj_scenery = Scenery()
obj_mando = Mando(1, rows - 4)
obj_board.matrix_set(obj_mando.place_mando(1, obj_board.matrix_get()))
obj_board.matrix_set(
    obj_scenery.create_ground(rows, 500, obj_board.matrix_get()))
obj_board.matrix_set(obj_scenery.create_sky(rows, 500, obj_board.matrix_get()))
obj_board.matrix_set(obj_scenery.create_clouds(obj_board.matrix_get()))
obj_board.matrix_set(
    obj_scenery.create_coins(rows, 500, obj_board.matrix_get()))
obj_board.matrix_set(
    obj_scenery.create_powerup(rows, 500, obj_board.matrix_get()))
obj_board.matrix_set(obj_scenery.create_obstacles(obj_board.matrix_get()))
obj_board.matrix_set(obj_scenery.create_deadwall(obj_board.matrix_get()))
obj_dragon = Dragon(rows, 500)
obj_board.matrix_set(obj_dragon.place_dragon(rows, 500,
                                             obj_board.matrix_get()))
y = random.randint(10, rows - 15)
x = random.randint(60, 300)
obj_magnet = Magnet(x, 20)
obj_board.matrix_set(obj_magnet.print(obj_board.matrix_get()))
stage = -1
obj_dragon_ball = Dragon_ball(10, 10)
obj_board.matrix_set(obj_dragon_ball.print(obj_board.matrix_get()))
game_time = 100
game_strt_time = time.time()
power_time = 0
mando_check_roar = 0
boss_fight_start = time.time()
Esempio n. 6
0
from random import Random
from Knight import Knight
from Dragon import Dragon


def berichteKampf(attacker, defender):
    print(defender.anzeigen(), "wird angegriffen von")
    print(attacker.anzeigen(), "mit Stärke", attacker.gibStärke(),
          "und verteitigt sich mit", defender.armor)
    print("****")


zufall = Random()
arthur = Knight("Arthur")
wilhelm = Dragon("Drogk")

print(arthur.anzeigen(), "vs", wilhelm.anzeigen(), "\n")

while arthur.istAmLeben() and wilhelm.istAmLeben():
    if bool(zufall.choice([True, False])):
        berichteKampf(arthur, wilhelm)
        arthur.angreifen(wilhelm)
    else:
        berichteKampf(wilhelm, arthur)
        wilhelm.angreifen(arthur)

if arthur.istAmLeben() == True:
    gewinner = arthur
else:
    gewinner = wilhelm
Esempio n. 7
0
            jetpacker.set_life(jetpacker.get_life() + 1)
        jetpacker.set_life(jetpacker.get_life() - 1)
        board.revive(jetpacker)
        jetpacker.set_did_he_die(0)


# import simpleaudio as sa

# filename = 'audio.mp3'
# wave_obj = sa.WaveObject.from_wave_file(filename)
# play_obj = wave_obj.play()
board = Board(30 + deltaoperator, 500)
board.create_board()

jetpacker = JetPacker(25 + deltaoperator, 0, 1)
D1 = Dragon()
D2 = []
jetpacker.starting_position(board.matrix)

obj_scenery = Scenery()
obj_scenery.create_ground(board.matrix)
bullets = []
obj_scenery.create_sky(board.matrix)
obj_scenery.create_coins_platforms(board)
obj_scenery.create_magnet(board)

enemies = []
listx = []
listy = []

for i in range(0, 40):
Esempio n. 8
0
             Vine(60, 1.0, 5, 1.0, 20, 120),
             Spider(60, 1.0, 15, 1.0, 100, 240), # dpm of 15
             Spider(60, 1.0, 15, 1.0, 100, 240),
             Spider(60, 1.0, 15, 1.0, 100, 240),
             Spider(60, 1.0, 15, 1.0, 100, 240),
             Spider(60, 1.0, 15, 1.0, 100, 240),
             Spider(60, 1.0, 15, 1.0, 100, 240),
             ShadowBoundBear(120, 1.0, 60, 1.0, 300, 300), # dpm of 30
             ShadowBoundBear(120, 1.0, 60, 1.0, 300, 300),
             ShadowBoundBear(120, 1.0, 60, 1.0, 300, 300),
             ShadowBoundBear(120, 1.0, 60, 1.0, 300, 300),
             Beast(120, 1.0, 70, 1.0, 100, 300), # dpm of 35, increases over time
             Beast(120, 1.0, 70, 1.0, 100, 300),
             Colossus(60, 5.0, 700, 1.0, 2000, 1800), # dpm of 140, increases over time
             Colossus(60, 5.0, 700, 1.0, 2000, 1800),
             Dragon(300, 1.0, 1000, 1.0, 2000, 3600), # dpm of 200. Reward increases over time, difficult to kill.
             Ashvine(60, 1.0, 30, 1.0, 60, 50), # dpm of 30. Increases over time, harder to kill over time, reward increases over time.
             Bunny(0,0,0,0,0, 1800)] # unspeakably evil
#attackers = [DarkForestCreature(20, 1.0, 5, 1.0, 20, 60)]
currentAttacker = attackers[0]

# ---------------------------------------
# Classes
# ---------------------------------------
class Settings:
    """
    Tries to load settings from file if given
    The 'default' variable names need to match UI_Config"""
    def __init__(self, settingsFile=None):
        if settingsFile is not None and os.path.isfile(settingsFile):
            with codecs.open(settingsFile, encoding='utf-8-sig', mode='r') as f:
Esempio n. 9
0
		else:
			self.text.set("I'm sorry, I didn't get that. Try entering it again.")
		self.entry.set('')
            
	def OnPressEnter(self,event):
		self.processEnter(event)
	def enter(self):
		self.processEnter(None)
	
	def getTrial(self):
		return self.trial

charType = SelectCharacter()
name = SetName()
player = Character(name.getName(), charType.getType(), charType.getHP(), charType.getATK())
dragon = Dragon()
home = Home("")
while dragon.getHP() != 0 and player.getHP() != 0 and home.getTrial() != 99:
	if home.getTrial() == 1:
		string = ""
		diamond = DiamondDefense()
		if diamond.getDiamondStatus() == 0:
			string = "Oh no! You didn't find the Defense Diamond.\nYou can continue to your next trial, but you might want to try again.\nYou may need it later!"
		elif diamond.getDiamondStatus() == 1:
			player.setDefense()
			string = "Congratulations! You found the Defense Diamond!\nYou may choose your next trial.\nIf you have completed all the trials, you are ready to face the dragon!"
		home = Home(string)
	elif home.getTrial() == 2:
		string = ""
		riddle = Riddle()
		if riddle.getHammer() == 0:
Esempio n. 10
0
    if class_sure in Yes:
        print("")
        print(
            "                                                                        You are a",
            gender, ",Warrior called", NameChar, ".")
        print(
            "                                                                        I wish you Luck and Fortune Hero!"
        )
        break

#Exploring Towns and Traveling

#Basic Combat

player = Warrior(NameChar)
enemy = Dragon("Dragon")


def Combat(player, enemy):
    print("")
    print(
        "                                                                        Your Party is under attack by a "
        + enemy.name)
    randomtext = input(
        "                                                                        Press ENTER to continue"
    )
    print("")
    while player.isalive() and enemy.isalive():
        print(
            "                                                                        You attacked the "
            + enemy.name + "!")
Esempio n. 11
0
lose = 0
gamer1_class = "0"
nickname = input("Please enter a gamer name: ")
rank = 0


while 1:
    char = Beginner(nickname)
    print(f'Welcome to the Magic Game! (WINS:{wins} / LOSE:{lose}')
    print("Choose a mode: ")
    choice = int(input("1.Single play\n2.Multiplay\nChoice: "))

    if choice == 1:
        print("You have chosen SINGLE PLAY MODE")
        char = Beginner(nickname)
        bot = Dragon("Dragon")
        print(f'Your name is: {char.GetUserName()}')
        print(f'Dragon name is: {bot.GetUserName()}')
        rank_type = str(char.__class__.__name__)

        while (char.GetHp() > 0 and bot.GetHp() > 0):
            turn_a = randint(0, 2)
            turn_b = randint(0, 4)
            if (char.GetHp() > 0 and bot.GetHp() > 0):
                if (wins > 1):
                    rank = (input("Choose a rank\n[1]Knight\n[2]Wizard\n[3]Elf\n"))
                if rank =="1":
                    char = Knight(nickname)
                elif rank == "2":
                    char = Wizard(nickname)
                elif rank == "3":
Esempio n. 12
0
background_image_one = pygame.image.load("./images/space.jpg")
background_image_one_resized = pygame.transform.scale(background_image_one,
                                                      screen_size)
background_image_two = pygame.image.load("./images/background3.png")
background_image_two_resized = pygame.transform.scale(background_image_two,
                                                      screen_size)

screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("PYGAME")

the_player = Player("./images/ff1.tiff", 100, 500,
                    screen)  # dont need the image, the x or the y
bad_guy = Bad_Guy(screen, 700, 575)
latios = Latios(screen)
dragon = Dragon(screen)
bullets = Group()
#make a new group called bullets, it's a pygame "list";
hero_group = Group()
enemy_group = Group()

hero_group.add(the_player)
enemy_group.add(bad_guy)


def message1_display(text):  #display what kind of text you want
    largeText = pygame.font.Font(None, 90)
    start_text = largeText.render(text, True, (245, 255, 255))
    screen.blit(start_text, [100, 100])
    pygame.display.update()