Inconsiderate behavior is not compatible with the relaxed stoner atmosphere of our subreddit. Things that are merely cool, amazing or unusual, but not in any psychedelic way. NOT ALLOWED: Rare talents, stunts, extreme human abilities, 1-in-a-million shots, sports highlights. Don't post content just because it makes you literally say the words 'woah dude'.
Here's a ⇨ more in-depth explanation ⇦ RULES ⇨ FULL VERSION RulesĪLLOWED: Trippy or mesmerizing content that meets our listed WoahDude criteria. Or even the reality distorting, confusing, mind-fucking nature of Eternal Darkness for Gamecube. Or the wondrous, mind-expanding, awe-inspiring nature of Carl Sagan's Cosmos. Think of the bizarre, erratic and psychedelic nature of Adult Swim. Mindfucks and self-inflicted gaslighting. We are specifically made for PSYCHEDELIC CONTENT, trippy or mesmerizing stuff that will make a sober person feel stoned, or stoned person trip harder! We're not about posting things that are merely neat or amazing, but instead, things that sort of mess with your mind, warp your reality. We are NOT interchangeable with /r/pics, /r/gifs, /r/damnthatsinteresting or other general subreddits. We are NOT a subreddit about interesting or amazing content. No one wants to have to sift through the entire internet for fun links when they're stoned - so make this your one-stop shop! Psychedelic, mind-bending, mesmerizing, reality-distorting, or trippy games, video, audio & images that make a sober person feel stoned, or stoned person trip harder! best links to click while you're stoned! Track = (track + dir) % WIDTH, (track + dir) % HEIGHT def create_body(track, no_pearls, distance): The function creates and returns a list of the snakes body positions. no_pearls is then number of elements of the shakes body and distance is the Euclidean distance between the elements. When an new point with a distance that is large enough is found, then an new pearl (element) is add to the chain (body). The key is, to compute the Euclidean distance between the last element of the body in the chain and the following positions on the track.
We have to place the elements of the snakes body on the positions in the list like the pearls of a chain. We have to track all the positions which the snake's head has visited in a list. Now the snake with completely free positioning. (screen, color, (pos*SIZE, pos*SIZE, SIZE, SIZE)) If event.key = pygame.K_LEFT: dir = (-1, 0)Įlif event.key = pygame.K_RIGHT: dir = (1, 0)Įlif event.key = pygame.K_UP: dir = (0, -1)Įlif event.key = pygame.K_DOWN: dir = (0, 1)īody = (body + dir) % COLUMNS, (body + dir) % ROWS Pos = random.randrange(COLUMNS), random.randrange(ROWS) Screen = _mode((COLUMNS*SIZE, ROWS*SIZE))īackground = pygame.Surface((COLUMNS*SIZE, ROWS*SIZE))
When the snakes head moves form (3, 3) to ( 3, 2), then the new head position is add to the head of the list ( body.insert(0, (3, 2)): body = įinally the tail of the ist is removed ( del body): body = If the snake moves, a the new position is add to the head of the list and the tail of the list is removed.įor instance we have a snake with the following elements: body = The changes to the items in the list directly follow the movement of the snake. Each tuple contains the column and row of the snakes element in the grid. The elements of the snake can be stored in a list of tuples. The other is more trick, because the position of a body element depends on the size of the element and the dynamic, previous positions of the snakes head.įirst the snake, which is snapped to a grid. In former each element of the body is snapped to the fields of the grid, as the head is. In the other type, the snakes position is not in a raster and not snapped on the fields of the grid, the position is free and the snake slides smoothly through the fields. In the first case, the snake moves in a grid and every time when the snake moves, it strides ahead one field in the grid. In general you have to distinguish between 2 different types of snake.