def main(): global s, snack #setting size of the frame frame = pygame.display.set_mode((width, width)) #setting snake s = snake.Snake(con.red, (10, 10)) snack = cube.Cube(generate_random_snack_pos(s), color=con.green) flag = True clock = pygame.time.Clock() while flag: #Чтобы движение происходило не очень быстро pygame.time.delay(50) #10fps clock.tick(10) events = s.move() get_new_snack() check_for_intersect() for event in events: if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: menu.start_menu(frame, clock, result=len(s.body)) drawFrame(frame) pass
def menu_cmd(message): try: menu.start_menu(message) # вызываем основное меню dbworker.set_state(message.chat.id, config.States.S_START.value) # пользователь получает статус для начала работы except: print(' === ' + ' ERROR IN menu_cmd' + ' === ' + str(message.chat.id))
def main(): while True: selection = menu.start_menu() game.check_selection(selection) time.sleep(0.5)
def main(): menu.start_menu() global private_key_name print("Please enter key name, or leave blank for the default (stephencoady)") private_key_name = input(" >>> ") if private_key_name == "": private_key_name = "stephencoady" decision = None # this while loop controls the "Main Menu" while decision != "0": menu.main_menu() decision = input("Please enter your choice >>> ") if decision == "1": new_instance() if decision == "2": print("Gathering information about your instances, please wait.") instance_choice = view_all_instances() global my_instances global instance if instance_choice != "x": submenu = None try: instance = my_instances[int(instance_choice)] except Exception as e: error = str(e) print("Please choose an instance from the list!") logger.status_log(error) submenu = "0" # this while loop controls the "Instance Manager" menu while submenu != "0": menu.instance_manager() submenu = input("Please enter your choice >>> ") if submenu == "1": start_instance() if submenu == "2": stop_instance() if submenu == "3": terminate_instance() if submenu == "4": install_python() if submenu == "6": run_user_command() if submenu == "5": # This while loop cntrols the "Nginx Manager" menu nginx_choice = None while nginx_choice != "0": menu.nginx_manager() nginx_choice = input("Please enter your choice >>> ") if nginx_choice == "1": install_nginx() if nginx_choice == "2": copy_web_script() if nginx_choice == "3": run_nginx_check() if nginx_choice == "4": visit_website() if nginx_choice == "5": view_access_log() if nginx_choice == "6": view_error_log() print("\nExiting! Goodbye!")
# MAIN PROGRAM if __name__ == '__main__': # read configuration cfg = config.Config() # hide mouse cursor set_cursor('%s/etc/empty.cursor' % cfg.cwd) # initialize pygame pygame.init() pygame.display.set_mode((cfg.dimx, cfg.dimy)) pygame.mouse.set_visible(0) pygame.event.set_allowed(None) pygame.event.set_allowed([KEYDOWN, QUIT, USEREVENT + 1]) # launch start menu menu = menu.Menu(cfg) rv = menu.start_menu() # stop pygame pygame.quit() # Remote Control Quit request: perform a gracefull shutdown! if rv == 1 and cfg.shutdown: shutdown() else: # show cursor again set_cursor()
def run(): """This function run the project in a console""" links = ('c-link', 's-link', 'i-link', 't-link', 'p-link') # default links default_csources = ["Change Audits", "Basic Nature", "Business Issues", "Mission & policies", "Technology"] # Create an array of change sources with user inputs or default values choice = start_menu() if choice == 1: csources = default_csources elif choice == 2: csources = [] # list to hold change sources while True: new_cs = input("Enter name of change source or -1 to exit: ") if new_cs == '-1': break csources.append(new_cs) # add to our list of csources elif choice == 3: print("Exiting....") # Exit program return # Set change sources to default if user did not specify any if not csources: print("No change sources exist. Using default change sources...") csources = default_csources print("Change source available are: ", csources) # Allows user to choice change source to create viewpoints under print("\nCreate a set of viewpoints for one of the above change source") r = int(input("Enter the index of the change source: ")) csource = csources[r] print("You have chosen to create viewpoints under the '{}' change source".format(csource)) # Create an array of viewpoints with inputs from the user and stops when user enters -1 viewpoints = [] # list to hold viewpoints while True: v = input("Enter viewpoint or -1 to exit: ") if v == '-1': break viewpoints.append(v) # add to viewpoint # Set viewpoints array to default if user failed to provide any if not viewpoints: print("No viewpoint created. Using default viewpoints...") viewpoints = ["Organisation & governance", "Business processes", "People", "Information (Asset)", "Technology"] print("\nCreating an empty change matrix with 2 rows and {} columns...".format(len(viewpoints))) cmatrix = create_cmatrix(len(viewpoints)) # create change matrix class object dgraph = create_dependency_graph() # create dependency graph class object dtable = create_dependency_table() # create dependency graph class object print("Change matrix created") print("An empty dependency graph has been created") print("An empty dependency table, created.") print("\nHere are your viewpoints ", viewpoints) print("\nHere is your change matrix") display(matrix=cmatrix.get_matrix()) # display cmatrix contents # Insert a series of nodes into row 0 and row 1 of the change matrix as structures and processes respectively print("\nCreate processes and structures") print("----------------------------------") print("\nEnter a node to create or -1 to exit.") while True: node = input("Enter node: ") if node == "-1": break try: r = int(input("Enter 0 for structure and 1 for process: ")) c = int(input("Enter the column index to store node in: ")) cmatrix.add_node(node, r, c) # add node to cmatrix new_node = cmatrix.get_matrix()[r][c] # get new node from change matrix dgraph.insert_vertex(node) # insert new node as a vertex in the dependency graph dtable.add_node(node) # insert new node in the dependency table except (IndexError, ValueError) as exc: print(exc) print("\nHere is your updated change matrix") display(matrix=cmatrix.get_matrix()) print("\n\nHere is your updated dependency table") dtable.display_table() print("\nHere is your updated dependency graph") for v in dgraph.vertices(): print(v.element()) # Todo: Establish differences between link types print("\nEnter postions of two nodes and their link") print("Available links are ", links) # Create a series of links between nodes on the change matrix new_link = True # determines if user wants to create another link while new_link is True: try: # get nodes from user node1 = tuple(map(int, input("node 1 index (r c): ").split())) node2 = tuple(map(int, input("node 2 index (r c): ").split())) # store nodes in change matrix at appropriate locations node1 = cmatrix.get_data(*node1) node2 = cmatrix.get_data(*node2) link = input("Enter the link you wish to create: ") if (link in links) and (link == 'p-link'): # Todo: Ensure node1 is a process and node2 is a structure accept_link = True elif (link in links) and (link == 's-link'): # Todo: Ensure node1 is a structure and node2 is a process accept_link = True elif link in links: accept_link = True else: # Do not create links that are not available in our links array accept_link = False if accept_link: # Check if nodes exist in our dependency graph and assign them to node 1 and 2 respectively for v in dgraph.vertices(): if v.element() == node1: node1 = v elif v.element() == node2: node2 = v # insert an edge into the graph along with the link between the vertices/nodes dgraph.insert_edge(node1, node2, link) else: print("link is not available") cont = input("Do you want to create another one (y or n): ") if cont.lower() != 'y': new_link = False except Exception as exc: print(exc) print("\nYour updated graph is: ") vertices = [] # holds the vertices/nodes of our dependency graph # Retrieves both endpoints from an edge along with its link (node1, node2, link) for e in dgraph.edges(): e1, e2 = [v.element() for v in e.endpoints()] link = e.element() print(e1, e2, link) vertices.extend([e1, e2]) # Display nodes that don't have links between them for v in dgraph.vertices(): if v.element() not in vertices: print(v.element())
if __name__ == '__main__': pygame.init() pygame.font.init() font_1 = pygame.font.Font(None, 75) font_2 = pygame.font.Font(None, 40) font_3 = pygame.font.Font(None, 35) screen = pygame.display.set_mode((1000, 700)) pygame.display.set_caption('VLDTower') pygame.mixer.music.load('sounds/music.mp3') pygame.mixer.music.set_volume(0.4) pygame.mixer.music.play(loops=-1) start_menu(screen) screen.fill((0, 0, 0)) # генерация уровня lvl = load_level('level2.txt') generate_level(lvl, Tile) FPS = 60 SPAWN_GROUP = pygame.USEREVENT + 1 COUNT_TIME = pygame.USEREVENT + 2 SPAWN_ENEMY = pygame.USEREVENT + 3 player_money = 170 money_image = load_image('money.jpg') money_image.set_colorkey((255, 255, 255)) money_image = pygame.transform.scale(money_image, (100, 100))
def start_map(gfx, text, choice, top_lf, btm_rt, size, objects, player): main_map = area = Map(size[0], size[1], objects) y_now, x_now = 0, 0 forbidden = {} step_event = {} doors = {} triggers = {} for o in main_map.obj: if o.block: for y in range(o.start_y, o.start_y + len(o.string_shown.split('\n'))): for x in range(o.start_x, o.start_x + len(o.string_shown.split('\n')[0])): if o.door and (y - o.start_y, x - o.start_x) == o.door['pos']: doors[(y, x)] = (o.door['map'], o.door['exit'], o.door['transport'], (o.door['pos'][0] + o.start_y + 1, o.door['pos'][1] + o.start_x)) else: forbidden[(y, x)] = o if isinstance(o, Interactive) and o.detect: is_x = o.detect[0] == 'x' main_axis = eval("o.start_%s" % o.detect[0]) other_axis = eval("o.start_%s" % { 'x': 'y', 'y': 'x' }[o.detect[0]]) for i in range(main_axis, main_axis + o.detect[1]): triggers[(other_axis, i) if is_x else (i, other_axis)] = o elif isinstance(o, Interactive): for y in range(o.start_y, o.start_y + len(o.string_shown.split('\n')) - 1): for x in range(o.start_x, o.start_x + len(o.string_shown.split('\n')[0])): step_event[(y, x)] = o main_map.pd.erase() for o in main_map.obj: for i, line in enumerate(o.string_shown.split('\n')): main_map.pd.addstr(o.start_y + i, o.start_x, line) main_map.pd.addstr(player.start_y, player.start_x, player.string_shown) main_map.pd.refresh(y_now, x_now, top_lf[0], top_lf[1], btm_rt[0], btm_rt[1]) def quit_game(): global quitting quitting = True def check_trigger(): if (player.start_y, player.start_x) in triggers: triggers[(player.start_y, player.start_x)]\ .on_interacted_with(player, gfx, text, choice) elif (player.start_y, player.start_x) in step_event: step_event[(player.start_y, player.start_x)]\ .on_interacted_with(player, gfx, text, choice) def refresh_map(): main_map.pd.erase() for map_obj in main_map.obj: for line_num, line_content in enumerate( map_obj.string_shown.split('\n')): main_map.pd.addstr(map_obj.start_y + line_num, map_obj.start_x, line_content) main_map.pd.addstr(player.start_y, player.start_x, player.string_shown) main_map.pd.refresh(y_now, x_now, top_lf[0], top_lf[1], btm_rt[0], btm_rt[1]) looking_at = None while True: refresh_map() gfx.refresh() ch = gfx.getch() if ch in (c.KEY_UP, 450): if y_now > 0 and (player.start_y - 1, player.start_x) not in forbidden: y_now -= 1 refresh_map() check_trigger() if player.start_y > 0: if (player.start_y - 1, player.start_x) in forbidden: looking_at = forbidden[(player.start_y - 1, player.start_x)] else: looking_at = None player.start_y -= 1 elif ch in (c.KEY_DOWN, 456): if default_player_pos[0] <= player.start_y < main_map.height - 2\ and (player.start_y + 1, player.start_x) not in forbidden: y_now += 1 refresh_map() check_trigger() if player.start_y < main_map.height - 2: if (player.start_y + 1, player.start_x) in forbidden: looking_at = forbidden[(player.start_y + 1, player.start_x)] else: looking_at = None player.start_y += 1 elif ch in (c.KEY_LEFT, 452): if x_now > 0 and (player.start_y, player.start_x - 1) not in forbidden: x_now -= 1 refresh_map() check_trigger() if player.start_x > 0: if (player.start_y, player.start_x - 1) in forbidden: looking_at = forbidden[(player.start_y, player.start_x - 1)] else: looking_at = None player.start_x -= 1 elif ch in (c.KEY_RIGHT, 454): if default_player_pos[1] <= player.start_x < main_map.width - 2\ and (player.start_y, player.start_x + 1) not in forbidden: x_now += 1 refresh_map() check_trigger() if player.start_x < main_map.width - 2: if (player.start_y, player.start_x + 1) in forbidden: looking_at = forbidden[(player.start_y, player.start_x + 1)] else: looking_at = None player.start_x += 1 elif ch in (c.KEY_ENTER, 10): if isinstance(looking_at, Interactive): looking_at.on_interacted_with(player, gfx, text, choice) elif ch == ord('x'): start_menu((1, 64), (12, 78), { 'q': 'CREAGRAMS', 'w': 'BAG', 'e': 'QUIT GAME' }, { 'q': lambda: cg_menu(gfx, text, choice, player), 'w': lambda: item_menu(gfx, text, choice, player), 'e': quit_game }) global quitting if quitting: break if (player.start_y, player.start_x) in doors: to_go = doors[(player.start_y, player.start_x)] main_map = to_go[0] player.start_y, player.start_x = to_go[2] y_now, x_now = 0, 0 gfx.erase() forbidden = {} doors = {(to_go[1]): (area, None, to_go[3], None)} for o in main_map.obj: if o.block: for y in range(o.start_y, o.start_y + len(o.string_shown.split('\n'))): for x in range( o.start_x, o.start_x + len(o.string_shown.split('\n')[0])): if o.door and (y - o.start_y, x - o.start_x) == o.door['pos']: doors[(y, x)] = (o.door['map'], o.door['exit'], o.door['transport'], (o.door['pos'][0] + o.start_y + 1, o.door['pos'][1] + o.start_x)) else: forbidden[(y, x)] = o triggers = {} for o in main_map.obj: if isinstance(o, Interactive) and o.detect: is_x = o.detect[0] == 'x' main_axis = eval("o.start_%s" % o.detect[0]) other_axis = eval("o.start_%s" % { 'x': 'y', 'y': 'x' }[o.detect[0]]) for i in range(main_axis, main_axis + o.detect[1]): triggers[(other_axis, i) if is_x else (i, other_axis)] = o
def play(): import pygame from menu import start_menu import pygame.mixer pygame.init() width = 700 height = 700 points = 0 window = pygame.display.set_mode((width,height)) pygame.display.set_caption("Sandy") pygame.display.set_icon(pygame.image.load("item_skull.ico")) pygame.mixer.music.load("Sounds/Mario.mp3") pygame.mixer.music.play() pygame.mixer.music.set_volume(0.1) #classes class Player(pygame.sprite.Sprite): def __init__(self, img, x, y, speed): pygame.sprite.Sprite.__init__(self) self.image = img self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.speed = speed class Wall(pygame.sprite.Sprite): def __init__(self, color, x, y,width, height): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface([width, height]) self.image.fill(color) self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y class Enemy(pygame.sprite.Sprite): def __init__(self, img, x, y,speed): pygame.sprite.Sprite.__init__(self) self.image = img self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.speed = speed class Coin(pygame.sprite.Sprite): def __init__(self, img, x, y,): pygame.sprite.Sprite.__init__(self) self.image = img self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y class Chest(pygame.sprite.Sprite): def __init__(self, img, x, y,): pygame.sprite.Sprite.__init__(self) self.image = img self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y font = pygame.font.Font(None,35) coins_text = font.render("Монеты:0", True, pygame.Color("grey")) font2 = pygame.font.Font(None,60) win_text = font2.render("YOU WIN!!!", True, pygame.Color("red")) space_text = font.render("Нажмите ПРОБЕЛ для выхода в меню",True, pygame.Color("white")) font2 = pygame.font.Font(None,22) upral_text = font2.render("Упрвление: W,A,S,D or l,r,u,d",True, pygame.Color("black")) story_text = font2.render("Соберите все монетыбпройдя множесво испытаний и заберите ",True, pygame.Color("black")) story_text2 = font2.render("сундук с сокровищами! ",True, pygame.Color("black")) #constants size = 40 line_width = 15 #Transformation player = pygame.transform.scale(pygame.image.load("player2.png"), (size,size)) bg = pygame.transform.scale(pygame.image.load("Desert.png"), (width,height)) enemy = pygame.transform.scale(pygame.image.load("player.png"), (size,size)) coin = pygame.transform.scale(pygame.image.load("coin1.png"), (size,size)) chest = pygame.transform.scale(pygame.image.load("chest_lock_open.png"), (size,size)) #Start Location start_x = line_width start_y = line_width start_x2 = line_width*10 start_y2 = size*6 start_x3 = line_width*15 start_y3 = size*6 start_x4 = line_width*20 start_y4 = size*6 start_x5 = line_width*6 start_y5 = size start_x6 = line_width*6 start_y6 = size*2+line_width*2 start_x7 = line_width*2 start_y7 = size+line_width+size+line_width+size+line_width*3+line_width+size+size+size start_x8 = line_width*2 start_y8 = size+size+line_width+size+line_width+size+line_width*3+line_width+size+size+size start_x9 = line_width*2 start_y9 = line_width+size+line_width+size+line_width*3+line_width+size+size+size start_x10 = line_width*2 start_y10 = line_width+line_width+size+line_width*3+line_width+size+size+size start_x11 = size*7 start_y11 = size+line_width+size+line_width+size+line_width*4+size+line_width+size+size+size+line_width+size*4 #the basis walls = pygame.sprite.Group() enemies = pygame.sprite.Group() coins = pygame.sprite.Group() chests = pygame.sprite.Group() all_sprites = pygame.sprite.Group() totem = Player(player, start_x, start_y, 5) enemy1 = Enemy(enemy, start_x2, start_y2, 9) enemy2 = Enemy(enemy, start_x3, start_y3, 2) enemy3 = Enemy(enemy, start_x4, start_y4, 5) coin1 = Coin(coin, start_x5, start_y5) coin2 = Coin(coin, start_x6, start_y6) coin3 = Coin(coin, start_x7, start_y7) coin4 = Coin(coin, start_x8, start_y8) coin5 = Coin(coin, start_x9, start_y9) coin6 = Coin(coin, start_x10, start_y10) chest = Chest(chest, start_x11, start_y11) #the formation of Wall1 = Wall(pygame.Color("orange"), 0,0,width,line_width) Wall2 = Wall(pygame.Color("orange"), 0,0,line_width,height) Wall3 = Wall(pygame.Color("orange"), 0,height-line_width,width,line_width) Wall4 = Wall(pygame.Color("orange"), width-line_width,0,line_width,height) Wall5 = Wall(pygame.Color("orange"), 0,size+line_width*2,width-size-line_width*2,line_width) Wall6 = Wall(pygame.Color("orange"), size+line_width*2,size+size+line_width*4,width-size,line_width) Wall7 = Wall(pygame.Color("orange"), 0,line_width+size+size+line_width*2+line_width+size+line_width*2,width-size-line_width*2,line_width) Wall8 = Wall(pygame.Color("orange"), size+line_width*3,size+line_width*3+size+line_width+size+line_width*4+size+line_width+size+size+size+line_width,width-size+line_width*2,line_width) Wall9 = Wall(pygame.Color("yellow"), line_width,size+line_width+size+line_width+line_width+size+line_width+size+line_width*4+size+line_width+size+size+line_width,size+line_width*2,line_width) #HitBox walls.add(Wall1) walls.add(Wall2) walls.add(Wall3) walls.add(Wall4) walls.add(Wall5) walls.add(Wall6) walls.add(Wall7) walls.add(Wall8) #walls.add(Wall9) enemies.add(enemy1) enemies.add(enemy2) enemies.add(enemy2) coins.add(coin1) coins.add(coin2) coins.add(coin3) coins.add(coin4) coins.add(coin5) coins.add(coin6) #revitalization all_sprites.add(totem) all_sprites.add(enemy1) all_sprites.add(enemy2) all_sprites.add(enemy3) all_sprites.add(Wall1) all_sprites.add(Wall2) all_sprites.add(Wall3) all_sprites.add(Wall4) all_sprites.add(Wall5) all_sprites.add(Wall6) all_sprites.add(Wall7) all_sprites.add(Wall8) all_sprites.add(Wall9) all_sprites.add(coin1) all_sprites.add(coin2) all_sprites.add(coin3) all_sprites.add(coin4) all_sprites.add(coin5) all_sprites.add(coin6) # font = pygame.font.Font(None,35) coins_text = font.render("Монеты:0", True, pygame.Color("grey")) #cycle run = True while run: pygame.time.delay(30) window.blit(bg,(0,0)) #Touch Processing for event in pygame.event.get(): if event.type == pygame.QUIT: run = False enemy1.rect.y += enemy1.speed enemy2.rect.y += enemy2.speed enemy3.rect.y += enemy3.speed if event.type == pygame.KEYDOWN: if (keys[pygame.K_a] or keys[pygame.K_LEFT]) and totem.rect.x > 0: totem.rect.x -= totem.speed if (keys[pygame.K_d] or keys[pygame.K_RIGHT]) and totem.rect.x < width-32: totem.rect.x += totem.speed if (keys[pygame.K_w] or keys[pygame.K_UP]) and totem.rect.y >0: totem.rect.y -= totem.speed if (keys[pygame.K_s] or keys[pygame.K_DOWN]) and totem.rect.y < height-32: totem.rect.y += totem.speed #Death treatment if len(pygame.sprite.pygame.sprite.spritecollide(totem, walls, False)) > 0: totem.rect.x = start_x totem.rect.y = start_y if len(pygame.sprite.pygame.sprite.spritecollide(totem, enemies, False)) > 0: totem.rect.x = start_x totem.rect.y = start_y if len(pygame.sprite.pygame.sprite.spritecollide(enemy1, walls, False)) > 0: enemy1.speed *= -1 if len(pygame.sprite.pygame.sprite.spritecollide(enemy2, walls, False)) > 0: enemy2.speed *= -1 if len(pygame.sprite.pygame.sprite.spritecollide(enemy3, walls, False)) > 0: enemy3.speed *= -1 if len(pygame.sprite.pygame.sprite.spritecollide(totem, coins, True)) > 0: points += 1 coins_text = font.render(("Монеты:0" + str(points)), True, pygame.Color("yellow")) window.blit(coins_text, (550, 650)) #if len(pygame.sprite.pygame.sprite.spritecollide(totem, coins, True)) > 0: # points == 4 if points == 6: chests.add(chest) all_sprites.add(chest) if len(pygame.sprite.pygame.sprite.spritecollide(totem, chests, False)) > 0: break #Driving mechanism keys = pygame.key.get_pressed() all_sprites.update() all_sprites.draw(window) pygame.display.update() #2display while run: window.fill(pygame.Color("black")) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() if event.type == pygame.KEYDOWN: if keys[pygame.K_SPACE]: start_menu() break window.blit(space_text, (90,420)) window.blit(win_text, (230,320)) pygame.display.update()
import menu # Get friendly names of currencies from another web api when app starts (https://gist.githubusercontent.com/Fluidbyte/2973986/raw/8bb35718d0c90fdacb388961c98b8d56abc392c9/Common-Currency.json) # add auto refresh option # convert to use object orientated programming # functions # data structures ( list, dicts ) menu.start_menu()
import os import sys import pygame import requests import menu ll, spn = menu.start_menu() CONST_LL = ll maps = ['map', 'sat', 'sat,skl'] num = 0 map_request = f"http://static-maps.yandex.ru/1.x/?ll={ll}&spn={spn}&l={maps[num]}&pt={CONST_LL}" response = requests.get(map_request) if not response: print("Ошибка выполнения запроса:") print(map_request) print("Http статус:", response.status_code, "(", response.reason, ")") sys.exit(1) map_file = "map.png" with open(map_file, "wb") as file: file.write(response.content) pygame.init() screen = pygame.display.set_mode((600, 450)) screen.blit(pygame.image.load(map_file), (0, 0)) run = True while run: for i in pygame.event.get(): if i.type == pygame.QUIT: