def reinicio(): zera_pontos = '' pos2 = list((pygame.mouse.get_pos())) click_mouse = pygame.mouse.get_pressed() screen.blit(back, (0, 0)) screen.blit(reiniciar, (340, 185)) screen.blit(voltar, (340, 279)) #exibe a pontuacao da ultima partida pontuacao = open("pontos.txt", "r").read() font = pygame.font.Font("fonts/font2.ttf", 30) mensagem = font.render(pontuacao, True, (0, 0, 0)) screen.blit(mensagem, [450, 110]) if pos2[0] >= 281 and pos2[0] <= 437 and pos2[1] >= 187 and pos2[1] <= 269: if click_mouse[0] == 1: zera_pontos = open("pontos.txt", "w").write(str(0)) #zera a ultima pontuação script.main() sys.exit() if pos2[0] >= 282 and pos2[0] <= 438 and pos2[1] >= 282 and pos2[1] <= 368: if click_mouse[0] == 1: menu.main() sys.exit() pygame.display.flip()
def collide(self, xvel, yvel, platforms, enemies): for p in platforms: if pygame.sprite.collide_rect(self, p): if isinstance(p, ExitBlock): self.salida = True if xvel > 0: self.rect.right = p.rect.left self.x -= self.xvel self.xvel = 0 print "collide right" if xvel < 0: self.x -= self.xvel self.rect.left = p.rect.right print "collide left" self.xvel = 0 if yvel > 0: self.rect.bottom = p.rect.top self.onGround = True self.onAir = False self.yvel = 0 if yvel < 0: self.rect.top = p.rect.bottom for p in enemies: if pygame.sprite.collide_rect(self, p): if self.vidas == 0: print "muerto" menu.main() else: self.vidas -= 1 self.updatecharacter(getdown) if self.faceR: self.rect.left += 10 else: self.rect.left -= 10
def main(): print "<<< RANKING >>>\n" escores = ordena_scores(get_scores()) for i, escore in enumerate(escores): print str(i+1) + ". " + escore print "\n<<< >>>\n" menu.main()
def main(): #os.environ["SDL_VIDEO_CENTERED"] = "1" #pygame.mixer.pre_init(44100, -16, 2, 4096) ##pygame.init() #pygame.mouse.set_visible(0) #pygame.display.set_icon(pygame.image.load(data.filepath("bowser1.gif"))) #pygame.display.set_caption("Super Mario Bros (DEMO)") #screen = pygame.display.set_mode((640, 480)) menu.main()
def show_menu(parent): """ Base on parent that user chose, this function will call the respective menu option(s) """ if parent == 0: menu.main() elif parent == 1: clearScreen() menu.setting() elif parent == 4: clearScreen() menu.dating()
def get_column_choice(tender_file): print('\nBuilding column menu...') global df_tender # get the columns from the file # df.columns.tolist() tender_col_choices = [] tender_col_nums = [] df_tender = pd.read_excel(tender_file, sheet_name=0) # read tender file into dataframe for head in df_tender: tender_col_choices.append(head) # copy tender headers into array # print user menu print('\n-----------------------------------------') print(' Tender Columns') print('-----------------------------------------') spacer = ' ' print('{}{}{}'.format('m', spacer, 'Show Main Menu')) tender_col_nums.append('m') col_num = '' i = 0 for tc in tender_col_choices: i += 1 print('{} {}'.format(i, tc)) tender_col_nums.append(str(i)) # get user input print('\nSelect the column for extracting mpns (or \'m\' for Main Menu)') col_choice = input() # validate user input while col_choice not in tender_col_nums: print('Invalid choice! Select a column (or \'m\' for Main Menu)') col_choice = input() if col_choice == 'm': menu.main() # if the user chooses 'm', then program control goes back to menu.main(), # which means that when menu.main() terminates, the program control will # return to this program; therefore, it's important to invoke sys.exit() # upon the callback to terminate all py execution in the terminal sys.exit() else: col_choice = tender_col_choices[int(col_choice) - 1] print('\nYou chose: {}'.format(col_choice)) #print(jsonl_files) return col_choice
def main(stdscr): state = menu.main(stdscr) global start start = datetime.now() if state == CONTINUE: pass elif state == "NEW": state = egg elif state == SETTINGS: pass stdscr.nodelay(True) stdscr.timeout(500) height, width = stdscr.getmaxyx() box = (offset + 1, offset, height - offset, width - offset) while 1: key = stdscr.getch() need_change_mode = False if key == ord("q"): break elif key == ord("m"): need_change_mode = True update_age() if age >= 0.0004: state = baby state(stdscr, box, need_change_mode)
async def poller(stream): sreader = asyncio.StreamReader(stream) i = 0 while True: await scheduling.wait() #and await disconnect.wait() b = await sreader.read(1) if b: try: b.decode('utf-8') except UnicodeError: await asyncio.sleep(0) continue if (b == dfl.ESC_CHAR.encode() and stream.__class__.__name__ == 'UART' and not session.logging): i += 1 if i > 2: asyncio.create_task(session.login(m, stream)) session.logging = True elif (b == b'\x1b' and (stream.__class__.__name__ == 'UART' and session.loggedin or stream.__class__.__name__ == 'USB_VCP') and not menu.interactive): asyncio.create_task(menu.main(m, stream, devs)) m.set(b) # Passes ESC to menu. menu.interactive = True else: m.set(b) i = 0 await asyncio.sleep_ms(100)
def today_menu(message): today_menu_list = menu.main() if message.chat.type == 'private': if message.text == 'Сегодня в меню': for items in today_menu_list: bot.send_message(message.chat.id, items[0] + items[1]) elif message.text == 'Заказать обед': make_order(message) else: bot.send_message(message.chat.id, 'Нажмите одну из кнопок')
def find_engine(): print("Connecting...") if (not myclient): try: connect() find_engine() except Exception as e: print("Error", e) db = myclient["appdb"] col = db["project"] engine = float(input("Engine Size:")) query = {"car.engineSize": engine} docs = col.find(query) for d in docs: print(d["_id"], "|", d["car"]["reg"], "|", d["car"]["engineSize"], "|", d["addresses"]) menu.main()
def fim_partida(opcao, jogador): print "O que voce deseja fazer:" print "(1) Jogar novamente" print "(2) Mudar dificuldade" print "(3) Voltar ao menu" print "(4) Fechar" print "Digite o numero correspondente a dificuldade escolhida:\n" opcao = raw_input() if opcao== "1": main(opcao, jogador) elif opcao == "2": menu.escolher_dificuldade() elif opcao == "3": menu.main() elif opcao == "4": sys.exit() else: fim_partida(opcao, jogador)
def comments(): """ Procédure pour afficher les 10 derniers commentaires reçu de la chaîne. """ CONFIG_FILENAME = 'user.config' section_comments = [] commentaires = [] nom = "" date_temps = "" comment_contenu = "" id_chaine = autre.channel_id(CONFIG_FILENAME) cle_api = autre.api_key(CONFIG_FILENAME) autre.cls() print(menu.sub_header(" Commentaires ")) url = "https://www.googleapis.com/youtube/v3/commentThreads?part=" \ + "snippet%2Creplies&allThreadsRelatedToChannelId=" + id_chaine \ + "&maxResults=10&key=" + cle_api try: reponse = urllib.request.urlopen(url) lecteur = codecs.getreader("utf-8") items = json.load(lecteur(reponse)) section_comments = items["items"] for comment in section_comments: comment = comment["snippet"]["topLevelComment"]["snippet"] nom = comment["authorDisplayName"] date_temps = comment["publishedAt"] comment_contenu = comment["textDisplay"] commentaires.append([nom, date_temps, comment_contenu]) commentaires.reverse() i = 0 for contenu in commentaires: date = datetime.strptime(contenu[1], "%Y-%m-%dT%H:%M:%S.%fZ") print("#" + (str(len(commentaires)-i) + " ").ljust(40, "_") + "\n"+ "Utilisateur: " + str(contenu[0]) + "\n" + "Publié le: " + str(date.strftime('%m/%d/%Y %H:%M:%S')) + "\n" + str(contenu[2]) + "\n") i += 1 except: autre.erreur_section() autre.input_block() menu.main()
def overview(): """ Procédure pour afficher un aperçu global de la chaîne YouTube de l'utilisateur. """ CONFIG_FILENAME = 'user.config' statistiques = [] nb_vues = 0 nb_subs = 0 nb_vids = 0 nb_comments = 0 id_chaine = autre.channel_id(CONFIG_FILENAME) cle_api = autre.api_key(CONFIG_FILENAME) autre.cls() print(menu.sub_header(" Vue d'ensemble ")) url = "https://www.googleapis.com/youtube/v3/channels?part=id%2C" \ + "statistics%2Csnippet&id=" + id_chaine + "&key=" + cle_api try: reponse = urllib.request.urlopen(url) lecteur = codecs.getreader("utf-8") items = json.load(lecteur(reponse)) statistiques = items["items"][0]["statistics"] nb_vues = statistiques["viewCount"] nb_vids = statistiques["videoCount"] nb_comments = statistiques["commentCount"] if statistiques["hiddenSubscriberCount"] != False: nb_subs = "PRIVÉ" else: nb_subs = statistiques["subscriberCount"] print(items["items"][0]["snippet"]["title"] + "\n\n" + "Nombre de visionnements: " + str(nb_vues) + "\n" + "Nombre d'abonnées: " + str(nb_subs) + "\n" + "Nombre de vidéos: " + str(nb_vids) + "\n" + "Nombre de commentaires: " + str(nb_comments) + "\n\n" "*Données en date du " + datetime.now().strftime\ ("%d/%m/%Y à %H:%M:%S")) except: autre.erreur_section() autre.input_block() menu.main()
def main(): running = True while running is True: print(""" ꧁•⊹٭𝙲𝚘𝚗𝚟𝚎𝚛𝚝𝚎𝚛٭⊹•꧂ 1. DNA to mRNA 2. mRNA to tRNA 3. Go back to main 4. Exit """) convertOpt = input("Option:") if convertOpt == "1": try: DNA_sequence = str(input("What is the DNA sequence?")).upper( ) # to make it all capital letters DNA_sequence = split(DNA_sequence) converter_seq.DNA_seqConvert(DNA_sequence) except: print("Error! please try again.") elif convertOpt == "2": try: RNA_sequence = str(input("What is the mRNA sequence?")).upper() RNA_sequence = split(RNA_sequence) converter_seq.mRNA_seqConvert(RNA_sequence) except: print("Error! please try again.") elif convertOpt == "3": menu.main() elif convertOpt == "4": running = False else: print("Error! please try again.")
def get_user_choice(): global menu_choices # get user choice print('\nSelect a category (or \'m\' for Main Menu)') user_choice = input() # validate user input while user_choice not in menu_nums: print('Invalid choice! Select a category (or \'m\' for Main Menu)') user_choice = input() if user_choice == 'm': menu.main() # if the user chooses 'm', then program control goes back to menu.main(), # which means that when menu.main() terminates, the program control will # return to this program; therefore, it's important to invoke sys.exit() # upon the callback to terminate all py execution in the terminal sys.exit() else: index = int(user_choice) return menu_choices[int(user_choice)]
def pause(intertime=FPS): global pause_time, last_menu_time start = time() pause_surface = pygame.transform.smoothscale(PAUSE_IMAGE, PAUSE_SIZE) pause_surface = pause_surface.convert_alpha() pause_position = (WIDTH//2 - PAUSE_SIZE[0]//2, HEIGHT//2 - PAUSE_SIZE[1]//2) DISPLAY_SURFACE.blit(pause_surface, pause_position) pygame.display.update() menu.main() inside = True while inside: FPS_CLOCK.tick(intertime) for event in pygame.event.get(): if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE): pass # terminate() elif (event.type == KEYUP) and (event.key in (K_p, K_SPACE, K_BREAK, K_PAUSE, K_MENU)): inside = False if menu.exist: menu.close() if Ship.player is None or (Ship.player.health <= 0): terminate() end = time() pause_time += end - start last_menu_time = end
def main(): main_menu_exit = False while not main_menu_exit: if dbTable.isEmpty("tasks_list", None): main_menu = menu.main(0) main_sel = main_menu.show() if main_sel == 0: dbTable.createItem("tasks_list", None, False) elif main_sel == 1: main_menu_exit = True print("manageDom Closed.") else: main_menu = menu.main(1) main_sel = main_menu.show() if main_sel == 0: dbTable.showNames("tasks_list", None) elif main_sel == 1: index = menu.selectItem("tasks_list", None, True) open("main_tasks", index + 1, "tasks_list") elif main_sel == 2: dbTable.createItem("tasks_list", None, False) elif main_sel == 3: index = menu.selectItem("tasks_list", None, True) dbTable.renameItem("tasks_list", None, index + 1) elif main_sel == 4: index = menu.selectItem("tasks_list", None, True) dbTable.deleteItem("tasks_list", None, index + 1) elif main_sel == 5: main_menu_exit = True db.close() dataConnect.mysqlStop() print("manageDom Closed.")
def main(): # holder variables for optional data to include between menus opt = [False] while True: # response holds the answer to what button the user clicked response, opt = menu.main(opt) # quit button if response == "quit": # ends application sys.exit() # start button elif response == "start": # launches game game.main() # rules button elif response == "rules": # show rules page opt = menu.mainRules(opt)
def main(): connection_url = "@gwynne.cs.ualberta.ca:1521/CRS" database_spec = "table_definitions.sql" drop_tables = "drop_tables.sql" # connect to database connection = database.connect(connection_url) # mode 0 to ignore, 1 for fresh setup setup.createTable(0, connection, database_spec, drop_tables) while True: # login screen user = login.login(connection) option = "" while option != 4: # main menu option = menu.main(user) database.process(option, connection, user) database.process(option, connection, user)
def execute(): #Static Settings settings_file_name = "settings.wdf" #Modifiable Settings try: from wdf_test_package import wdf settings = wdf.load(settings_file_name) except: print("\n", "Error: Couldnt load required file (WDF-Package)", "\n") return #Imports try: import msvcrt import iocontrol import menu import time import game except: print("\n", settings["err_import"], "\n") return #Menu loop returned = int while True: returned = menu.main(settings) if returned == 0: break if returned == int(settings["mm_pos_play"]): game.init(settings) elif returned == int(settings["mm_pos_reload_settings"]): print(settings["settings_reload"]) settings = wdf.load(settings_file_name) time.sleep(float(settings["normal_sleep_time"])) elif returned == int(settings["mm_pos_exit"]): iocontrol.message(settings, "leave") break
def main(): global log with menu.main() as m: log = open('info.log', 'w') #log.write('test') e = editor(m) e.load('main.py') row = 2 for i in range(0, 255): col = i % m.width row = i // m.width + 2 m.window.addstr(row, col, 'X', menu.curses.color_pair(i)) #e.print('def', 0, 209) #209 #e.print(' ', 0) #e.print('func', 0, 47) #e.print('():', 0) #e.print(' a', 1) # 173, 15 m.run()
def GetBank(roomid): try: conn = psycopg2.connect(dbname=settings.pgdatabase, user=settings.pguser, password=settings.pgpassword, host=settings.pghost) with conn.cursor() as cursor: conn.autocommit = True messagebank = '' allbets = 0 cursor.execute(F"SELECT * FROM goldenrooms where room_id = '{roomid}'") room = cursor.fetchone() roomid = room[0] rolltime = room[1] timenow = datetime.now() roomrolltime = datetime.strptime(rolltime, '%Y-%m-%d %H:%M:%S') black = room[4] red = room[5] odd = room[6] even = room[7] numbers = room[8] play = room[12] first_gap = room[9] second_gap = room[10] third_gap = room[11] room_hash = room[13] if black != 'None': messagebank +='\n' messagebank += 'Ставки на чёрное:\n' roombets = ast.literal_eval(black) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if red != 'None': messagebank +='\n' messagebank += 'Ставки на красное:\n' roombets = ast.literal_eval(red) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if even != 'None': messagebank +='\n' messagebank += 'Ставки на чётное:\n' roombets = ast.literal_eval(even) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if odd != 'None': messagebank +='\n' messagebank += 'Ставки на нечётное:\n' roombets = ast.literal_eval(odd) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if first_gap != 'None': messagebank +='\n' messagebank += 'Ставки на 1-12:\n' roombets = ast.literal_eval(first_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if second_gap != 'None': messagebank +='\n' messagebank += 'Ставки на 13-24:\n' roombets = ast.literal_eval(second_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if third_gap != 'None': messagebank +='\n' messagebank += 'Ставки на 25-36:\n' roombets = ast.literal_eval(third_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] allbets += roombets[bet + 1] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagebank += F"{username} - {stavka} коинов\n" if numbers != 'None': messagebank +='\n' messagebank += 'Ставки на числа:\n' roombets = ast.literal_eval(numbers) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 3 == 0: userid = roombets[bet] cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',',') allbets += roombets[bet + 1] messagebank += F"{username} - {stavka} коинов на число {roombets[bet + 2]}\n" seconds = (timenow - roomrolltime).seconds timez = str(timedelta(seconds=60 - seconds))[3::] if play == 'No': messagebank = F"В этом раунде ещё никто не поставил.\n\nХэш игры:\n{room_hash}\n\nДо конца раунда: {timez}" else: allbets = "{:,}".format(int(allbets)).replace(',',' ') messagebank = F"Всего поставлено {allbets} коинов\n\n{messagebank}\n\nХэш игры:\n{room_hash}\n\nДо конца раунда: {timez}" messages_send(roomid,messagebank,menu.main()) except Exception: traceback.print_exc()
def rounds(): try: conn = psycopg2.connect(dbname=settings.pgdatabase, user=settings.pguser, password=settings.pgpassword, host=settings.pghost) with conn.cursor() as cursor: conn.autocommit = True cursor.execute(F"SELECT * FROM goldenrooms") rooms = cursor.fetchall() for room in rooms: randompass = '' messagelose = '' # timenow = datetime.now().strftime('%Y-%m-%d %H:%M:%S') когда добавляем в бд timenow = datetime.now() room_id = room[0] roomrolltime = datetime.strptime(room[1], '%Y-%m-%d %H:%M:%S') dropvalue = int(room[2]) # Выпавший коэффициент dropcolor = room[3] if dropvalue == 0: messagewin = F'Выпало число 0!\n\n' winimg = imgzero else: winimg = imgarray[dropvalue - 1] messagewin = F'Выпало число {dropvalue}, {symbolsz[dropcolor]}\n\n' black = room[4] red = room[5] odd = room[6] even = room[7] numbers = room[8] play = room[12] first_gap = room[9] second_gap = room[10] third_gap = room[11] room_hash = room[13] hash_decode = room[14] seconds = (timenow - roomrolltime).seconds if seconds >= 60: if play == 'No': timenow = datetime.now().strftime('%Y-%m-%d %H:%M:%S') cursor.execute(F"UPDATE goldenrooms SET rolltime = '{timenow}' Where room_id = '{room_id}'") continue timenow = datetime.now().strftime('%Y-%m-%d %H:%M:%S') cursor.execute(F"UPDATE goldenrooms SET black = 'None',red = 'None',odd = 'None',even = 'None',numbers = 'None',first_gap = 'None',second_gap = 'None',third_gap = 'None',play = 'No' Where room_id = '{room_id}'") #------------------------------------------------------------------ #------------------------------------------------------------------ #------------------------------------------------------------------ if dropvalue != 0: # Если != 0 if dropvalue % 2 == 0: # если чётное if even != 'None': roombets = ast.literal_eval(even) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 2) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 2) cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 2)).replace(',',' ') messagewin += F"✅ {username} ставка {stavka} на чётное выиграла! (приз {prize} коинов)\n" if odd != 'None': roombets = ast.literal_eval(odd) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на нечётное проиграла\n" else: if odd != 'None': roombets = ast.literal_eval(odd) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 2) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 2) cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 2)).replace(',',' ') messagelose += F"✅ {username} ставка {stavka} на нечётное выиграла! (приз {prize} коинов)\n" if even != 'None': roombets = ast.literal_eval(even) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на чётное проиграла\n" #------------------------------------------------------------------ #------------------------------------------------------------------ #------------------------------------------------------------------ if dropcolor == 'black': if black != 'None': roombets = ast.literal_eval(black) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 2) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 2) cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 2)).replace(',',' ') messagewin += F"✅ {username} ставка {stavka} на чёрное выиграла! (приз {prize} коинов)\n" if red != 'None': roombets = ast.literal_eval(red) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на красное проиграла\n" else: if black != 'None': roombets = ast.literal_eval(black) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на чёрное проиграла\n" if red != 'None': roombets = ast.literal_eval(red) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 2) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 2) cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 2)).replace(',',' ') messagewin += F"✅ {username} ставка {stavka} на красное выиграла! (приз {prize} коинов)\n" if dropvalue in range(1,13): if first_gap != 'None': roombets = ast.literal_eval(first_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 3) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 3) cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 3)).replace(',',' ') messagewin += F"✅ {username} ставка {stavka} на 1-12 выиграла! (приз {prize} коинов)\n" if second_gap != 'None': roombets = ast.literal_eval(second_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 13-24 проиграла\n" if third_gap != 'None': roombets = ast.literal_eval(third_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 25-36 проиграла\n" elif dropvalue in range(13,25): if first_gap != 'None': roombets = ast.literal_eval(first_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 1-12 проиграла\n" if second_gap != 'None': roombets = ast.literal_eval(second_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 3) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 3) cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 3)).replace(',',' ') messagewin += F"✅ {username} ставка {stavka} на 13-24 выиграла! (приз {prize} коинов)\n" if third_gap != 'None': roombets = ast.literal_eval(third_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 25-36 проиграла\n" elif dropvalue in range(25,37): if first_gap != 'None': roombets = ast.literal_eval(first_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 1-12 проиграла\n" if second_gap != 'None': roombets = ast.literal_eval(second_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 13-24 проиграла\n" if third_gap != 'None': roombets = ast.literal_eval(third_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 3) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 3) cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') prize = "{:,}".format(round(roombets[bet+1] * 3)).replace(',',' ') messagewin += F"✅ {username} ставка {stavka} на 25-36 выиграла! (приз {prize} коинов)\n" if numbers != 'None': roombets = ast.literal_eval(numbers) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 3 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 13) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 13) stavka = "{:,}".format(roombets[bet + 1]).replace(',',',') if dropvalue == roombets[bet + 2]: cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") prize = "{:,}".format(round(roombets[bet+1] * 13)).replace(',',',') messagewin += F"✅ {username} ставка {stavka} на число {roombets[bet + 2]} выиграла! (приз {prize} коинов)\n" else: messagelose += F"❌ {username} ставка {stavka} на число {roombets[bet + 2]} проиграла\n" else: if even != 'None': roombets = ast.literal_eval(even) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на чётное проиграла\n" if odd != 'None': roombets = ast.literal_eval(odd) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на нечётное проиграла\n" if black != 'None': roombets = ast.literal_eval(black) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на чёрное проиграла\n" if red != 'None': roombets = ast.literal_eval(red) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на красное проиграла\n" if first_gap != 'None': roombets = ast.literal_eval(first_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 1-12 проиграла\n" if second_gap != 'None': roombets = ast.literal_eval(second_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 13-24 проиграла\n" if third_gap != 'None': roombets = ast.literal_eval(third_gap) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 2 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") getusername = (F"SELECT username,balance FROM goldenusers WHERE userid = '{userid}'") cursor.execute(getusername) userinfo = cursor.fetchone() username = userinfo[0] stavka = "{:,}".format(roombets[bet + 1]).replace(',',' ') messagelose += F"❌ {username} ставка {stavka} на 25-36 проиграла\n" if numbers != 'None': roombets = ast.literal_eval(numbers) roombetsvalue = len(roombets) for bet in range(roombetsvalue): if bet % 3 == 0: userid = roombets[bet] cursor.execute(F"UPDATE goldenusers set max_bet = '0', last_number = 'None' Where userid = '{userid}'") cursor.execute(F"SELECT username,balance,wins_all,wins_today FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() username = userinfo[0] userbalance = round(int(userinfo[1]) + roombets[bet+1] * 13) wins_all = int(userinfo[2]) + round(roombets[bet+1] * 13) stavka = "{:,}".format(roombets[bet + 1]).replace(',',',') if dropvalue == roombets[bet + 2]: cursor.execute(F"UPDATE goldenusers set balance = '{userbalance}',wins_all= '{wins_all}',wins_today = '{wins_all}' WHERE userid = '{userid}'") prize = "{:,}".format(round(roombets[bet+1] * 13)).replace(',',',') messagewin += F"✅ {username} ставка {stavka} на число {roombets[bet + 2]} выиграла! (приз {prize} коинов)\n" else: messagelose += F"❌ {username} ставка {stavka} на число {roombets[bet + 2]} проиграла\n" #------------------------------------------------------------------ #------------------------------------------------------------------ #------------------------------------------------------------------ messagewin += messagelose messagewin += F'\n\nХэш игры: {room_hash}\nПроверка честности: {hash_decode}' for i in range(15): randompass += random.choice(chars) dropvalue = random.randint(1,38) if (dropvalue == 37) or (dropvalue == 38): dropvalue = 0 else: dropvalue = dropvalue if (dropvalue >= 1 and dropvalue <= 18): color = 'red' else: color = 'black' if color == 'black': ss = 'black' else: ss = 'red' if dropvalue == 0: hashdecode = F"{dropvalue}|zero|{randompass}" md5hash = hashlib.md5(hashdecode.encode()).hexdigest() else: hashdecode = F"{dropvalue}|{ss}|{randompass}" md5hash = hashlib.md5(hashdecode.encode()).hexdigest() cursor.execute(F"UPDATE goldenrooms SET rolltime ='{timenow}',dropvalue ='{dropvalue}',dropcolor = '{color}',hash = '{md5hash}',hash_decode = '{hashdecode}' WHERE room_id = '{room_id}'") messages_send(room_id,'Итак, результаты раунда...',menu.main()) time.sleep(1) message_win_send(room_id,messagewin,winimg) except Exception: traceback.print_exc()
def acceptbet(userid,roomid,bet): try: conn = psycopg2.connect(dbname=settings.pgdatabase, user=settings.pguser, password=settings.pgpassword, host=settings.pghost) with conn.cursor() as cursor: conn.autocommit = True cursor.execute(F"SELECT rolltime FROM goldenrooms") rolltime = cursor.fetchone()[0] roomrolltime = datetime.strptime(rolltime, '%Y-%m-%d %H:%M:%S') timenow = datetime.now() seconds = (timenow - roomrolltime).seconds if seconds >= 55: pass else: value = {'black':0,'red':1,'odd':2,'even':3,'numbers':4,'first_gap':5,'second_gap':6,'third_gap':7} userid = int(userid) cursor.execute(F"SELECT * FROM goldenusers WHERE userid = '{userid}'") userinfo = cursor.fetchone() name = userinfo[1].split()[0] balance = int(userinfo[2]) bonus_balance = int(userinfo[3]) textchoice = userinfo[6] get_number = userinfo[9] if textchoice == 'numbers': if get_number == 'None': if (bet >= 0) and (bet <= 36): cursor.execute(F"UPDATE goldenusers SET last_number = '{bet}'") messages_send(roomid,F"{name}, введи ставку на число {bet}:",menu.main()) return 'hello' else: return 'hello' if textchoice != 'None': maxbet = int(userinfo[7]) maxbet += bet if (maxbet <= 100900000000) and (bet > 99): if balance + bonus_balance >= bet: if balance - bet >= 0: newbalance = balance - bet cursor.execute(F"UPDATE goldenusers SET balance = '{newbalance}',last_choice = 'None',max_bet = '{maxbet}',last_number = 'None' WHERE userid = '{userid}'") elif balance - bet < 0: newbalance = 0 newbonus_balance = bonus_balance - (bet - balance) cursor.execute(F"UPDATE goldenusers SET balance = '{newbalance}',bonus_balance = '{newbonus_balance}',last_choice = 'None',max_bet = '{maxbet}',last_number = 'None' WHERE userid = '{userid}'") cursor.execute(F"SELECT black,red,odd,even,numbers,first_gap,second_gap,third_gap FROM goldenrooms WHERE room_id = '{roomid}'") roominfo = cursor.fetchone() choice = roominfo[value[textchoice]] if textchoice == 'numbers': if choice == 'None': bets = F"[{userid},{bet},{get_number}]" cursor.execute(F"UPDATE goldenrooms SET {textchoice} = '{bets}',play = 'Yes' WHERE room_id = '{roomid}'") message = F"{name}, успешная ставка {bet} коинов на число {get_number}" messages_send(roomid,message,menu.main()) else: bets = ast.literal_eval(choice) g = False if userid in bets: k = 0 for i in bets: if (int(i) == int(userid)) and (int(bets[k + 2]) == int(get_number)): lastbet = bets[k + 1] nowbet = lastbet + bet bets[k + 1] = nowbet g = True k += 1 if g == False: bets.append(int(userid)) bets.append(int(bet)) bets.append(int(get_number)) else: bets.append(int(userid)) bets.append(int(bet)) bets.append(int(get_number)) cursor.execute(F"UPDATE goldenrooms SET {textchoice} = '{bets}',play = 'Yes' WHERE room_id = '{roomid}'") bet = "{:,}".format(bet).replace(',',',') message = F"{name}, успешная ставка {bet} коинов на число {get_number}" messages_send(roomid,message,menu.main()) else: if choice == 'None': bets = F"[{userid},{bet}]" cursor.execute(F"UPDATE goldenrooms SET {textchoice} = '{bets}',play = 'Yes' WHERE room_id = '{roomid}'") else: bets = ast.literal_eval(choice) if userid in bets: choiceid = bets.index(userid) lastbet = bets[choiceid + 1] nowbet = lastbet + bet bets[choiceid + 1] = nowbet else: bets.append(int(userid)) bets.append(int(bet)) cursor.execute(F"UPDATE goldenrooms SET {textchoice} = '{bets}',play = 'Yes' WHERE room_id = '{roomid}'") bet = "{:,}".format(bet).replace(',',' ') message = F"{name}, успешная ставка {bet} коинов" messages_send(roomid,message,menu.main()) else: cursor.execute(F"UPDATE goldenusers SET last_choice = 'None',last_number = 'None' WHERE userid = '{userid}'") message = F"{name}, на вашем балансе недостаточно средств." messages_send(roomid,message,menu.main()) else: cursor.execute(F"UPDATE goldenusers SET last_choice = 'None',last_number = 'None' WHERE userid = '{userid}'") message = F"{name}, максимальная сумма ставок: 100900000000 коинов, минимальная: 100." messages_send(roomid,message,menu.main()) except Exception: traceback.print_exc()
def main(twoPlayer, playComputer, White, Black): black_player = chessboard.setBlack() white_player = chessboard.setWhite() players = chessboard.Players() for sprites in black_player.sprites(): players.add(sprites) for sprites in white_player.sprites(): players.add(sprites) black_pieces = black_player.sprites() white_pieces = white_player.sprites() Pieces = black_pieces + white_pieces blackPiece = [] whitePiece = [] screen = pygame.display.set_mode((640, 640)) gridsquare = chessboard.convert(pygame.Surface((80, 80)).convert_alpha()) board = pygame.image.load('chessboard.gif').convert() board = pygame.transform.scale(board, (640, 640)) clearBoard = pygame.image.load('chessboard.gif').convert() clearBoard = pygame.transform.scale(clearBoard, (640, 640)) players.draw(board) screen.blit(board, (0, 0)) grid = [] newPiece = None for y in range(0, 640, 80): for x in range(0, 640, 80): occupied = False for piece in Pieces: if piece.xpos == x + 40 and piece.ypos == y + 40: occupied = True newPiece = piece if occupied: s = chessboard.Square(gridsquare, x, y, newPiece) #screen.blit(s.image, (x, y)) grid.append(s) else: s = chessboard.Square(gridsquare, x, y, None) #screen.blit(s.image, (x, y)) grid.append(s) pygame.display.update() checkmate = False stalemate = False turn = True whiteKing = None blackKing = None whiteCount = 0 blackCount = 0 while True: while not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if twoPlayer: while turn and not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() turn = user.movement_whitePlayer(white_player, event, grid, whitePiece, screen, board, clearBoard, black_player, players) black_pieces = black_player.sprites() if len(black_pieces) == 1: whiteCount += 1 for black_piece in black_player: if type(black_piece) == chessboard.King: blackKing = black_piece checkmate = blackKing.checkmate(black_player, white_player, grid) stalemate = blackKing.stalemate(black_player, white_player, grid) if whiteCount == 50: stalemate = True elif len(white_pieces) == 1 and len(black_pieces) == 1: stalemate = True while not turn and not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() turn = user.movement_blackPlayer(black_player, event, grid, blackPiece, screen, board, clearBoard, white_player, players) white_pieces = white_player.sprites() if len(white_pieces) == 1: blackCount += 1 for white_piece in white_player: if type(white_piece) == chessboard.King: whiteKing = white_piece if not checkmate and not stalemate: checkmate = whiteKing.checkmate(white_player, black_player, grid) stalemate = whiteKing.stalemate(white_player, black_player, grid) if blackCount == 50: stalemate = True elif len(white_pieces) == 1 and len(black_pieces) == 1: stalemate = True elif playComputer: if White: while turn and not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() turn = user.movement_whitePlayer(white_player, event, grid, whitePiece, screen, board, clearBoard, black_player, players) black_pieces = black_player.sprites() if len(black_pieces) == 1: whiteCount += 1 for black_piece in black_player: if type(black_piece) == chessboard.King: blackKing = black_piece checkmate = blackKing.checkmate(black_player, white_player, grid) stalemate = blackKing.stalemate(black_player, white_player, grid) if whiteCount == 50: stalemate = True elif len(white_pieces) == 1 and len(black_pieces) == 1: stalemate = True if not turn and not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() turn = AI.movement_blackPlayer(black_player, event, grid, screen, board, clearBoard, white_player, players) white_pieces = white_player.sprites() if len(white_pieces) == 1: blackCount += 1 for white_piece in white_player: if type(white_piece) == chessboard.King: whiteKing = white_piece if not checkmate and not stalemate: checkmate = whiteKing.checkmate(white_player, black_player, grid) stalemate = whiteKing.stalemate(white_player, black_player, grid) if blackCount == 50: stalemate = True elif len(white_pieces) == 1 and len(black_pieces) == 1: stalemate = True #turn = True elif Black: if turn and not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() turn = AI.movement_whitePlayer(white_player, event, grid, screen, board, clearBoard, black_player, players) black_pieces = black_player.sprites() if len(black_pieces) == 1: whiteCount += 1 for black_piece in black_player: if type(black_piece) == chessboard.King: blackKing = black_piece checkmate = blackKing.checkmate(black_player, white_player, grid) stalemate = blackKing.stalemate(black_player, white_player, grid) if whiteCount == 50: stalemate = True elif len(white_pieces) == 1 and len(black_pieces) == 1: stalemate = True while not turn and not checkmate and not stalemate: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() turn = user.movement_blackPlayer(black_player, event, grid, blackPiece, screen, board, clearBoard, white_player, players) white_pieces = white_player.sprites() if len(white_pieces) == 1: blackCount += 1 for white_piece in white_player: if type(white_piece) == chessboard.King: whiteKing = white_piece if not checkmate and not stalemate: checkmate = whiteKing.checkmate(white_player, black_player, grid) stalemate = whiteKing.stalemate(white_player, black_player, grid) if blackCount == 50: stalemate = True elif len(white_pieces) == 1 and len(black_pieces) == 1: stalemate = True text = pygame.font.Font(None, 25) prompt = None if blackKing.checkmate(black_player, white_player, grid): prompt = text.render("White Won: Press Y to play again, Press N for menu", True, (0, 0, 255)) elif whiteKing.checkmate(white_player, black_player, grid): prompt = text.render("Black Won: Press Y to play again, Press N for menu", True, (0, 0, 255)) elif stalemate: prompt = text.render("Draw: Press Y to play again, Press N for menu", True, (0, 0, 255)) players.clear(board, clearBoard) players.draw(board) screen.blit(board, (0, 0)) select = False while not select: screen.blit(prompt, (0, 320)) pygame.display.update() pygame.event.pump() keys = pygame.key.get_pressed() if keys[pygame.K_y]: players.clear(board, clearBoard) players.empty() black_player = chessboard.setBlack() white_player = chessboard.setWhite() for sprites in black_player.sprites(): players.add(sprites) for sprites in white_player.sprites(): players.add(sprites) black_pieces = black_player.sprites() white_pieces = white_player.sprites() Pieces = black_pieces + white_pieces blackPiece = [] whitePiece = [] players.draw(board) screen.blit(board, (0, 0)) grid = [] newPiece = None for y in range(0, 640, 80): for x in range(0, 640, 80): occupied = False for piece in Pieces: if piece.xpos == x + 40 and piece.ypos == y + 40: occupied = True newPiece = piece if occupied: s = chessboard.Square(gridsquare, x, y, newPiece) #screen.blit(s.image, (x, y)) grid.append(s) else: s = chessboard.Square(gridsquare, x, y, None) #screen.blit(s.image, (x, y)) grid.append(s) pygame.display.update() checkmate = False stalemate = False turn = True whiteKing = None blackKing = None whiteCount = 0 blackCount = 0 select = True elif keys[pygame.K_n]: menu.main()
def main(): # Short buffer for low latency. try: pygame.mixer.pre_init(buffer=512) except: pass pygame.init() pygame.time.set_timer(pygame.VIDEOEXPOSE, 1000 / framerate) window = pygame.display.set_mode((window_width, window_height)) pygame.display.toggle_fullscreen() while True: if len(sys.argv) > 1: editing = "-e" in sys.argv levels = [] level_filename = sys.argv[-1] levels.append(level_filename) if len(sys.argv) > 1 and os.path.isfile(level_filename): levels = [eval(open(level_filename).read())] else: if not editing: if len(sys.argv) == 2: print "Level \"%s\" does not exist. Try creating a level using the editor option (-e)." % level_filename print "Usage: %s [-e] level" % sys.argv[0] sys.exit(1) layernames = [None, None, "mountains_1.png", "clouds_1.png", "mountains_2.png", "clouds_2.png", "mountains_3.png", "clouds_3.png", None, None, "heaven.png"] tilemap = [] for i in range(14): tilemap.append([0 for i in range(3 * window_width // tile_width)]) tilemap.append([2 for i in range(3 * window_width // tile_width)]) spikytiles = [4, 5] baddies = [] level = layernames, tilemap, spikytiles, baddies else: editing, level_filenames = menu.main(window) levels = [eval(open(level_filename).read()) for level_filename in level_filenames] tiles = load_tiles(tiles_path, tile_width, tile_height) if editing: level, _ = play(levels[0], window, tiles, editing=editing) f = open(level_filename, "w") f.write(repr(level)) f.close() else: for level in levels: tries = 3 win = False while not win and tries > 0: level, win = play(level, window, tiles, editing=editing) tries -= 1 if tries <= 0 and not win: break cutscene.cutscene(window, "cutscenes/credits/bg.png", "cutscenes/credits/fg.png", "art/music/Yetis theme 1.mp3", "cutscenes/credits/text") pygame.mixer.music.stop() if editing: break
def showpop_countries(op, pop): db = pymysql.connect(host="localhost", user="******", password="******", db="world", cursorclass=pymysql.cursors.DictCursor) global local_data_load global df query = "SELECT * FROM country WHERE Population " + op + " %s" if (local_data_load == True): df = df[['Code', 'Name', 'Continent', 'Population']] # Filtering column selection column_list = [ df.columns.values.tolist() ] + df.values.tolist() # Convert the DataFrame into a list/array f = '{:<8}|{:<45}|{:<15}|{:<8}' # Formatting the layout for i in column_list: # Loop to format a tabular structure instead of array structure print(f.format(*i)) print("") print( "Queries will now be applied to the locally stored data above...") print("") print("The result of you local query result is outputted below...") print("") # Control flow for filtering local queries, fully formatted: if (op == "<"): # For less than queries print(df[df['Population'] <= pop], f.format) elif (op == ">"): # For greater than queries print(df[df['Population'] >= pop], f.format) else: print(df[df['Population'] == pop], f.format) # For equal to queries print("") print("Why not try another query?!") print("") while True: choice = input( "Or would you like to save your data to Excel?...Please type y or n:" ) if (choice == "y"): print("") print("Saving to Excel!...") writer = ExcelWriter('Choice_7_output.xlsx') df.to_excel(writer, 'Choice_7_output') writer.save() menu.main() elif (choice == "n"): print("") print("Returning to main menu...") menu.main() False else: with db: cursor = db.cursor() cursor.execute(query, (pop)) countries = cursor.fetchall() for c in countries: print(c["Code"], "|", c["Name"], "|", c["Continent"], "|", c["Population"]) if (local_data_load == False): df = pd.DataFrame(countries) local_data_load = True print("") print("Saving output query data locally...") print("")
'DOWN': True, 'LEFT': True, 'RIGHT': True, } #окно pygame.init() pygame.display.set_caption('Змейка') screen = pygame.display.set_mode((W, H)) pygame.mouse.set_visible(True) #фпс FPS = 60 clock = pygame.time.Clock() font = pygame.font.SysFont('Arial', 26, True) font1 = pygame.font.SysFont('Arial Black', 80, True) score = 0 SW = 5 SH = 5 #фон bg = pygame.image.load('spacex.jpg').convert() bg_rect = bg.get_rect(topleft=(0, 0)) run = True o = True while o: menu(bg, bg_rect, W, H) main(run) over(bg, bg_rect, W, H, run)
#! /usr/bin/env python import sys import os try: __file__ except NameError: pass else: libdir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib')) sys.path.insert(0, libdir) from menu import main main()
def main(): # print menu options to console ----------------------------------------------- # declare menu and file arrays menu_choices = [] file_choices = [] # get path of current folder folder_path = os.path.dirname(os.path.abspath(__file__)) # get names of .xlsx files that are in the folder that are also input files for r, d, f in os.walk(folder_path): # rem r=root, d=dir, f=file for file in f: if '.xlsx' in file and 'brand' in file and 'extract' not in file: # rem for full path use <files.append(os.path.join(r, file))> file_choices.append(file) # print user menu print('\n-----------------------------------------') print(' Brand Input Files') print('-----------------------------------------') spacer = ' ' print('{}{}{}'.format('m', spacer, 'Show Main Menu')) menu_choices.append('m') i = 0 for ic in file_choices: i += 1 print('{} {}'.format(i, ic)) menu_choices.append(str(i)) # get user input print('\nSelect an input file (or \'m\' for Main Menu)') gold_choice = input() # validate user input while gold_choice not in menu_choices: print('Invalid choice! Select an input file (or \'m\' for Main Menu)') gold_choice = input() if gold_choice == 'm': menu.main() # if the user chooses 'm', then program control goes back to menu.main(), # which means that when menu.main() terminates, the program control will # return to this program; therefore, it's important to invoke sys.exit() # upon the callback to terminate all py execution in the terminal sys.exit() # identify i/o ---------------------------------------------------------------- f = file_choices[int(gold_choice) - 1] outfile_name = 'ners_' + f[0:len(f) - 5] + '_patterns.jsonl' outfile_path = folder_path + '\\' + outfile_name brands_file = folder_path + '\\' + file_choices[int(gold_choice) - 1] brands_sheet = 'Sheet1' brands_data = pd.read_excel(brands_file, brands_sheet) brands = brands_data['BRAND'] dataLabel = 'BRND' # declare variables ----------------------------------------------------------- # special chars special_chars = [' ', '/', '\\', '+', '-', '.', '&', ',', '(', ')'] # pattern components pp = '{"label":"' + dataLabel + '", "pattern":[' # pp = pattern prefix ps = ']}' # ps = pattern suffix patterns = [] pattern = '' # token components tp = '{"lower":"' # token prefix ts = '"}' # token suffix td = ',' # token delimiter tokens = [] token = '' # build brand patterns -------------------------------------------------------- print('\nBuilding brand patterns...\n') for brand in brands: # iterate thru brands # and build patterns using the pattern/token components from above brand = str(brand) # eliminate any float objects brand = unicodedata.normalize('NFKD', brand).encode( 'ASCII', 'ignore') # convert int'l chars brand = brand.decode('utf-8') # convert bytes to strings brand = brand.lower() # convert brand to lowercase char_count = 0 is_last_char = False for char in brand: char_count += 1 if char_count == len(brand): # set the flag if you've reached the last char in the brand string is_last_char = True if char in special_chars: if token != '': # if you reach a special char, then store the token that you've # built from the preceding chars tokens.append(token) token = '' if char == ' ': # if char is a space, make it empty so that spacy lib can use it char = '' # store the special char as a token tokens.append(char) else: token = token + char if is_last_char == True: tokens.append(token) token = '' # after iterating through the brand string, build the pattern from the # pattern/token components and the tokens that you've stored in the array pattern = pattern + pp tok_count = 0 is_last_token = False for tok in tokens: tok_count += 1 if tok_count == len(tokens): is_last_token = True if is_last_token == False: pattern = pattern + tp + tok + ts + td else: pattern = pattern + tp + tok + ts # store the pattern in the pattern array pattern = pattern + ps patterns.append(pattern) # reset your pattern string and token array before parcing next brand string pattern = '' tokens.clear() # write brand patterns to file ------------------------------------------------ # iterate through pattern array, writing each line to external file # that can then be picked up by the EntityRuler to map Brands to the model brand_count = 0 with open(outfile_path, 'w') as outfile: for line in patterns: outfile.write(line) outfile.write('\n') print(line) brand_count += 1 # end program print('\n') print('Done.') print('JSONL file created.') print('{} brand patterns written to:'.format(brand_count)) print('{}'.format(outfile_path))
def handleQuit(): menu.main() #sys.exit() # This will kill the interpreter quit()
def main(screen): #initilisation phase pygame.init() fps_clock = pygame.time.Clock() start_img = pygame.image.load("Data/Images/Buttons/startbutton.png") back_img = pygame.image.load("Data/Images/Buttons/backbutton.png") select_img = pygame.image.load("Data/Images/selectionarrow.png") start_rect = start_img.get_rect() back_rect = back_img.get_rect() select_rect = select_img.get_rect() start_rect.topleft = (500, 550) back_rect.topleft = (500, 655) select_rect.midleft = (300, 410) tracks = glob.glob("Data/Tracks/*.txt") new_tracks = [] for track in tracks: track = track[12:-4] new_tracks.append(track) tracks = new_tracks font = pygame.font.SysFont("Bookman", 23) track_labels = [] for track in tracks: track_label = font.render(track, 1, (255, 255, 255)) track_labels.append(track_label) selected_track = 0 first_label_pos = 400 list_animated = False end = False while 1: #event phase for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.MOUSEBUTTONDOWN: if start_rect.collidepoint(event.pos): end = 'rhythm' elif back_rect.collidepoint(event.pos): end = 'menu' elif not list_animated and event.pos[0] < 400: if event.pos[1] < 400 and selected_track != 0: list_animated = "Up" selected_track -= 1 track_animate_i = 0 elif event.pos[1] > 400 and selected_track != len(tracks) - 1: list_animated = "Down" selected_track += 1 track_animate_i = 0 keys = pygame.key.get_pressed() if not list_animated: if keys[pygame.constants.K_UP] and selected_track != 0: list_animated = "Up" selected_track -= 1 track_animate_i = 0 elif keys[pygame.constants.K_DOWN] and selected_track != len(tracks) - 1: list_animated = "Down" selected_track += 1 track_animate_i = 0 if keys[pygame.constants.K_RETURN]: end = 'rhythm' #logic phase if list_animated == "Up": first_label_pos += 5 track_animate_i += 1 if track_animate_i == 16: list_animated = False elif list_animated == "Down": first_label_pos -= 5 track_animate_i += 1 if track_animate_i == 16: list_animated = False #render phase screen.fill((0, 0, 0)) # background goes here later label_i = 0 for track_label in track_labels: screen.blit(track_label, (50, (first_label_pos + 80 * label_i))) label_i += 1 screen.blit(start_img, start_rect) screen.blit(back_img, back_rect) screen.blit(select_img, select_rect) pygame.display.flip() fps_clock.tick(60) if end: break if end == 'rhythm': rhythm.main(screen, tracks[selected_track]) elif end == 'menu': menu.main(screen)
def withdraw(roomid,userid): try: url = 'https://corona-coins.ru/api/' headers = {'content-type': 'application/json'} conn = psycopg2.connect(dbname=settings.pgdatabase, user=settings.pguser, password=settings.pgpassword, host=settings.pghost) with conn.cursor() as cursor: conn.autocommit = True userget = (F"SELECT * FROM goldenusers WHERE userid = '{userid}'") cursor.execute(userget) user = cursor.fetchall()[0] username = user[1] balance = int(user[2]) if balance > 0: botbalance = get_withdraw() if balance <= botbalance: payload = {'token':'sV6m66q8x5QL8ESKAwV3DiKVybYumFkL','method':'transfer','to_id':F'{userid}','amount':f'{balance}'} r = requests.post(url, data=json.dumps(payload), headers=headers) update = sql.SQL(F"UPDATE goldenusers SET balance = '0' WHERE userid = '{userid}'") cursor.execute(update) balance = "{:,}".format(balance).replace(',',',') messages_send(roomid,F'*id{userid} ({get_username(userid).split()[0]}), выведено {balance} коинов',menu.main()) else: messages_send(roomid,F'*id{userid} ({get_username(userid).split()[0]}), на балансе бота недостаточно средств.',menu.main()) except Exception: traceback.print_exc()
class Client: NICK = '' HOST = '' PORT = random.randint(32768, 65535.) BUFSIZ = 4096 ADDR = (HOST, PORT) PUBLIC_KEY = 1 IS_BOOTSTRAP = False # Dictionary with nick as key, references IP and socket (if no connection established, socket is None) # peer_list[nick] = (adr, listening_port, public_key, socket_object) peer_list = {} def __init__(self): try: self.peer_list['bootstrap'] = ('', 33000, self.PUBLIC_KEY, None) self.NICK = raw_input("What is your nick?") # Initate contact with the bootstrap, send nick, and add to lists self.connect_to_peer('bootstrap') #Start a thread for accepting incoming peers ACCEPT_THREAD = Thread(target=self.accept_incoming_connections) ACCEPT_THREAD.daemon = True ACCEPT_THREAD.start() # Start a menu thread for client MENU_THREAD = Thread(target=self.client_menu) MENU_THREAD.daemon = True MENU_THREAD.start() except (KeyboardInterrupt, SystemExit): print("Aborting mission!") #Function that starts a new thread for every new connection. def accept_incoming_connections(self): """Sets up handling for incoming clients.""" ACCEPT_SOCKET = sock.socket(sock.AF_INET, sock.SOCK_STREAM) ACCEPT_SOCKET.setsockopt(sock.SOL_SOCKET, sock.SO_REUSEADDR, 1) ACCEPT_SOCKET.bind((self.HOST, self.PORT)) ACCEPT_SOCKET.listen(5) while True: try: # Accepts incoming connection, receives nick and listening port peer_socket, peer_address = ACCEPT_SOCKET.accept() ip, _ = peer_address print("%s has connected" % ip) msg = peer_socket.recv(self.BUFSIZ) nick = pickle.loads(msg) print("Nick: " + nick) listening_port = peer_socket.recv(self.BUFSIZ) listening_port = listening_port[1:6] listening_port = int(listening_port) print("Client's listening port: " + str(listening_port)) self.peer_list[nick] = (ip, listening_port, self.PUBLIC_KEY, peer_socket) # Starts a handler for new peer PEER_HANDLER = Thread(target=self.handle_peer_client, args=(nick,)) PEER_HANDLER.daemon = True PEER_HANDLER.start() except KeyboardInterrupt: print("Failed to connect to a client") ACCEPT_SOCKET.close() return def connect_to_peer(self, nick): # Initate contact with the bootstrap, send nick, and add to lists PEER_CONNECTION = sock.socket(sock.AF_INET, sock.SOCK_STREAM) PEER_CONNECTION.setsockopt(sock.SOL_SOCKET, sock.SO_REUSEADDR, 1) address = (self.get_from_peer(nick, 'ip'), self.get_from_peer(nick, 'port')) #print("Trying to connect to: " + str(address)) PEER_CONNECTION.connect(address) self.update_peer(nick, 'socket', PEER_CONNECTION) PEER_CONNECTION.sendall(pickle.dumps(self.NICK)) t.sleep(0.3) PEER_CONNECTION.sendall(pickle.dumps(self.PORT)) print("Connected to %s" % nick) # Start a handler thread for peer HANDLER_THREAD = Thread(target=self.handle_peer_client, args=(nick,)) HANDLER_THREAD.daemon = True HANDLER_THREAD.start() def handle_peer_client(self, nick): #Retreive the socket object via nick peer_socket = self.get_from_peer(nick, 'socket') while True: try: # Decoding the message payload = peer_socket.recv(self.BUFSIZ) (flag, content) = pickle.loads(payload) # Send peer peer list if flag == 'u': payload = self.create_sendable_peer_list() data = ('p', payload) peer_socket.sendall(pickle.dumps(data)) # Accept incoming peer list, add peers that don't exist in peer list if flag == 'p': for entry in content: if entry not in self.peer_list: self.peer_list[entry] = content[entry] if flag == 'm': text, from_nick, to_nick = content print(to_nick + " recieved a message from " + from_nick + ": " + text) self.user.add_recieved_text(text, from_nick) except KeyboardInterrupt: print("Aborting mission!") peer_socket.close() except EOFError: peer_socket.close() print("Lost connection to %s" %nick) return def send_message(self, text, from_nick, to_nick): peer_socket = self.get_from_peer(to_nick, 'socket') if peer_socket == None: self.connect_to_peer(to_nick) peer_socket = self.get_from_peer(to_nick, 'socket') msg = (text, from_nick, to_nick) data = ('m', msg) peer_socket.sendall(pickle.dumps(data)) def get_from_peer(self, nick, argument): (ip, listening_port, public_key, socket) = self.peer_list[nick] switcher = { 'ip': ip, 'port': listening_port, 'key': public_key, 'socket': socket } return switcher[argument] # Helper function that updates a given argument with new_value. # for example, update_peer("Joha", "ip" "130...."), will update Joha's ip with the new value def update_peer(self, nick, argument, new_value): (ip, listening_port, public_key, socket) = self.peer_list[nick] if argument == 'ip': self.peer_list[nick] = (new_value, listening_port, public_key, socket) elif argument == 'port': self.peer_list[nick] = (ip, new_value, public_key, socket) elif argument == 'key': self.peer_list[nick] = (ip, listening_port, new_value, socket) elif argument == 'socket': self.peer_list[nick] = (ip, listening_port, public_key, new_value) else: print("Invalid argument") # Sends an update request to bootstrap def update_peer_list(self): b_socket = self.get_from_peer('bootstrap', 'socket') msg = pickle.dumps(('u', 'b')) b_socket.sendall(msg) def create_sendable_peer_list(self): copy = self.peer_list.copy() for entry in copy: copy[entry] = self.scrub_socket(copy[entry]) return copy def scrub_socket(self, entry): (ip, port, key, socket) = entry return (ip, port, key, None) def print_peer_list(self): print(str(self.peer_list)) def get_peers(self): self.update_peer_list() return self.peer_list.keys() def client_menu(self): self.user = men.User(self.NICK, self) men.main(self.user)
def main(): menu.main()
import menu menu.main()
def Country_name(cn): db = pymysql.connect(host="localhost", user="******", password="******", db="world", cursorclass=pymysql.cursors.DictCursor) global local_data_loaded global df sql = """select * from country where Name like %s""".format(cn) if (local_data_loaded == True): df = df[['Name', 'Continent', 'Population', 'HeadOfState']] # Filtering column selection column_list = [ df.columns.values.tolist() ] + df.values.tolist() # Convert the DataFrame into a list/array f = '{:<45}|{:<15}|{:<15}|{:<8}' # Formatting the layout for i in column_list: # Loop to format a tabular structure instead of array structure print(f.format(*i)) print("") print( "Queries are now applied only to the locally stored dataframe above..." ) print("") print("The result of you local query result is outputted below...") print("") print(df[df['Name'].str.contains(cn) == True]) # Command that queries the locally stored data print("") print("Why not try another query?!") print("") while True: choice = input( "Or would you like to save your data to Excel?...Please type y or n:" ) if (choice == "y"): print("") print("Saving to Excel!...") writer = ExcelWriter('Choice_6_output.xlsx') df.to_excel(writer, 'Choice_6_output') writer.save() menu.main() elif (choice == "n"): print("") print("Returning to main menu...") menu.main() False else: with db: cursor = db.cursor() cursor.execute(sql, ('%' + cn + '%', )) countries = cursor.fetchall() for c in countries: print(c["Name"], "|", c["Continent"], "|", c["Population"], "|", c["HeadOfState"]) if (local_data_loaded == False): df = pd.DataFrame(countries) local_data_loaded = True print("") print("Saving output query data locally...") print("")
def runbot(): while True: try: for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: userid = event.object.from_id roomid = event.object.peer_id text = event.object.text.lower() print(roomid) print(text) if event.object.action != None: if event.object.action[ 'type'] == 'chat_invite_user_by_link': sql.UserReg(userid, get_username(userid), 'None') if (text == '[club193803197|@winwheelcoronacoin] банк' or text == '[club193803197|win wheel corona coin] банк'): sql.GetBank(roomid) elif (text == '[club193803197|@winwheelcoronacoin] баланс' or text == '[club193803197|win wheel corona coin] баланс'): message = sql.GetBalance(userid) messages_send(roomid, message, menu.main()) elif (text == '[club193803197|@winwheelcoronacoin] чётное' or text == '[club193803197|win wheel corona coin] чётное'): sql.SetChoice(userid, roomid, 'even', 'чётное') elif (text == '[club193803197|@winwheelcoronacoin] нечётное' or text == '[club193803197|win wheel corona coin] нечётное'): sql.SetChoice(userid, roomid, 'odd', 'нечётное') elif (text == '[club193803197|@winwheelcoronacoin] красное' or text == '[club193803197|win wheel corona coin] красное'): sql.SetChoice(userid, roomid, 'red', 'красное') elif (text == '[club193803197|@winwheelcoronacoin] чёрное' or text == '[club193803197|win wheel corona coin] чёрное'): sql.SetChoice(userid, roomid, 'black', 'чёрное') elif (text == '[club193803197|@winwheelcoronacoin] 1-12' or text == '[club193803197|win wheel corona coin] 1-12'): sql.SetChoice(userid, roomid, 'first_gap', 'промежуток 1-12') elif (text == '[club193803197|@winwheelcoronacoin] 13-24' or text == '[club193803197|win wheel corona coin] 13-24'): sql.SetChoice(userid, roomid, 'second_gap', 'промежуток 13-24') elif (text == '[club193803197|@winwheelcoronacoin] 25-36' or text == '[club193803197|win wheel corona coin] 25-36'): sql.SetChoice(userid, roomid, 'third_gap', 'промежуток 25-36') elif (text == '[club193803197|@winwheelcoronacoin] на число' or text == '[club193803197|win wheel corona coin] на число'): sql.SetChoiceNumber(userid) messages_send( roomid, F"{get_username(userid).split()[0]}, на какое число ты ставишь?", menu.main()) elif (text == '[club193803197|@winwheelcoronacoin] вывод' or text == '[club193803197|win wheel corona coin] вывод'): sql.withdraw(roomid, userid) elif text == 'adminpanel': if userid == 387159377: messages_send(387159377, 'Админка', menu.adminpanel()) elif 'addbonusbalance' in text: if userid == 387159377: try: text = text.split() userid = int(text[1]) value = int(text[2]) kek = "{:,}".format(value).replace(',', ' ') messages_send( 387159377, F"userid: {userid}\nВыдан бонусный баланс: {kek}", menu.adminpanel()) sql.addbonus_balance(userid, value) except: print('bag') elif 'addbalance' in text: if userid == 387159377: try: text = text.split() userid = int(text[1]) value = int(text[2]) kek = "{:,}".format(value).replace(',', ' ') messages_send( 387159377, F"userid: {userid}\nВыдан баланс: {kek}", menu.adminpanel()) sql.addbalance(userid, value) except: print('bag') elif text == 'обновить топ': if userid == 387159377: sql.admin_updatetop() messages_send(387159377, 'Топ обнулён', menu.adminpanel()) elif text == 'обновить репосты': if userid == 387159377: sql.admin_updaterepost() messages_send(387159377, 'Репосты обновлены', menu.adminpanel()) elif text == 'выдать баланс': if userid == 387159377: messages_send( 387159377, 'Выдать баланс:\naddbalance userid value\nВыдать бонусный баланс:\naddbonusbalance userid value', menu.adminpanel()) elif text.isdigit(): bet = int(text) sql.acceptbet(userid, roomid, bet) elif text[36:].isdigit(): bet = int(text[36:]) sql.acceptbet(userid, roomid, bet) elif text[38:].isdigit(): bet = int(text[38:]) sql.acceptbet(userid, roomid, bet) elif text == 'начать': try: #Если перешёл по реф ссылк invited_from = event.object.ref sql.UserReg(userid, get_username(userid), invited_from) except: sql.UserReg(userid, get_username(userid), 'None') messages_send(userid, 'Добро пожаловать', menu.groupmenu()) elif text == 'найти беседу': messages_send(userid, random.choice(rooms_choicez), menu.groupmenu()) elif text == 'профиль': messages_send(userid, sql.getprofile(userid), menu.groupmenu()) elif text == 'топ игроков': messages_send(userid, sql.get_top(), menu.groupmenu()) elif event.type == VkBotEventType.WALL_REPOST: try: userid = event.object.from_id getsub = methods.groups.isMember(group_id=193803197, user_id=userid) if getsub == 1: sql.repost(userid) except Exception: traceback.print_exc() except Exception: sql.UserReg(userid, get_username(userid), 'None') traceback.print_exc()
def main(): import numpy as np import pygame import sys import math import menu ROW_COUNT = 6 COLUMN_COUNT = 7 BLUE = (0, 0, 230) BLACK = (0, 0, 0) RED = (255, 0, 0) YELLOW = (255, 255, 0) def createBoard(): board = np.zeros((ROW_COUNT, COLUMN_COUNT)) return board def printBoard(board): print(np.flipud(board)) def isValidLocation(col, board): return board[ROW_COUNT - 1][col] == 0 def placePeice(col, board, row, peice): board[row][col] = peice def getNextRow(col, board): for r in range(ROW_COUNT): if board[r][col] == 0: return r def checkIfWon(board, peice): #horizontal locations for win for c in range(COLUMN_COUNT - 3): for r in range(ROW_COUNT): if board[r][c] == peice and board[r][c + 1] == peice and board[ r][c + 2] == peice and board[r][c + 3] == peice: return True #vertical locations for win for c in range(COLUMN_COUNT): for r in range(ROW_COUNT - 3): if board[r][c] == peice and board[r + 1][c] == peice and board[ r + 2][c] == peice and board[r + 3][c] == peice: return True #Check Positive Slope Diagonals for c in range(COLUMN_COUNT - 3): for r in range(ROW_COUNT - 3): if board[r][c] == peice and board[r + 1][ c + 1] == peice and board[r + 2][ c + 2] == peice and board[r + 3][c + 3] == peice: return True #Check Negative Slope Diagonals for c in range(COLUMN_COUNT - 3): for r in range(3, ROW_COUNT): if board[r][c] == peice and board[r - 1][ c + 1] == peice and board[r - 2][ c + 2] == peice and board[r - 3][c + 3] == peice: return True def drawBoard(board): for c in range(COLUMN_COUNT): for r in range(ROW_COUNT): pygame.draw.rect( screen, BLUE, (c * SQUARE, r * SQUARE + SQUARE, SQUARE, SQUARE)) pygame.draw.circle(screen, BLACK, (int(c * SQUARE + SQUARE / 2), int(r * SQUARE + SQUARE + SQUARE / 2)), RADIUS) for c in range(COLUMN_COUNT): for r in range(ROW_COUNT): if board[r][c] == 1: pygame.draw.circle(screen, RED, (int(c * SQUARE + SQUARE / 2), height - int(r * SQUARE + SQUARE / 2)), RADIUS) elif board[r][c] == 2: pygame.draw.circle(screen, YELLOW, (int(c * SQUARE + SQUARE / 2), height - int(r * SQUARE + SQUARE / 2)), RADIUS) pygame.display.update() board = createBoard() game_over = False playerturn = 0 pygame.init() SQUARE = 100 RADIUS = int(SQUARE / 2 - 5) width = COLUMN_COUNT * SQUARE height = (ROW_COUNT + 1) * SQUARE size = (width, height) screen = pygame.display.set_mode(size) drawBoard(board) pygame.display.update() font = pygame.font.SysFont("monospace", 75) while not game_over: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if event.type == pygame.MOUSEMOTION: pygame.draw.rect(screen, BLACK, (0, 0, width, SQUARE)) posx = event.pos[0] if playerturn == 0: pygame.draw.circle(screen, RED, (posx, int(SQUARE / 2)), RADIUS) else: pygame.draw.circle(screen, YELLOW, (posx, int(SQUARE / 2)), RADIUS) pygame.display.update() if event.type == pygame.MOUSEBUTTONDOWN: # print(event.pos) pygame.draw.rect(screen, BLACK, (0, 0, width, SQUARE)) if playerturn == 0: posx = event.pos[0] col = int(math.floor(posx / SQUARE)) if isValidLocation(col, board): row = getNextRow(col, board) placePeice(col, board, row, 1) if checkIfWon(board, 1): print("Player 1 Wins!") label = font.render("Player 1 Wins!!!", 1, RED) screen.blit(label, (40, 10)) game_over = True else: posx = event.pos[0] col = int(math.floor(posx / SQUARE)) if isValidLocation(col, board): row = getNextRow(col, board) placePeice(col, board, row, 2) if checkIfWon(board, 2): print("Player 2 Wins!") label = font.render("Player 2 Wins!!!", 1, YELLOW) screen.blit(label, (40, 10)) game_over = True printBoard(board) drawBoard(board) playerturn += 1 playerturn = playerturn % 2 if game_over: pygame.time.wait(3000) menu.main()
def main(): #Initialize all imported pygame modules. pygame.init() #Clock object used to control the fps. clock = pygame.time.Clock() #Display in fullscreen. Widescreen support. Will resize if necessary. screen = pygame.display.set_mode((1024, 640), pygame.FULLSCREEN, 32) background_path = os.path.join(image_dir, background_image_filename) #background = pygame.Surface(screen.get_size()) background = pygame.image.load(background_path).convert() #Title of the game window if not in fullscreen. pygame.display.set_caption("Watch Out!") #Only the cursor sprite will display, not the mouse cursor. pygame.mouse.set_visible(False) #Initialize object sprites. cursor = Cursor() lives = Lives() hotdog1 = Hotdog() hotdog2 = Hotdog() hotdog3 = Hotdog() hotdog4 = Hotdog() hotdog5 = Hotdog() hotdog6 = Hotdog() hotdogs = [hotdog1, hotdog2, hotdog3, hotdog4, hotdog5, hotdog6] #Hotdog sprite list, easier to handle with iteration #Initialize display sprites. score = Score() livesDisplay = LivesDisplay() highScoreDisplay = HighScoreDisplay() #Animation objects. deathAnimation = DeathAnimation() lifeAnimation = LifeAnimation() #Sprite grouping. sprites = pygame.sprite.RenderPlain(score, cursor, lives, highScoreDisplay) spritesHotdogs = pygame.sprite.RenderPlain(hotdogs) deathSprite = pygame.sprite.RenderPlain(deathAnimation) lifeSprite = pygame.sprite.RenderPlain(lifeAnimation) #Initialize level class. level = Level() Run = True while Run: #Determines if an event occurs. for event in pygame.event.get(): if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE): Run = False #Display background and call update function for sprite classes. screen.blit(background, (0,0)) livesDisplay.update(screen, cursor.lives) sprites.update(screen) spritesHotdogs.update(screen, level.select(score.y)) #Ensure that a hotdog doesn't take away multiple lives from one hit. if cursor.lives >= 1: for hotdog in hotdogs: #Iterate through hotdog sprite list. if pygame.sprite.collide_rect(hotdog, cursor) and hotdog.collided == False: cursor.lives -= 1 hotdog.collided = True #When true, a hotdog cannot subtract from user lives. deathSprite.update(screen) #Addes a life on collision, and ensure that more lives are not added for a single collision. if pygame.sprite.collide_rect(lives, cursor) and lives.collided == False: cursor.lives += 1 lives.collided = True lifeSprite.update(screen) #User has run out of lives. else: Run = False score.highScore() #Call high score class menu.main() #Go back to menu screen. pygame.display.flip() clock.tick(15) #Clock set to 15ms, don't want to stress the CPU.
def main(screen): #initilisation phase pygame.init() fps_clock = pygame.time.Clock() start_img = pygame.image.load("Data/Images/Buttons/startbutton.png") back_img = pygame.image.load("Data/Images/Buttons/backbutton.png") select_img = pygame.image.load("Data/Images/selectionarrow.png") start_rect = start_img.get_rect() back_rect = back_img.get_rect() select_rect = select_img.get_rect() start_rect.topleft = (500, 550) back_rect.topleft = (500, 655) select_rect.midleft = (300, 410) tracks = glob.glob("Data/Tracks/*.txt") new_tracks = [] for track in tracks: track = track[12:-4] new_tracks.append(track) tracks = new_tracks font = pygame.font.SysFont("Bookman", 23) track_labels = [] for track in tracks: track_label = font.render(track, 1, (255, 255, 255)) track_labels.append(track_label) selected_track = 0 first_label_pos = 400 list_animated = False end = False while 1: #event phase for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.MOUSEBUTTONDOWN: if start_rect.collidepoint(event.pos): end = 'rhythm' elif back_rect.collidepoint(event.pos): end = 'menu' elif not list_animated and event.pos[0] < 400: if event.pos[1] < 400 and selected_track != 0: list_animated = "Up" selected_track -= 1 track_animate_i = 0 elif event.pos[1] > 400 and selected_track != len( tracks) - 1: list_animated = "Down" selected_track += 1 track_animate_i = 0 keys = pygame.key.get_pressed() if not list_animated: if keys[pygame.constants.K_UP] and selected_track != 0: list_animated = "Up" selected_track -= 1 track_animate_i = 0 elif keys[pygame.constants. K_DOWN] and selected_track != len(tracks) - 1: list_animated = "Down" selected_track += 1 track_animate_i = 0 if keys[pygame.constants.K_RETURN]: end = 'rhythm' #logic phase if list_animated == "Up": first_label_pos += 5 track_animate_i += 1 if track_animate_i == 16: list_animated = False elif list_animated == "Down": first_label_pos -= 5 track_animate_i += 1 if track_animate_i == 16: list_animated = False #render phase screen.fill((0, 0, 0)) # background goes here later label_i = 0 for track_label in track_labels: screen.blit(track_label, (50, (first_label_pos + 80 * label_i))) label_i += 1 screen.blit(start_img, start_rect) screen.blit(back_img, back_rect) screen.blit(select_img, select_rect) pygame.display.flip() fps_clock.tick(60) if end: break if end == 'rhythm': rhythm.main(screen, tracks[selected_track]) elif end == 'menu': menu.main(screen)
def handleQuit(): menu.main() quit()
def play_game(save, back, check_b, is_loaded=1): """ Ta funkcja jest konieczna do odpalenia gry z poziomu menu, uzycie exec() na tym pliku nie dawalo oczekiwanych rezultatow. """ global GAME_MODE pygame.init() screen_size = game_configs["screen_size"] background = colors["black"] pygame.display.set_caption(game_configs["display_caption"]) game_font = pygame.freetype.Font( game_configs["font_path"], game_configs["font_size"] ) screen = pygame.display.set_mode(screen_size) peg_num = None row_num = None if is_loaded: save_class.load_game(screen) elif not is_loaded: menu = GameSettingMenu( menu_configs["pos"], colors["aqua"], screen, menu_configs["size"] ) menu.draw() # pygame.Rect trójkątnych przycisków pojawiają się dopiero po narysowaniu clickable_rects_menu = menu.rects elements_menu = menu.elements engaged_rect = None while not (peg_num and row_num): """ Pętla menu wyboru parametrów gry """ for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: if pygame.mouse.get_pressed()[0]: x, y = pygame.mouse.get_pos() for rect in clickable_rects_menu: if rect.collidepoint(x, y): engaged_rect = rect else: engaged_rect = None if event.type == pygame.MOUSEBUTTONUP: if engaged_rect: x, y = pygame.mouse.get_pos() if not pygame.mouse.get_pressed()[0] and engaged_rect.collidepoint(x, y): for element in elements_menu: if element.rect == engaged_rect: element.change() engaged_rect = None screen.fill(background) menu.draw() peg_num, row_num = menu.return_game_settings() pygame.display.flip() # dwa ify zapisujące statystyki rozegranych meczy w obu trybach if GAME_MODE == "Letter": data.played_matches += 1 data.win_percentage = round((data.won_matches / data.played_matches) * 100) data.word_version += 1 data.save_stats() elif GAME_MODE == "Peg": data.played_matches += 1 data.win_percentage = round((data.won_matches / data.played_matches) * 100) data.normal_mastermind += 1 data.save_stats() if is_loaded: peg_num = save_class.n_pegs row_num = save_class.rows GAME_MODE = save_class.game_type board = Board( board_configs["pos"], board_configs["size"], board_configs["color"], screen, peg_num, row_num, GAME_MODE # wstawienie tutaj 'Letter' uruchamia tryb słowny, a 'Peg' tryb z kolorami ) if is_loaded: board.rows_of_pegs = save_class.rows_of_pegs board.winning_pegs = save_class.winning_code board.active_row = save_class.active_row logbox = LogBox( logbox_configs["pos"], logbox_configs["size"], logbox_configs["background_color"], logbox_configs["text_color"], screen, logbox_configs["number_of_messages_displayed"], ) if is_loaded: logbox.texts = save_class.texts end_game = False engaged_rect_lmb = None engaged_rect_rmb = None while True: """ Główna pętla gry """ clickable_rects = board.rects elements = board.elements for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: pos = pygame.mouse.get_pos() if save.is_pointing(pos): save_class.save_game(board.active_row, board.n_pegs, board.n_rows, GAME_MODE, board.rows_of_pegs, board.winning_pegs) save_class.save_logbox(logbox.texts) elif back.is_pointing(pos): pygame.display.quit() main() elif end_game: sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: x, y = pygame.mouse.get_pos() if pygame.mouse.get_pressed()[0]: for rect in clickable_rects: if rect.collidepoint(x, y): engaged_rect_lmb = rect engaged_rect_rmb = None elif pygame.mouse.get_pressed()[2]: for rect in clickable_rects: if rect.collidepoint(x, y): engaged_rect_rmb = rect engaged_rect_lmb = None else: engaged_rect_lmb = None engaged_rect_rmb = None if event.type == pygame.MOUSEBUTTONUP: if engaged_rect_lmb: x, y = pygame.mouse.get_pos() if not pygame.mouse.get_pressed()[0] and engaged_rect_lmb.collidepoint(x, y): for element in elements: if element.rect == engaged_rect_lmb: if isinstance(element, CheckButton): end_game = element.change(board) else: element.change() engaged_rect_lmb = None elif engaged_rect_rmb: x, y = pygame.mouse.get_pos() if not pygame.mouse.get_pressed()[2] and engaged_rect_rmb.collidepoint(x, y): for element in elements: if element.rect == engaged_rect_rmb: if isinstance(element, Peg): element.change_reversed() engaged_rect_rmb = None screen.fill(background) board.draw() save.draw(screen) back.draw(screen) check_b.draw(screen) logbox.load_text(board.message) logbox.print_text(game_font) pygame.display.flip()