def get_encode(message_bytes, key): if len(message_bytes) > 248: return key_pos = random_int(0, len(key)) res = bytearray(256) res[0] = key_pos & 255 res[1] = (key_pos >> 8) & 255 res[2] = (key_pos >> 16) & 255 res[3] = len(message_bytes) curpos = 4 trash_size = (248 - len(message_bytes)) // 2 for i in range( curpos, curpos + trash_size - 1 + ((248 - len(message_bytes)) % 2) + 1): res[i] = random_int(0, 255) curpos += trash_size + ((248 - len(message_bytes)) % 2) res[curpos:curpos + len(message_bytes)] = message_bytes[:] curpos += len(message_bytes) for i in range(curpos, curpos + trash_size): res[i] = random_int(0, 255) curpos += trash_size msg_hash = get_message_hash(res, 4) res[curpos:curpos + len(msg_hash)] = msg_hash[:] for i in range(3, len(res)): res[i] = res[i] ^ key[(key_pos + i) % len(key)] return res
def on_touch_down(self, touch): if self.position == 'menu' or self.position == 'game_over': Clock.unschedule(self.main_loop) self.menu_sound.stop() self.score = 0 self.position = 'menu' self.w, self.h = Window.size self.w = int(self.w) self.h = int(self.h) self.snake = [[5, 2], [4, 2], [3, 2]] self.apple = [ random_int(0, int(self.w / self.grid) - 1), random_int(0, int(self.h / self.grid) - 1) ] self.score = 0 self.snake_vector = 'right' self.last_arrow = 'right' self.fps = self.default_fps self.position = 'game' if touch.x < self.size[0] / 2: self.new_move_type = True else: self.new_move_type = False Clock.schedule_interval(self.main_loop, 1 / self.fps) elif self.position == 'game': if self.new_move_type: ws = touch.x / self.size[0] hs = touch.y / self.size[1] aws = 1 - ws if ws > hs and aws > hs: if not self.snake_vector == 'up': self.last_arrow = 'down' elif ws > hs >= aws: if not self.snake_vector == 'left': self.last_arrow = 'right' elif ws <= hs < aws: if not self.snake_vector == 'right': self.last_arrow = 'left' else: if not self.snake_vector == 'down': self.last_arrow = 'up' else: if touch.x < self.size[0] / 4: if not self.snake_vector == 'right': self.last_arrow = 'left' elif touch.x < self.size[0] / 2: if not self.snake_vector == 'left': self.last_arrow = 'right' elif touch.y < self.size[1] / 2: if not self.snake_vector == 'up': self.last_arrow = 'down' else: if not self.snake_vector == 'down': self.last_arrow = 'up'
def redraw_logo(): canvas.delete("all") img = logos[random_int(0, len(logos) - 1)] canvas.create_image((logo_size // 2, logo_size // 2), image=img, state="normal") canvas.after(200, redraw_logo)
def _jump(self, particle): #create speed = 1.0 s = random_int(10,20) s = float(s/10) particle.animation.y.speed = -s particle.animation.y.vel = 0.1
def ai(request): if not 'player1' in request.session: print "player 1 missing - redirecting to /" return HttpResponseRedirect(redirect_to="/") if not 'player2' in request.session: request.session['player2'] = ChessUser.objects.get( username="******") if request.method == "GET" and 'new_game' in request.GET: player1 = request.session.get("player1", "ANONYMOUS") player2 = request.session.get("player2", "ANONYMOUS") #player1 is white, swap then randomly before assigning if random_int(1, 10) > 5: player1, player2 = player2, player1 ab = init_bricks() data = json.dumps(ab) cg = ChessGame(ab=data, player_white_pk=player1['pk'], player_black_pk=player2['pk']) cg.save() request.session['game_id'] = cg.pk return HttpResponseRedirect("/ai/") if not 'game_id' in request.session: return HttpResponseRedirect("/ai/?new_game=1") #get game object cg = ChessGame.objects.get(pk=int(request.session['game_id'])) #make ai move (will only move if its his turn) make_ai_move.delay(int(cg.pk)) if request.method == "GET" and 'move' in request.GET: response = do_move(request) make_ai_move.delay(int(cg.pk)) return response context = { 'bricks': cg.ab, 'board': generate_board(), 'turn': cg.turn, 'player_white': cg.player_white_pk, 'player_black': cg.player_black_pk, 'game_over': cg.game_over, 'player1': json.dumps(request.session['player1']), 'player1pk': request.session['player1']['pk'], 'player1name': request.session['player1']['username'], 'player2': json.dumps(request.session['player2']), 'player2pk': request.session['player2']['pk'], 'player2name': request.session['player2']['username'], 'game_id': request.session['game_id'] } return render_to_response("game.html", context, context_instance=RequestContext(request))
def create_room(room_name, admin_username, pwd_hash): admin_username = admin_username.lower() if not re_match(r'^[A-z0-9._А-яЁё]{3,30}', admin_username): return "Invalid room name" if not re_match(r'^[A-z0-9._]{3,16}', admin_username): return "Invalid admin username" room_id = random_int(-2000000000, 2000000000) while sql_exec(f"""SELECT * FROM rooms WHERE room_id = {room_id}"""): room_id = random_int(-2000000000, 2000000000) sql_exec(f"""INSERT INTO rooms VALUES( {room_id}, '{room_name}', '{admin_username}', '{admin_username};{pwd_hash}', '0', {int(time())} );""") return room_id
def prepare_logo(): for f in range(10): img = PhotoImage(width=logo_size, height=logo_size) img.blank() for y in range((124) // 2): for x in range(logo[-1]): if isbitset(logo, x, y): img.put("green" if random_int(0, 2) else "lime", (x << 2, y << 2)) logos.append(img)
def game_over(): global typer global fps global speed_gameover speed_gameover = fps typer = 'game_over' fps = 60 if music == True: pygame.mixer.music.stop() pygame.mixer.music.load('fail' + str(random_int(1, 3)) + '.wav') pygame.mixer.music.play()
def random_move(): num = random_int(1, 4) if num == 1: action = slap elif num == 2: action = punch elif num == 3: action = kick elif num == 4: action = flying_kick return action
def test_text(self): """Test of adding text to elements """ s = random_str() for cls in _get_elements_classes( except_subcls=htmler.SingleTagElement): self._test_render(cls, s, htmler.Text(s)) self._test_render(cls, s, s) # Pass not str as first argument n = random_int(0, 65535) assert htmler.Text(n).render() == str(n)
def ai(request): if not 'player1' in request.session: print "player 1 missing - redirecting to /" return HttpResponseRedirect(redirect_to="/") if not 'player2' in request.session: request.session['player2'] = ChessUser.objects.get(username="******") if request.method == "GET" and 'new_game' in request.GET: player1 = request.session.get("player1", "ANONYMOUS") player2 = request.session.get("player2", "ANONYMOUS") #player1 is white, swap then randomly before assigning if random_int(1, 10) > 5: player1, player2 = player2, player1 ab = init_bricks() data = json.dumps(ab) cg = ChessGame(ab=data, player_white_pk=player1['pk'], player_black_pk=player2['pk']) cg.save() request.session['game_id'] = cg.pk return HttpResponseRedirect("/ai/") if not 'game_id' in request.session: return HttpResponseRedirect("/ai/?new_game=1") #get game object cg = ChessGame.objects.get(pk=int(request.session['game_id'])) #make ai move (will only move if its his turn) make_ai_move.delay(int(cg.pk)) if request.method == "GET" and 'move' in request.GET: response = do_move(request) make_ai_move.delay(int(cg.pk)) return response context = {'bricks':cg.ab, 'board':generate_board(), 'turn':cg.turn, 'player_white':cg.player_white_pk, 'player_black':cg.player_black_pk, 'game_over':cg.game_over, 'player1':json.dumps(request.session['player1']), 'player1pk':request.session['player1']['pk'], 'player1name':request.session['player1']['username'], 'player2':json.dumps(request.session['player2']), 'player2pk':request.session['player2']['pk'], 'player2name':request.session['player2']['username'], 'game_id':request.session['game_id'] } return render_to_response("game.html", context, context_instance=RequestContext(request))
def random_opponent(): num = random_int(1, 5) if num == 1: opponent = Iron_man elif num == 2: opponent = Captain_America elif num == 3: opponent = Hawkeye elif num == 4: opponent = Thor elif num == 5: opponent = Hulk return opponent
def _rocking_animation(self): #init if self.sprite == None: return #randomize axis sprite = self.sprite number = random_int(0,1) choice = [sprite.animation.x, sprite.animation.y] animation = choice[number] if sprite != None \ and sprite.animation.x.stopped\ and sprite.animation.y.stopped: #choose correct end point end_choice = [self.x, self.y] animation.end = end_choice[number] #randomize direction speed, vel = +0.5, -0.1 if random_int(0,1) == 1: speed, vel = -speed, -vel animation.speed = speed animation.vel = vel
def create(self, amt=1, area=(0,0,0,0)): #Randomly speckle the sprites within an area. #Only allow it to do so in the proper intervals. if self.clock.elapsed_time.seconds < self.interval: return self.clock.restart() #Create the particles. texture = MyTexture("assets/effects/dust.PNG") for i in range(amt): sprite = MySprite(texture) sprite.clip.set(10,10) #random CLIP c = random_int(0,3) sprite.clip.use(c,0) #Random AREA. x1, y1, x2, y2 = area x2 -= sprite.w y2 -= sprite.h if x2 < x1: x2 = x1 if y2 < y1: y2 = y1 x = random_int(x1, x2) y = random_int(y1, y2) sprite.x, sprite.y = x, y # #animate self._jump(sprite) self._fade(sprite) # self.particles.append(sprite)
def wait(self, led=None): while self.reconnect: try: if wifi.is_connected(): self.connect() while True: gc_collect() try: self.mqtt.wait_msg() except RxEx: pass else: print('No WiFi') except Exception as e: print('MQTT' + ':') print_exception(e) self.discon() if self.reconnect: if led: led.slow_blink() sleep(random_int(5)) led.off() else: sleep(random_int(8))
def game(self): quit = False choise = {1: "rock", 2: "paper", 3: "scissors"} while (quit is False): user_input = int( input("Enter 1 for rock, 2 for paper, and 3 for scissors: ")) win = False tie = False cpu = random_int(1, 3) if user_input is 1 and cpu is 3: win = True elif user_input is 2 and cpu is 1: win = True elif user_input is 3 and cpu is 2: win = True elif user_input is cpu: tie = True elif user_input != 1 or 2 or 3: print("Not Valid Input") else: win = False if win is True: print("You won!") elif tie is True: print("You tied!") else: print("You Lost!") print('Your Choise %s' % (choise[user_input])) print('Computer\'s Choise %s' % (choise[cpu])) keep_playing = int( input("Enter 1 to keep playing, enter 2 to stop playing ")) if keep_playing is 1: quit = False elif keep_playing is 2: quit = True else: print("Not Valid input")
def rock_paper_scissors(): quit = False hand = {1: "rock", 2: "paper", 3: "scissers"} while (quit is False): user_input = int( input("Enter 1 for rock, 2 for paper, and 3 for scissors: ")) cpu = random_int(1, 3) tie = False win = False if (user_input is 1 and cpu is 3): # if user inputs rock and cpu enters scissors, then player wins win = True elif (user_input is 2 and cpu is 1): #if user inputs paper, and cpu enters rock, then player wins win = True elif (user_input is 3 and cpu is 2): #if player enters scissers, and cpu enters paper, then player wins win = True elif (user_input is cpu): tie = True else: win is False if win is True: print("You win") elif tie is True: print("Tie") else: print("You loose") print('user_input %s' % (hand[user_input])) print('cpu %s' % (hand[cpu])) go_on = int(input("Do you want to quit? 1 is Yes, 2 is No ")) if go_on is 1: quit = True else: quit = False
flip = random.randint(0, 1) #flip a coin to decide the AI's choice (0 = cooperate, 1 = cheat) if ai_behavior == 0: if last_choice == 0 and flip == 1: flip = random.randint(0, 1) #reroll to try and match player elif last_choice == 1 and flip == 0: flip = random.randint(0, 1) elif ai_behavior == 1: if last_choice == 0 and flip == 0: flip = random.randint(0, 1) elif last_choice == 1 and flip == 1: flip = random.randint(0, 1) elif ai_behavior == 2: flip = random.randint(0, 1) if ai_trust >= random.randint(1, 7) and flip == 0: #cheat cheating players more often, despite behavioral tendencies flip = random.random_int(0, 1) if ai_trust >= 7 and flip == 0: #cheat REALLY cheating players VERY often flip = random.random_int(0, 1) if ai_trust == 0 and random.randint(0, 1) == 0 and flip == 1: #cooperate with cooperative players more often, despite behavioral tendencies flip = random.randint(0, 1) if flip == 0 and ai_trust == 0 and random.randint(0, 10) == 0: #1-in-11 chance to catch "suckers" (overly cooperative players) ai_trust = 7 if choice in choices_list: rounds += 1 if choice == 'cooperate': last_choice = 0 ai_trust -= 2 if flip == 0: yomi += cooperate_value*flag ai_yomi += cooperate_value*flag
def evaluation(silent, simulation_rounds, malicious_devices_prop, devices_per_cluster, eval_time, malicious_frequency_multiplier, threshold_ratio, periodicity_error, results_file): global counter_lock, counter show_pbar = not silent and counter_lock is not None and counter is not None aggregated_data_sent_array = [] data_sent_threshold_array = [] num_malicious_array = [] for i in range(simulation_rounds): # Updating progress bar if show_pbar: with counter_lock: counter.value += 1 # Creating the cluster (devices in a flow) iot_devices = [] distribution_device_classes = [ random_int(0, len(device_classes) - 1) for _ in range(devices_per_cluster) ] distribution_malicious = binomial(1, malicious_devices_prop, devices_per_cluster) for type_id, is_malicious in zip(distribution_device_classes, distribution_malicious): iot_devices.append(device_classes[type_id]( is_malicious, eval_time, periodicity_error, malicious_frequency_multiplier)) # Preloading random arrays uniform_first_tx = list(uniform(0, 1, devices_per_cluster)) gaussian_jitter = list(normal(0, 1, devices_per_cluster)) # Computing estimated throughput (data sent within an evaluation period) data_sent_threshold = 0 distribution_devices_counter = dict( Counter(distribution_device_classes)) for device_type_id, device_type_count in distribution_devices_counter.items( ): data_sent_threshold += device_type_count * threshold_ratio * ( eval_time / get_class_from_type_id(device_type_id).legacy_period) * ( get_class_from_type_id(device_type_id).data_burst) # Simulation aggregated_data_sent = 0 for device in iot_devices: # First tranmsission in U(0, tx_period) # Assuming tx_period < eval_time accumulated_time = uniform_first_tx.pop() * device.period # [2,n-1] transmissions num_txs = 1 + int((eval_time - accumulated_time) / device.period) remainder = (eval_time - accumulated_time) % device.period # Last transmission (with jitter) standard_deviation = device.period * (periodicity_error / 2) / 2 last_transmission_time = standard_deviation * gaussian_jitter.pop( ) + device.period if (last_transmission_time < remainder): num_txs += 1 # Adding the data of this device to the aggregated data sent in this period aggregated_data_sent += num_txs * device.data_burst aggregated_data_sent_array.append(aggregated_data_sent) data_sent_threshold_array.append(data_sent_threshold) num_malicious_array.append(sum(distribution_malicious)) # Results result = { "eval_time": eval_time, "malicious_devices_prop": malicious_devices_prop, "devices_per_cluster": devices_per_cluster, "malicious_frequency_multiplier": malicious_frequency_multiplier, "threshold_ratio": threshold_ratio, "periodicity_error": periodicity_error, "simulation_rounds": simulation_rounds, "aggregated_data_sent_array": aggregated_data_sent_array, "data_sent_threshold_array": data_sent_threshold_array, "malicious_quarantined_array": [ int(num_malicious) if (aggregated_data_sent > data_sent_threshold) else 0 for aggregated_data_sent, data_sent_threshold, num_malicious in zip(aggregated_data_sent_array, data_sent_threshold_array, num_malicious_array) ], "malicious_array": [int(x) for x in num_malicious_array], "legitimate_quarantined_array": [ int(devices_per_cluster - num_malicious) if (aggregated_data_sent > data_sent_threshold) else 0 for aggregated_data_sent, data_sent_threshold, num_malicious in zip(aggregated_data_sent_array, data_sent_threshold_array, num_malicious_array) ], "legitimate_array": [devices_per_cluster - int(x) for x in num_malicious_array] } return result
pygame.mixer.init() menu_color_back = False menu_color_count = 50 screen = pygame.display.set_mode((width, height)) pygame.display.set_caption('Pixelsuft Snake') pygame.display.set_icon(pygame.image.load('favicon.ico').convert()) if music == True: pygame.mixer.music.load('menu.wav') pygame.mixer.music.play() running = True typer = 'menu' menu_font = pygame.font.SysFont('Segoe Script', 26, bold=True) score_font = pygame.font.SysFont('Segoe Script', 15, bold=True) game_over_font = pygame.font.SysFont('Segoe Script', 40, bold=True) snake = [[5, 2], [4, 2], [3, 2]] apple = [random_int(0, grid_width - 3), random_int(0, grid_height - 3)] score = 0 snake_vector = 'right' clock = pygame.time.Clock() speed_gameover = 0 def game_over(): global typer global fps global speed_gameover speed_gameover = fps typer = 'game_over' fps = 60 if music == True: pygame.mixer.music.stop()
def genkey(bytes_size, file_path): key = bytearray([random_int(0, 255) for _ in range(bytes_size)]) with open(file_path, 'wb') as f: f.write(key) messagebox.showinfo(title="Generated key", message=f"New key file: ({file_path})")
def game(request): if not 'player1' in request.session: return HttpResponseRedirect(redirect_to="/") if 'challenge' in request.GET: ch = Challenge.objects.get(pk=request.GET['challenge']) p1 = request.session['player1']['pk'] p2 = ch.player1.pk if random_int(1, 10) > 5: p1, p2 = p2, p1 ab = init_bricks() data = json.dumps(ab) cg = ChessGame(ab=data, player_white_pk=p1, player_black_pk=p2) cg.save() request.session['game_id'] = cg.pk ch.delete() return HttpResponseRedirect(redirect_to="/game/") if 'new_game' in request.GET: #start a new game player1 = request.session.get("player1", "ANONYMOUS") player2 = request.session.get("player2", "ANONYMOUS") #player1 is white, swap then randomly before assigning if random_int(1, 10) > 5: player1, player2 = player2, player1 ab = init_bricks() data = json.dumps(ab) cg = ChessGame(ab=data, player_white_pk=player1['pk'], player_black_pk=player2['pk']) cg.save() request.session['game_id'] = cg.pk return HttpResponseRedirect(redirect_to="/game/") if 'continue_game' in request.GET: #continue a game game = ChessGame.objects.get(pk=int(request.GET['continue_game'])) request.session['game_id'] = game.pk return HttpResponseRedirect(redirect_to="/game/") if 'replace' in request.GET: replace = request.GET['replace'] cg = ChessGame.objects.get(pk=request.session['game_id']) ab = json.loads(cg.ab) hb = ab['hb'] sb = ab['sb'] if cg.pawn_over and (replace in ["D", "H", "T", "L"]): if cg.turn == "hvit": hb = replace_pawn(hb, replace) cg.turn = "svart" else: sb = replace_pawn(sb, replace) cg.turn = "hvit" cg.pawn_over = False ab = {'hb': hb, 'sb': sb} cg.ab = json.dumps(ab) cg.save() return HttpResponseRedirect(redirect_to="/game/") if 'move' in request.GET: return do_move(request) all_b = ChessGame.objects.get(pk=request.session['game_id']) template = 'game.html' matches = get_active_matches(request) context = { 'bricks': all_b.ab, 'board': generate_board(), 'turn': all_b.turn, 'player_white': all_b.player_white_pk, 'player_black': all_b.player_black_pk, 'game_over': all_b.game_over, 'player1': json.dumps(request.session['player1']), 'player1pk': request.session['player1']['pk'], 'player1name': request.session['player1']['username'], 'matches': matches, 'game_id': request.session['game_id'] } if 'player2' in request.session: context['player2'] = json.dumps(request.session['player2']) context['player2pk'] = request.session['player2']['pk'] context['player2name'] = request.session['player2']['username'] else: if str(request.session['player1']['pk']) == str(all_b.player_white_pk): context['player2pk'] = all_b.player_black_pk context['player2name'] = ChessUser.objects.get( pk=context['player2pk']).username else: context['player2pk'] = all_b.player_white_pk context['player2name'] = ChessUser.objects.get( pk=context['player2pk']).username return render_to_response(template, context, context_instance=RequestContext(request))
def game(request): if not 'player1' in request.session: return HttpResponseRedirect(redirect_to="/") if 'challenge' in request.GET: ch = Challenge.objects.get(pk=request.GET['challenge']) p1 = request.session['player1']['pk'] p2 = ch.player1.pk if random_int(1, 10) > 5: p1, p2 = p2, p1 ab = init_bricks() data = json.dumps(ab) cg = ChessGame(ab=data, player_white_pk=p1, player_black_pk=p2) cg.save() request.session['game_id'] = cg.pk ch.delete() return HttpResponseRedirect(redirect_to="/game/") if 'new_game' in request.GET: #start a new game player1 = request.session.get("player1", "ANONYMOUS") player2 = request.session.get("player2", "ANONYMOUS") #player1 is white, swap then randomly before assigning if random_int(1, 10) > 5: player1, player2 = player2, player1 ab = init_bricks() data = json.dumps(ab) cg = ChessGame(ab=data, player_white_pk=player1['pk'], player_black_pk=player2['pk']) cg.save() request.session['game_id'] = cg.pk return HttpResponseRedirect(redirect_to="/game/") if 'continue_game' in request.GET: #continue a game game = ChessGame.objects.get(pk=int(request.GET['continue_game'])) request.session['game_id'] = game.pk return HttpResponseRedirect(redirect_to="/game/") if 'replace' in request.GET: replace = request.GET['replace'] cg = ChessGame.objects.get(pk=request.session['game_id']) ab = json.loads(cg.ab) hb = ab['hb'] sb = ab['sb'] if cg.pawn_over and (replace in ["D", "H", "T", "L"]): if cg.turn == "hvit": hb = replace_pawn(hb, replace) cg.turn = "svart" else: sb = replace_pawn(sb, replace) cg.turn = "hvit" cg.pawn_over = False ab = {'hb':hb, 'sb':sb} cg.ab = json.dumps(ab) cg.save() return HttpResponseRedirect(redirect_to="/game/") if 'move' in request.GET: return do_move(request) all_b = ChessGame.objects.get(pk=request.session['game_id']) template = 'game.html' matches = get_active_matches(request) context = {'bricks':all_b.ab, 'board':generate_board(), 'turn':all_b.turn, 'player_white':all_b.player_white_pk, 'player_black':all_b.player_black_pk, 'game_over':all_b.game_over, 'player1':json.dumps(request.session['player1']), 'player1pk':request.session['player1']['pk'], 'player1name':request.session['player1']['username'], 'matches':matches, 'game_id':request.session['game_id'] } if 'player2' in request.session: context['player2'] = json.dumps(request.session['player2']) context['player2pk'] = request.session['player2']['pk'] context['player2name'] = request.session['player2']['username'] else: if str(request.session['player1']['pk']) == str(all_b.player_white_pk): context['player2pk'] = all_b.player_black_pk context['player2name'] = ChessUser.objects.get(pk=context['player2pk']).username else: context['player2pk'] = all_b.player_white_pk context['player2name'] = ChessUser.objects.get(pk=context['player2pk']).username return render_to_response(template, context, context_instance=RequestContext(request))
':' + str(port)) os.kill(os.getpid(), SIGTERM) sock.settimeout(None) try: fpublicity_button("Create Room", window_create_room).place(x=5, y=5, width=200, height=70) fpublicity_button("Enter Room", window_enter_room).place(x=5, y=85, width=200, height=70) fpublicity_button("Register Room", window_register_room).place(x=5, y=165, width=200, height=70) fpublicity_button( "Generate Key", lambda: genkey(1024**2, 'key' + str(random_int(1000000, 9999999)) + '.bin')).place(x=5, y=245, width=200, height=70) fpublicity_button("Help", window_help).place(x=5, y=325, width=200, height=70) except: os.kill(os.getpid(), SIGTERM) root.protocol("WM_DELETE_WINDOW", lambda: os.kill(os.getpid(), SIGTERM)) canvas.after(100, redraw_logo) prepare_logo() root.mainloop()
class SnakeWidget(Widget): fps = 60 default_fps = 2 score = 0 position = 'menu' w, h = Window.size w = int(w) h = int(h) snake = [[5, 2], [4, 2], [3, 2]] grid = 15 apple = [ random_int(0, int(w / grid) - 1), random_int(0, int(h / grid) - 1) ] score = 0 snake_vector = 'right' max_speed = 25 menu_color_back = False menu_color_count = 50 over_fps = fps over_score = score last_arrow = 'right' menu_sound = SoundLoader.load(f'{cur_dir()}/menu.wav') new_move_type = False def set_speed(self, vared): self.default_fps = vared def set_max_speed(self, vared): self.max_speed = vared def set_grid(self, vared): self.grid = vared def __init__(self, **kwargs): super(SnakeWidget, self).__init__(**kwargs) txt_cfg = 'self.set_speed(2)\nself.set_max_speed(18)\nself.set_grid(15)' if file_exists('config.txt', file_exists_param): temp_f = open('config.txt', 'r') txt_cfg = temp_f.read() temp_f.close() else: temp_f = open('config.txt', 'w') temp_f.write(txt_cfg) temp_f.close() self.load_config(txt_cfg) self.menu_sound.play() Clock.schedule_interval(self.main_loop, 1 / self.fps) def game_over(self): self.over_fps = self.fps self.over_score = self.score self.fps = 60 self.position = 'game_over' def load_config(self, cfg): for i in cfg.split('\n'): if not i == '': eval(str(i)) def main_loop(self, sec): with self.canvas: if self.position == 'menu': self.canvas.clear() if self.menu_color_back == False: if self.menu_color_count < 0: self.menu_color_count = 50 self.menu_color_back = True else: Color(0, 0, 0, 1) Rectangle(size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) Color(0, 1, 0, 1) lab1 = CoreLabel(text="Tap To Start!", font_size=25, color=(0, 1, 0, 1)) lab1.refresh() Rectangle(texture=lab1.texture, size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) self.menu_color_count -= 1 else: if self.menu_color_count < 0: self.menu_color_count = 50 self.menu_color_back = False else: Color(0, 1, 0, 1) Rectangle(size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) Color(1, 0, 0, 1) lab2 = CoreLabel(text="Tap To Start!", font_size=25, color=(0, 0, 0, 1)) lab2.refresh() Rectangle(texture=lab2.texture, size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) self.menu_color_count -= 1 elif self.position == 'game_over': self.canvas.clear() Color(0, 1, 0, 1) label1 = CoreLabel(text="Game Over:(", font_size=25, color=(0, 1, 0, 1)) label1.refresh() label1_size = list(label1.size) Rectangle(texture=label1.texture, size=label1_size, pos=((self.width / 2) - (label1_size[0] / 2), (self.height / 2) - 30 + 39)) label2 = CoreLabel(text="Score: " + str(self.over_score), font_size=25, color=(0, 1, 0, 1)) label2.refresh() label2_size = list(label2.size) Rectangle(texture=label2.texture, size=label2_size, pos=((self.width / 2) - (label2_size[0] / 2), (self.height / 2) - 60 + 39)) label3 = CoreLabel(text="Speed: " + str(self.over_fps), font_size=25, color=(0, 1, 0, 1)) label3.refresh() label3_size = list(label3.size) Rectangle(texture=label3.texture, size=label3_size, pos=((self.width / 2) - (label3_size[0] / 2), (self.height / 2) - 90 + 39)) elif self.position == 'game': self.snake_vector = self.last_arrow self.canvas.clear() Color(0, 1, 0, 1) lab_score = CoreLabel(text="Score: " + str(self.score), font_size=25, color=(0, 1, 0, 1)) lab_score.refresh() Rectangle(texture=lab_score.texture, size=list(lab_score.size), pos=(5, self.height - 35)) no_delete = False for i in range(len(self.snake)): j = len(self.snake) - 1 if not j == 0: self.snake[j][0] = self.snake[j - 1][0] self.snake[j][1] = self.snake[j - 1][1] if self.snake[0][0] == self.apple[0] and self.snake[0][ 1] == self.apple[1]: no_delete = True self.score += 1 self.apple = [ random_int(0, int(self.w / self.grid) - 1), random_int(0, int(self.h / self.grid) - 1) ] if self.fps <= self.max_speed: Clock.unschedule(self.main_loop) self.fps += random_int(0, 2) Clock.schedule_interval(self.main_loop, 1 / self.fps) if self.snake_vector == 'left': if self.snake[0][0] > 0: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0] - 1, self.snake[0][1]]) else: self.game_over() elif self.snake_vector == 'right': if self.snake[0][0] < self.width / self.grid: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0] + 1, self.snake[0][1]]) else: self.game_over() elif self.snake_vector == 'down': if self.snake[0][1] > 0: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0], self.snake[0][1] - 1]) else: self.game_over() elif self.snake_vector == 'up': if self.snake[0][1] < self.height / self.grid: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0], self.snake[0][1] + 1]) else: self.game_over() for i in range(len(self.snake)): if int(self.snake[0][0]) == int(self.snake[i][0]) and int( self.snake[0][1] == self.snake[i] [1]) and not i == 0: self.game_over() for i in range(len(self.snake)): if i == 0: Color(1, 0, 0, 1) Rectangle(pos=(self.snake[i][0] * self.grid, self.snake[i][1] * self.grid), size=(self.grid, self.grid)) else: Color(0, 1, 0, 1) Rectangle(pos=(self.snake[i][0] * self.grid, self.snake[i][1] * self.grid), size=(self.grid, self.grid)) Color(1, 0, 0, 1) Rectangle(pos=(self.apple[0] * self.grid, self.apple[1] * self.grid), size=(self.grid, self.grid)) def on_touch_down(self, touch): if self.position == 'menu' or self.position == 'game_over': Clock.unschedule(self.main_loop) self.menu_sound.stop() self.score = 0 self.position = 'menu' self.w, self.h = Window.size self.w = int(self.w) self.h = int(self.h) self.snake = [[5, 2], [4, 2], [3, 2]] self.apple = [ random_int(0, int(self.w / self.grid) - 1), random_int(0, int(self.h / self.grid) - 1) ] self.score = 0 self.snake_vector = 'right' self.last_arrow = 'right' self.fps = self.default_fps self.position = 'game' if touch.x < self.size[0] / 2: self.new_move_type = True else: self.new_move_type = False Clock.schedule_interval(self.main_loop, 1 / self.fps) elif self.position == 'game': if self.new_move_type: ws = touch.x / self.size[0] hs = touch.y / self.size[1] aws = 1 - ws if ws > hs and aws > hs: if not self.snake_vector == 'up': self.last_arrow = 'down' elif ws > hs >= aws: if not self.snake_vector == 'left': self.last_arrow = 'right' elif ws <= hs < aws: if not self.snake_vector == 'right': self.last_arrow = 'left' else: if not self.snake_vector == 'down': self.last_arrow = 'up' else: if touch.x < self.size[0] / 4: if not self.snake_vector == 'right': self.last_arrow = 'left' elif touch.x < self.size[0] / 2: if not self.snake_vector == 'left': self.last_arrow = 'right' elif touch.y < self.size[1] / 2: if not self.snake_vector == 'up': self.last_arrow = 'down' else: if not self.snake_vector == 'down': self.last_arrow = 'up'
def main_loop(): global typer global score global snake global snake_vector global apple keys = pygame.key.get_pressed() for event in pygame.event.get(): if event.type == pygame.QUIT or keys[pygame.K_ESCAPE] == 1: global running running = False pygame.draw.rect(screen, pygame.Color('#000000'), (0, 0, width, height)) if typer == 'menu': global menu_color_back global menu_color_count if menu_color_back == False: if menu_color_count < 0: menu_color_count = 50 menu_color_back = True else: pygame.draw.rect(screen, pygame.Color('#000000'), ((width / 2) - (286 / 2) - 15, (height / 2) - (25 / 2) - 15, 400, 80)) render_menu_text = menu_font.render('Press Space to Start...', 1, pygame.Color('#00ff00')) screen.blit(render_menu_text, ((width / 2) - (286 / 2), (height / 2) - (25 / 2))) menu_color_count -= 1 else: if menu_color_count < 0: menu_color_count = 50 menu_color_back = False else: pygame.draw.rect(screen, pygame.Color('#00ff00'), ((width / 2) - (286 / 2) + 3, (height / 2) - (25 / 2) + 5, 286, 30)) render_menu_text = menu_font.render('Press Space to Start...', 1, pygame.Color('#000000')) screen.blit(render_menu_text, ((width / 2) - (286 / 2), (height / 2) - (25 / 2))) menu_color_count -= 1 if keys[pygame.K_SPACE]: global fps fps = default_fps if music == True: pygame.mixer.music.stop() typer = 'game' elif typer == 'game_over': render_menu_text1 = game_over_font.render('Game Over :(', 1, pygame.Color('#00ff00')) render_menu_text2 = game_over_font.render('Score: ' + str(score) + '.', 1, pygame.Color('#00ff00')) render_menu_text3 = game_over_font.render( 'Speed: ' + str(speed_gameover) + '.', 1, pygame.Color('#00ff00')) render_menu_text4 = game_over_font.render('R - Restart, ESC - Exit', 1, pygame.Color('#00ff00')) screen.blit(render_menu_text1, (20, 20)) screen.blit(render_menu_text2, (20, 80)) screen.blit(render_menu_text3, (20, 140)) screen.blit(render_menu_text4, (20, 200)) if keys[pygame.K_r]: fps = default_fps if music == True: pygame.mixer.music.stop() snake = [[5, 2], [4, 2], [3, 2]] apple = [ random_int(0, grid_width - 3), random_int(0, grid_height - 3) ] score = 0 snake_vector = 'right' typer = 'game' elif typer == 'game': no_delete = False if keys[pygame.K_d] or keys[pygame.K_RIGHT]: if not snake_vector == 'right' and not snake_vector == 'left': snake_vector = 'right' elif keys[pygame.K_a] or keys[pygame.K_LEFT]: if not snake_vector == 'right' and not snake_vector == 'left': snake_vector = 'left' elif keys[pygame.K_w] or keys[pygame.K_UP]: if not snake_vector == 'up' and not snake_vector == 'down': snake_vector = 'up' elif keys[pygame.K_s] or keys[pygame.K_DOWN]: if not snake_vector == 'up' and not snake_vector == 'down': snake_vector = 'down' for i in range(len(snake)): j = len(snake) - 1 if not j == 0: snake[j][0] = snake[j - 1][0] snake[j][1] = snake[j - 1][1] if snake[0][0] == apple[0] and snake[0][1] == apple[1]: no_delete = True score += 1 apple = [ random_int(1, grid_width - 3), random_int(2, grid_height - 3) ] if fps <= max_speed: fps += random_int(0, 2) if snake_vector == 'left': if snake[0][0] > 0: if no_delete == False: snake.remove(snake[len(snake) - 1]) snake.insert(0, [snake[0][0] - 1, snake[0][1]]) else: game_over() elif snake_vector == 'right': if snake[0][0] < grid_width: if no_delete == False: snake.remove(snake[len(snake) - 1]) snake.insert(0, [snake[0][0] + 1, snake[0][1]]) else: game_over() elif snake_vector == 'up': if snake[0][1] > 0: if no_delete == False: snake.remove(snake[len(snake) - 1]) snake.insert(0, [snake[0][0], snake[0][1] - 1]) else: game_over() elif snake_vector == 'down': if snake[0][1] < grid_height: if no_delete == False: snake.remove(snake[len(snake) - 1]) snake.insert(0, [snake[0][0], snake[0][1] + 1]) else: game_over() for i in range(len(snake)): if int(snake[0][0]) == int(snake[i][0]) and int( snake[0][1] == snake[i][1]) and not i == 0: game_over() pygame.draw.rect(screen, pygame.Color('#ff0000'), (apple[0] * grid, apple[1] * grid, grid, grid)) for i in range(len(snake)): if i == 0: pygame.draw.rect( screen, pygame.Color('#ff0000'), (snake[i][0] * grid, snake[i][1] * grid, grid, grid)) else: pygame.draw.rect( screen, pygame.Color('#00ff00'), (snake[i][0] * grid, snake[i][1] * grid, grid, grid)) render_score_text = score_font.render('Score: ' + str(score), 1, pygame.Color('#00ff00')) screen.blit(render_score_text, (5, 5)) pygame.display.flip()
def random_chance(): var = random_int(1, 2) if var == 1: return 1 elif var == 2: return 2
def genkey(bytes_size, file_path): key = bytearray([random_int(0, 255) for _ in range(bytes_size)]) with open(file_path, 'wb') as f: f.write(key) print(f"Info: Generated key. New key file: ({file_path})")
def generate_key_window(): genkey(1024**2, 'key' + str(random_int(1000000, 9999999)) + '.bin')
#test_disp_ids, header = read_data('/Users/naveenkumar2703/Documents/Dirty/DM/Outbrain_Click_Prediction/training_display_ids.csv',False) test_disp_ids = test_disp_ids[0] #[:100] #test_disp_ids.extend(cvtest_disp_ids) # both #test_disp_ids = cvtest_disp_ids # cv #test_disp_ids = [] #test_disp_ids = test_disp_ids[:10000] #test_disp_ids = [15700928,15639744, 1412726, 3379977, 9090726, 9848706,10537413,14947016, 652944, 692755, 5877640, 6755742, 9164491,16810619,16814377,16814450,16844019, 305943, 306965, 717070, 4643034, 4697333, 8900426,15294423, 1338074, 1503522, 1508326, 1581950, 1616938, 1629363, 1647318, 1860863, 2099616, 3288800, 4667221, 4717123, 7279988,14354602] # this is to validate randomly from train_data random_test_disp_ids = [] added_data = [] cvadded_data = [] for index in range(10000): curr_data_index = random_int(0, (len(test_disp_ids) - 1)) while curr_data_index in added_data: curr_data_index = random_int(0, (len(test_disp_ids) - 1)) added_data.append(curr_data_index) random_test_disp_ids.append(test_disp_ids[curr_data_index]) curr_data_index = random_int(0, (len(cvtest_disp_ids) - 1)) while curr_data_index in cvadded_data: curr_data_index = random_int(0, (len(cvtest_disp_ids) - 1)) cvadded_data.append(curr_data_index) random_test_disp_ids.append(cvtest_disp_ids[curr_data_index]) added_data = None cvadded_data = None # test_disp_ids = random_test_disp_ids print('running chunk - on cv')
def main_loop(self, sec): with self.canvas: if self.position == 'menu': self.canvas.clear() if self.menu_color_back == False: if self.menu_color_count < 0: self.menu_color_count = 50 self.menu_color_back = True else: Color(0, 0, 0, 1) Rectangle(size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) Color(0, 1, 0, 1) lab1 = CoreLabel(text="Tap To Start!", font_size=25, color=(0, 1, 0, 1)) lab1.refresh() Rectangle(texture=lab1.texture, size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) self.menu_color_count -= 1 else: if self.menu_color_count < 0: self.menu_color_count = 50 self.menu_color_back = False else: Color(0, 1, 0, 1) Rectangle(size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) Color(1, 0, 0, 1) lab2 = CoreLabel(text="Tap To Start!", font_size=25, color=(0, 0, 0, 1)) lab2.refresh() Rectangle(texture=lab2.texture, size=(143, 30), pos=((self.width / 2) - (143 / 2), (self.height / 2) - (30 / 2))) self.menu_color_count -= 1 elif self.position == 'game_over': self.canvas.clear() Color(0, 1, 0, 1) label1 = CoreLabel(text="Game Over:(", font_size=25, color=(0, 1, 0, 1)) label1.refresh() label1_size = list(label1.size) Rectangle(texture=label1.texture, size=label1_size, pos=((self.width / 2) - (label1_size[0] / 2), (self.height / 2) - 30 + 39)) label2 = CoreLabel(text="Score: " + str(self.over_score), font_size=25, color=(0, 1, 0, 1)) label2.refresh() label2_size = list(label2.size) Rectangle(texture=label2.texture, size=label2_size, pos=((self.width / 2) - (label2_size[0] / 2), (self.height / 2) - 60 + 39)) label3 = CoreLabel(text="Speed: " + str(self.over_fps), font_size=25, color=(0, 1, 0, 1)) label3.refresh() label3_size = list(label3.size) Rectangle(texture=label3.texture, size=label3_size, pos=((self.width / 2) - (label3_size[0] / 2), (self.height / 2) - 90 + 39)) elif self.position == 'game': self.snake_vector = self.last_arrow self.canvas.clear() Color(0, 1, 0, 1) lab_score = CoreLabel(text="Score: " + str(self.score), font_size=25, color=(0, 1, 0, 1)) lab_score.refresh() Rectangle(texture=lab_score.texture, size=list(lab_score.size), pos=(5, self.height - 35)) no_delete = False for i in range(len(self.snake)): j = len(self.snake) - 1 if not j == 0: self.snake[j][0] = self.snake[j - 1][0] self.snake[j][1] = self.snake[j - 1][1] if self.snake[0][0] == self.apple[0] and self.snake[0][ 1] == self.apple[1]: no_delete = True self.score += 1 self.apple = [ random_int(0, int(self.w / self.grid) - 1), random_int(0, int(self.h / self.grid) - 1) ] if self.fps <= self.max_speed: Clock.unschedule(self.main_loop) self.fps += random_int(0, 2) Clock.schedule_interval(self.main_loop, 1 / self.fps) if self.snake_vector == 'left': if self.snake[0][0] > 0: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0] - 1, self.snake[0][1]]) else: self.game_over() elif self.snake_vector == 'right': if self.snake[0][0] < self.width / self.grid: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0] + 1, self.snake[0][1]]) else: self.game_over() elif self.snake_vector == 'down': if self.snake[0][1] > 0: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0], self.snake[0][1] - 1]) else: self.game_over() elif self.snake_vector == 'up': if self.snake[0][1] < self.height / self.grid: if no_delete == False: self.snake.remove(self.snake[len(self.snake) - 1]) self.snake.insert( 0, [self.snake[0][0], self.snake[0][1] + 1]) else: self.game_over() for i in range(len(self.snake)): if int(self.snake[0][0]) == int(self.snake[i][0]) and int( self.snake[0][1] == self.snake[i] [1]) and not i == 0: self.game_over() for i in range(len(self.snake)): if i == 0: Color(1, 0, 0, 1) Rectangle(pos=(self.snake[i][0] * self.grid, self.snake[i][1] * self.grid), size=(self.grid, self.grid)) else: Color(0, 1, 0, 1) Rectangle(pos=(self.snake[i][0] * self.grid, self.snake[i][1] * self.grid), size=(self.grid, self.grid)) Color(1, 0, 0, 1) Rectangle(pos=(self.apple[0] * self.grid, self.apple[1] * self.grid), size=(self.grid, self.grid))