Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7df46ab

Browse files
committed
Progress bar and Pygame
1 parent 7164d05 commit 7df46ab

File tree

3 files changed

+37
-28
lines changed

3 files changed

+37
-28
lines changed

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2332,10 +2332,10 @@ Progress Bar
23322332
------------
23332333
```python
23342334
# $ pip3 install tqdm
2335-
from tqdm import tqdm
2336-
from time import sleep
2337-
for el in tqdm([1, 2, 3]):
2338-
sleep(0.2)
2335+
>>> from tqdm import tqdm
2336+
>>> for el in tqdm([1, 2, 3], desc='Processing'):
2337+
... pass
2338+
Processing: 100%|██████████████████| 3/3 [00:00<00:00, 11516.49it/s]
23392339
```
23402340

23412341

@@ -2989,7 +2989,7 @@ pg.draw.ellipse(<Surf>, color, <Rect>)
29892989

29902990
### Basic Mario Brothers Example
29912991
```python
2992-
import collections, dataclasses, enum, io, pygame, urllib.request, itertools as it
2992+
import collections, dataclasses, enum, io, itertools as it, pygame as pg, urllib.request
29932993
from random import randint
29942994

29952995
P = collections.namedtuple('P', 'x y') # Position
@@ -2998,11 +2998,11 @@ SIZE, MAX_SPEED = 50, P(5, 10) # Screen size, Speed limit
29982998

29992999
def main():
30003000
def get_screen():
3001-
pygame.init()
3002-
return pygame.display.set_mode(2 * [SIZE*16])
3001+
pg.init()
3002+
return pg.display.set_mode(2 * [SIZE*16])
30033003
def get_images():
30043004
url = 'https://gto76.github.io/python-cheatsheet/web/mario_bros.png'
3005-
img = pygame.image.load(io.BytesIO(urllib.request.urlopen(url).read()))
3005+
img = pg.image.load(io.BytesIO(urllib.request.urlopen(url).read()))
30063006
return [img.subsurface(get_rect(x, 0)) for x in range(img.get_width() // 16)]
30073007
def get_mario():
30083008
Mario = dataclasses.make_dataclass('Mario', 'rect spd facing_left frame_cycle'.split())
@@ -3012,14 +3012,14 @@ def main():
30123012
[(randint(1, SIZE-2), randint(2, SIZE-2)) for _ in range(SIZE**2 // 10)]
30133013
return [get_rect(*p) for p in positions]
30143014
def get_rect(x, y):
3015-
return pygame.Rect(x*16, y*16, 16, 16)
3015+
return pg.Rect(x*16, y*16, 16, 16)
30163016
run(get_screen(), get_images(), get_mario(), get_tiles())
30173017

30183018
def run(screen, images, mario, tiles):
3019-
clock = pygame.time.Clock()
3020-
while all(event.type != pygame.QUIT for event in pygame.event.get()):
3021-
keys = {pygame.K_UP: D.n, pygame.K_RIGHT: D.e, pygame.K_DOWN: D.s, pygame.K_LEFT: D.w}
3022-
pressed = {keys.get(i) for i, on in enumerate(pygame.key.get_pressed()) if on}
3019+
clock = pg.time.Clock()
3020+
while all(event.type != pg.QUIT for event in pg.event.get()):
3021+
keys = {pg.K_UP: D.n, pg.K_RIGHT: D.e, pg.K_DOWN: D.s, pg.K_LEFT: D.w}
3022+
pressed = {keys.get(i) for i, on in enumerate(pg.key.get_pressed()) if on}
30233023
update_speed(mario, tiles, pressed)
30243024
update_position(mario, tiles)
30253025
draw(screen, images, mario, tiles, pressed)
@@ -3058,7 +3058,7 @@ def draw(screen, images, mario, tiles, pressed):
30583058
screen.blit(images[get_frame_index() + mario.facing_left * 9], mario.rect)
30593059
for rect in tiles:
30603060
screen.blit(images[18 if {*rect.topleft} & {0, (SIZE-1)*16} else 19], rect)
3061-
pygame.display.flip()
3061+
pg.display.flip()
30623062

30633063
if __name__ == '__main__':
30643064
main()

index.html

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2037,10 +2037,10 @@
20372037

20382038
<p><br></p>
20392039
<div><h1 id="libraries">Libraries</h1><div><h2 id="progressbar"><a href="#progressbar" name="progressbar">#</a>Progress Bar</h2><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install tqdm</span>
2040-
<span class="hljs-keyword">from</span> tqdm <span class="hljs-keyword">import</span> tqdm
2041-
<span class="hljs-keyword">from</span> time <span class="hljs-keyword">import</span> sleep
2042-
<span class="hljs-keyword">for</span> el <span class="hljs-keyword">in</span> tqdm([<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>]):
2043-
sleep(<span class="hljs-number">0.2</span>)
2040+
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> tqdm <span class="hljs-keyword">import</span> tqdm
2041+
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">for</span> el <span class="hljs-keyword">in</span> tqdm([<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>], desc=<span class="hljs-string">'Processing'</span>):
2042+
<span class="hljs-meta">... </span> <span class="hljs-keyword">pass</span>
2043+
Processing: 100%|██████████████████| 3/3 [00:00&lt;00:00, 11516.49it/s]
20442044
</code></pre></div></div>
20452045

20462046

@@ -2550,7 +2550,7 @@
25502550
&lt;Sound&gt;.play() <span class="hljs-comment"># Starts playing the sound.</span>
25512551
</code></pre></div>
25522552

2553-
<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, pygame, urllib.request, itertools <span class="hljs-keyword">as</span> it
2553+
<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, itertools <span class="hljs-keyword">as</span> it, pygame <span class="hljs-keyword">as</span> pg, urllib.request
25542554
<span class="hljs-keyword">from</span> random <span class="hljs-keyword">import</span> randint
25552555

25562556
P = collections.namedtuple(<span class="hljs-string">'P'</span>, <span class="hljs-string">'x y'</span>) <span class="hljs-comment"># Position</span>
@@ -2559,11 +2559,11 @@
25592559

25602560
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">main</span><span class="hljs-params">()</span>:</span>
25612561
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_screen</span><span class="hljs-params">()</span>:</span>
2562-
pygame.init()
2563-
<span class="hljs-keyword">return</span> pygame.display.set_mode(<span class="hljs-number">2</span> * [SIZE*<span class="hljs-number">16</span>])
2562+
pg.init()
2563+
<span class="hljs-keyword">return</span> pg.display.set_mode(<span class="hljs-number">2</span> * [SIZE*<span class="hljs-number">16</span>])
25642564
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_images</span><span class="hljs-params">()</span>:</span>
25652565
url = <span class="hljs-string">'https://gto76.github.io/python-cheatsheet/web/mario_bros.png'</span>
2566-
img = pygame.image.load(io.BytesIO(urllib.request.urlopen(url).read()))
2566+
img = pg.image.load(io.BytesIO(urllib.request.urlopen(url).read()))
25672567
<span class="hljs-keyword">return</span> [img.subsurface(get_rect(x, <span class="hljs-number">0</span>)) <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> range(img.get_width() // <span class="hljs-number">16</span>)]
25682568
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_mario</span><span class="hljs-params">()</span>:</span>
25692569
Mario = dataclasses.make_dataclass(<span class="hljs-string">'Mario'</span>, <span class="hljs-string">'rect spd facing_left frame_cycle'</span>.split())
@@ -2573,14 +2573,14 @@
25732573
[(randint(<span class="hljs-number">1</span>, SIZE<span class="hljs-number">-2</span>), randint(<span class="hljs-number">2</span>, SIZE<span class="hljs-number">-2</span>)) <span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> range(SIZE**<span class="hljs-number">2</span> // <span class="hljs-number">10</span>)]
25742574
<span class="hljs-keyword">return</span> [get_rect(*p) <span class="hljs-keyword">for</span> p <span class="hljs-keyword">in</span> positions]
25752575
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_rect</span><span class="hljs-params">(x, y)</span>:</span>
2576-
<span class="hljs-keyword">return</span> pygame.Rect(x*<span class="hljs-number">16</span>, y*<span class="hljs-number">16</span>, <span class="hljs-number">16</span>, <span class="hljs-number">16</span>)
2576+
<span class="hljs-keyword">return</span> pg.Rect(x*<span class="hljs-number">16</span>, y*<span class="hljs-number">16</span>, <span class="hljs-number">16</span>, <span class="hljs-number">16</span>)
25772577
run(get_screen(), get_images(), get_mario(), get_tiles())
25782578

25792579
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">run</span><span class="hljs-params">(screen, images, mario, tiles)</span>:</span>
2580-
clock = pygame.time.Clock()
2581-
<span class="hljs-keyword">while</span> all(event.type != pygame.QUIT <span class="hljs-keyword">for</span> event <span class="hljs-keyword">in</span> pygame.event.get()):
2582-
keys = {pygame.K_UP: D.n, pygame.K_RIGHT: D.e, pygame.K_DOWN: D.s, pygame.K_LEFT: D.w}
2583-
pressed = {keys.get(i) <span class="hljs-keyword">for</span> i, on <span class="hljs-keyword">in</span> enumerate(pygame.key.get_pressed()) <span class="hljs-keyword">if</span> on}
2580+
clock = pg.time.Clock()
2581+
<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()):
2582+
keys = {pg.K_UP: D.n, pg.K_RIGHT: D.e, pg.K_DOWN: D.s, pg.K_LEFT: D.w}
2583+
pressed = {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}
25842584
update_speed(mario, tiles, pressed)
25852585
update_position(mario, tiles)
25862586
draw(screen, images, mario, tiles, pressed)
@@ -2619,7 +2619,7 @@
26192619
screen.blit(images[get_frame_index() + mario.facing_left * <span class="hljs-number">9</span>], mario.rect)
26202620
<span class="hljs-keyword">for</span> rect <span class="hljs-keyword">in</span> tiles:
26212621
screen.blit(images[<span class="hljs-number">18</span> <span class="hljs-keyword">if</span> {*rect.topleft} &amp; {<span class="hljs-number">0</span>, (SIZE<span class="hljs-number">-1</span>)*<span class="hljs-number">16</span>} <span class="hljs-keyword">else</span> <span class="hljs-number">19</span>], rect)
2622-
pygame.display.flip()
2622+
pg.display.flip()
26232623

26242624
<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:
26252625
main()

parse.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ const INDEX =
7575
'<li><strong>Ctrl+F / ⌘F is usually sufficient.</strong></li>\n' +
7676
'<li><strong>Searching <code class="python hljs"><span class="hljs-string">\'#&lt;title&gt;\'</span></code> will limit the search to the titles.</strong></li>\n';
7777

78+
const PROGRESS_BAR =
79+
'<span class="hljs-comment"># $ pip3 install tqdm</span>\n' +
80+
'<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> tqdm <span class="hljs-keyword">import</span> tqdm\n' +
81+
'<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">for</span> el <span class="hljs-keyword">in</span> tqdm([<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>], desc=<span class="hljs-string">\'Processing\'</span>):\n' +
82+
'<span class="hljs-meta">... </span> <span class="hljs-keyword">pass</span>\n' +
83+
'Processing: 100%|██████████████████| 3/3 [00:00&lt;00:00, 11516.49it/s]\n';
84+
85+
7886
const DIAGRAM_1_A =
7987
'+------------------+------------+------------+------------+\n' +
8088
'| | Sequence | Collection | Iterable |\n' +
@@ -504,6 +512,7 @@ function fixHighlights() {
504512
$(`code:contains(make_dataclass(\'<class_name>\')`).html(DATACLASS);
505513
$(`code:contains(pip3 install pyinstaller)`).html(PYINSTALLER);
506514
$(`ul:contains(Only available in)`).html(INDEX);
515+
$(`code:contains(pip3 install tqdm)`).html(PROGRESS_BAR);
507516
}
508517

509518
function preventPageBreaks() {

0 commit comments

Comments
 (0)