def new_query(x, y):
    global Query_list
    global Conditional_list
    global flags
    xshift = 200
    if x >= 315 and x <= 495 and y >= -240 and y <= -215:

        draw_box(Turtle(), "white", "", 315, -220, 180, "white")
        draw_box(Turtle(), "white", "", 410, -250, 120, "white")
        refresh(Query_list + Conditional_list)
        draw_box(
            Turtle(), "lightgreen",
            "Generated Query is                                                                                ",
            -300 - xshift, -220, 760)
        draw_box(
            Turtle(), "lightgreen",
            "Answer  =                                                                                         ",
            -300 - xshift, -250, 760)
        clear_mar_cond()
        clear_mar_quer()

        for i in flags:
            flags[i] = 0
        del Query_list[:]
        del Conditional_list[:]
        screen = turtle.Screen()
        screen.onclick(take_input)
        return

    if x >= 410 and x <= 530 and y >= -270 and y <= -245:
        turtle.bye()
def take_input(x, y):
    screen = turtle.Screen()
    screen.onclick(None)
    global var_list
    global Query_list
    global Conditional_list
    types = ["q", "c"]
    # print Query_list,Conditional_list
    if x >= 270 and x <= 390 and y >= -270 and y <= -245:
        draw_box(Turtle(), "red", "Process is going on", 220, 320, 240)
        # print "generated"
        if len(Query_list) == 0:
            print "invalid query--'atleast one query_variable needs to be selected'"
            turtle.bye()
            # screen=turtle.Screen()
            # screen.onclick(take_input)
            return
        else:
            write_gen_query(Query_list, Conditional_list)
            write_markov_query(Query_list)
            write_conditional_query(Conditional_list)
            exp = createExpression(Query_list, Conditional_list)
            ans = computeProbability(exp)
            draw_box(Turtle(), "white", "", 220, 320, 240, "white")
            draw_box(Turtle(), "red", "New Query", 315, -220, 180)
            draw_box(Turtle(), "red", "Exit", 410, -250, 120)
            screen = turtle.Screen()
            screen.onclick(new_query)

        return

    for t in types:
        for v in var_list:
            if (len(Query_list) >= 10
                    and t == 'q') or (len(Conditional_list) >= 10
                                      and t == 'c'):
                continue
            if check_fill(x, y, v, t) == True:
                if t == 'q':
                    Query_list.append(v)
                if t == 'c':
                    Conditional_list.append(v)

    screen = turtle.Screen()
    screen.onclick(take_input)
Beispiel #3
0
	def gui(self, screen):
		if self.health <= 0:
			gui.draw_big_text(screen, "YOU DIED! :(", (198, 298), "white")
			gui.draw_big_text(screen, "YOU DIED! :(", (200, 300), "black")
			return gui.draw_text(screen, "press escape", (300, 400))

		gui.draw_box(screen, (20, 20, 20+max(min(self.hunger, 100), 0)*2, 50), "blue")
		gui.draw_box(screen, (screen.get_width()-(20+max(min(self.health, 100), 0)*2), 20, max(min(self.health, 100), 0)*2, 50), "green")



		if self.upgrade_attack > 0:
			if gui.Button(screen, "upgrade_attack", "a", (300, 20, 50, 50), draw=False):
				if self.menu:
					self.menu = None
				else:
					self.menu = MENU_ATTACK
			gui.draw_image(screen, resources.attack_icon, (300, 20))
		if self.upgrade_utility > 0:
			if gui.Button(screen, "upgrade_utility", "u", (360, 20, 50, 50), draw=False):
				if self.menu:
					self.menu = None
				else:
					self.menu = MENU_UTILITY
			gui.draw_image(screen, resources.utility_icon, (360, 20))
		if self.upgrade_movement > 0:
			if gui.Button(screen, "upgrade_movement", "m", (420, 20, 50, 50), draw=False):
				if self.menu:
					self.menu = None
				else:
					self.menu = MENU_MOVEMENT
			gui.draw_image(screen, resources.movement_icon, (420, 20))


		if self.menu == MENU_ATTACK:
			selection = gui.Menu(screen, "upgrade_attack", "evolve", ["ranged", "melee"], (300, 80, 170, 180))
			if selection == 1:
				if self.ranged_damage < 50:
					self.ranged_damage += 10
					self.game.send_message("more ranged damage!")
				else:
					if self.ranged_attack_speed > self.minattackspeed:
						self.ranged_attack_speed -= .1
						self.game.send_message("more ranged attack speed!")
				self.upgrade_attack -= 1
				self.grow(self.growth)
				self.menu = None
			if selection == 2:
				if self.melee_damage < 60:
					self.melee_damage += 10
					self.game.send_message("more melee damage!")
				else:
					if self.melee_damage_speed > self.minattackspeed-.1:
						self.melee_damage_speed -= .1
						self.game.send_message("more melee attack speed!")
				self.upgrade_attack -= 1
				self.grow(self.growth)
				self.menu = None

		if self.menu == MENU_UTILITY:
			selection = gui.Menu(screen, "upgrade_utility", "evolve", ["health"], (300, 80, 170, 120))
			if selection == 1:
				self.health += 10
				self.maxhealth += 10
				self.game.send_message("more health!")
				self.upgrade_utility -= 1
				self.grow(self.growth)
				self.menu = None

		if self.menu == MENU_MOVEMENT:
			selection = gui.Menu(screen, "upgrade_movement", "evolve", ["jumping", "running"], (300, 80, 170, 180))
			if selection == 1:
				if self.maxjumps == 1:
					self.jumpheight *= 2
					self.maxjumps += 1
					self.game.send_message("double jumps!")
				elif self.maxjumps == 2:
					self.maxjumps = 100000
					self.game.send_message("infinite jumps!")
				else:
					self.jumpheight += 10
					self.airspeed += 30
					self.game.send_message("better flying!")
				self.upgrade_movement -= 1
				self.grow(self.growth)
				self.menu = None
			if selection == 2:
				self.speed += 50
				self.game.send_message("faster running!")
				self.upgrade_movement -= 1
				self.grow(self.growth)
				self.menu = None
			if selection == 3:
				self.swimspeed += 50
				self.upgrade_movement -= 1
				self.grow(self.growth)
				self.menu = None
Beispiel #4
0
 def step(percent, off=(0, 0)):
     x, y = [a + b * percent for a, b in zip(pos, Δ)]
     w, h = [(l * (1 - percent)) for l in size]
     draw_box((x, y), (w, h))
Beispiel #5
0
 def step(percent, off=(0, 0)):
     x, y = [a - b * percent for a, b in zip(start, Δ)]
     w, h = [(l * percent) for l in size]
     draw_box((x, y), (w, h))
Beispiel #6
0
 def step(percent, off=(0, 0)):
     x = (x2 + Δx * percent) if not vert else x2
     y = (y2 + Δy * percent) if vert else y2
     draw_box((x, y), size)