SHOW:
|
|
- or go back to the newest paste.
1 | from turtle import * | |
2 | reset() ## Kelionė po dykumą :) | |
3 | ||
4 | # nr: 0 1 2 3 4 5 | |
5 | X = [ 20, 50, 100, 80, 0, -30] | |
6 | Y = [-100, 100, 0, 50, 40, 50 ] | |
7 | K = [ 20, 40, 30 , 100, 20, 40 ] # kuras | |
8 | ||
9 | kuras = 250 | |
10 | ||
11 | n = len(X) | |
12 | ||
13 | up() | |
14 | for i in range(n): | |
15 | goto(X[i], Y[i]) | |
16 | dot(10) | |
17 | write(i) | |
18 | ||
19 | goto(X[0], Y[0]); down() # startas | |
20 | ||
21 | i = 0 | |
22 | while i < n-1: | |
23 | kuras = kuras + K[i] | |
24 | write( [i, kuras] ) | |
25 | ||
26 | for j in range(i+1, n): | |
27 | dx = X[i]-X[j] | |
28 | dy = Y[i]-Y[j] | |
29 | atstumas = round( (dx**2+dy**2)**0.5 ) | |
30 | if atstumas < kuras: | |
31 | break | |
32 | ||
33 | if atstumas < kuras: | |
34 | goto(X[j], Y[j]) | |
35 | i = j | |
36 | kuras = kuras - atstumas | |
37 | else: | |
38 | color('red'); dot(5); left(90); fd(20); write('BASTA') | |
39 | break | |
40 | ||
41 | - | mainloop() |
41 | + | mainloop() |
42 | ||
43 | # Užduotys pasipraktikavimui: | |
44 | # 0) jei sėkmingai pasiekė paskutinį tašką, parašyti "Valio" | |
45 | ||
46 | # 1) ištrinti pradinį taškų išsidėstymo piešimą ir per naują pačiam parašyt ;) | |
47 | ||
48 | # 2) surasti maršruto ilgį | |
49 | ||
50 | # 3) ieskant naujo atstumo, tikrinti anksciau praleistus | |
51 | # tam gali buti sarasas, kuriame pazymim, ar jau buvom | |
52 | # B = [0, 0, 0, 0, 0, 0] # 0 - ne, 1 - buvom | |
53 | ||
54 | # 4) surast trumpiausią maršruto atkarpą (ir tarp kurių taškų jis buvo) |