@ -2476,7 +2476,66 @@ simpleaudio.play_buffer(samples_b, <span class="hljs-number">1</span>, <span cla
< / code > < / pre > < / div > < / div >
< div > < h2 id = "pygame" > < a href = "#pygame" name = "pygame" > #< / a > Pygame< / h2 > < div > < h3 id = "example-3" > Example< / h3 > < div > < h4 id = "runsasimplesupermariogame" > Runs a simple Super Mario game:< / h4 > < pre > < code class = "python language-python hljs" > < span class = "hljs-keyword" > import< / span > collections, dataclasses, enum, io, math, pygame, urllib.request, itertools < span class = "hljs-keyword" > as< / span > it
< div > < h2 id = "pygame" > < a href = "#pygame" name = "pygame" > #< / a > Pygame< / h2 > < div > < h3 id = "basicexample-1" > Basic Example< / h3 > < pre > < code class = "python language-python hljs" > < span class = "hljs-comment" > # $ pip3 install pygame< / span >
< span class = "hljs-keyword" > import< / span > pygame < span class = "hljs-keyword" > as< / span > pg
pg.init()
screen = pg.display.set_mode((< span class = "hljs-number" > 500< / span > , < span class = "hljs-number" > 500< / span > ))
rect = pg.Rect(< span class = "hljs-number" > 235< / span > , < span class = "hljs-number" > 235< / span > , < span class = "hljs-number" > 30< / span > , < span class = "hljs-number" > 30< / span > )
< span class = "hljs-keyword" > while< / span > all(event.type != pg.QUIT < span class = "hljs-keyword" > for< / span > event < span class = "hljs-keyword" > in< / span > pg.event.get()):
keys = {pg.K_UP: (< span class = "hljs-number" > 0< / span > , < span class = "hljs-number" > -3< / span > ), pg.K_RIGHT: (< span class = "hljs-number" > 3< / span > , < span class = "hljs-number" > 0< / span > ), pg.K_DOWN: (< span class = "hljs-number" > 0< / span > , < span class = "hljs-number" > 3< / span > ), pg.K_LEFT: (< span class = "hljs-number" > -3< / span > , < span class = "hljs-number" > 0< / span > )}
< span class = "hljs-keyword" > for< / span > delta < span class = "hljs-keyword" > in< / span > {keys.get(i) < span class = "hljs-keyword" > for< / span > i, on < span class = "hljs-keyword" > in< / span > enumerate(pg.key.get_pressed()) < span class = "hljs-keyword" > if< / span > on}:
rect = rect.move(delta) < span class = "hljs-keyword" > if< / span > delta < span class = "hljs-keyword" > else< / span > rect
screen.fill((< span class = "hljs-number" > 0< / span > , < span class = "hljs-number" > 0< / span > , < span class = "hljs-number" > 0< / span > ))
pg.draw.rect(screen, (< span class = "hljs-number" > 255< / span > , < span class = "hljs-number" > 255< / span > , < span class = "hljs-number" > 255< / span > ), rect)
pg.display.flip()
< / code > < / pre > < / div > < / div >
< div > < h3 id = "surface" > Surface< / h3 > < p > < strong > Object for representing images.< / strong > < / p > < pre > < code class = "python language-python hljs" > < Surface> = pg.display.set_mode((width, height)) < span class = "hljs-comment" > # Retruns the display surface.< / span >
< Surface> = pg.Surface((width, height)) < span class = "hljs-comment" > # Creates a new surface.< / span >
< Surface> = pg.image.load(< span class = "hljs-string" > '< path> '< / span > ).convert() < span class = "hljs-comment" > # Loads an image.< / span >
< / code > < / pre > < / div >
< pre > < code class = "python language-python hljs" > < Surface> .set_at((x, y), < color> ) < span class = "hljs-comment" > # Updates pixel.< / span >
< Surface> .fill(< color> ) < span class = "hljs-comment" > # Fills the whole surface.< / span >
< Surface> .blit(< Surface> , (x, y)/< Rect> ) < span class = "hljs-comment" > # Draws passed surface to the surface.< / span >
< Surface> = < Surface> .subsurface(< Rect> ) < span class = "hljs-comment" > # Returns subsurface.< / span >
< / code > < / pre >
< pre > < code class = "python language-python hljs" > < Surface> = pg.transform.flip(< Surface> , xbool, ybool)
< Surface> = pg.transform.rotate(< Surface> , angle)
< Surface> = pg.transform.scale(< Surface> , (width, height))
< / code > < / pre >
< div > < h3 id = "rect" > Rect< / h3 > < p > < strong > Object for storing rectangular coordinates.< / strong > < / p > < pre > < code class = "python language-python hljs" > < Rect> = pg.Rect(topleft_x, topleft_y, width, height) < span class = "hljs-comment" > # x, y, w/width, h/height< / span >
< int> = < Rect> .x/y/centerx/centery/bottom/left/right/top
< tuple> = < Rect> .topleft/center/topright/bottomright/bottomleft
< tuple> = < Rect> .midtop/midright/midbottom/midleft
< bool> = < Rect> .contains(< Rect> )
< / code > < / pre > < / div >
< pre > < code class = "python language-python hljs" > < Rect> = < Rect> .move(< tuple> /< int> , < int> )
< Rect> .move_ip(< tuple> /< int> , < int> )
< Rect> = < Rect> .inflate(< tuple> /< int> , < int> )
< Rect> .inflate_ip(< tuple> /< int> , < int> )
< / code > < / pre >
< pre > < code class = "python language-python hljs" > < bool> = < Rect> .collidepoint(< tuple> /< int> , < int> )
< bool> = < Rect> .colliderect(< Rect> )
index = < Rect> .collidelist(< list_of_Rect> ) < span class = "hljs-comment" > # Returns index of first coliding Rect or -1.< / span >
indices = < Rect> .collidelistall(< list_of_Rect> ) < span class = "hljs-comment" > # Returns indices of all colinding Rects.< / span >
(key, value) = < Rect> .collidedict(< dict_of_Rect> )
[(key, value), ...] = < Rect> .collidedictall(< dict_of_Rect> )
< / code > < / pre >
< div > < h3 id = "draw" > Draw< / h3 > < pre > < code class = "python language-python hljs" > pg.draw.rect(< Surface> , color, < Rect> )
pg.draw.polygon(< Surface> , color, points)
pg.draw.circle(< Surface> , color, center, radius)
pg.draw.ellipse(< Surface> , color, < Rect> )
pg.draw.arc(< Surface> , color, < Rect> , start_angle, stop_angle)
pg.draw.line(< Surface> , color, start_pos, end_pos, width)
pg.draw.lines(< Surface> , color, points)
< / code > < / pre > < / div >
< div > < h3 id = "basicmariobrothersexample" > Basic Mario Brothers Example< / h3 > < pre > < code class = "python language-python hljs" > < span class = "hljs-keyword" > import< / span > collections, dataclasses, enum, io, math, pygame, urllib.request, itertools < span class = "hljs-keyword" > as< / span > it
< span class = "hljs-keyword" > from< / span > random < span class = "hljs-keyword" > import< / span > randint
P = collections.namedtuple(< span class = "hljs-string" > 'P'< / span > , < span class = "hljs-string" > 'x y'< / span > ) < span class = "hljs-comment" > # Position< / span >
@ -2548,9 +2607,7 @@ SIZE, MAX_SPEED = <span class="hljs-number">25</span>, P(<span class="hljs-numbe
< span class = "hljs-keyword" > if< / span > __name__ == < span class = "hljs-string" > '__main__'< / span > :
main()
< / code > < / pre > < / div > < / div > < / div >
< / code > < / pre > < / div >
< div > < h2 id = "django" > < a href = "#django" name = "django" > #< / a > Django< / h2 > < pre > < code class = "bash language-bash hljs" > $ pip3 install Django
$ django-admin startproject mysite