質問編集履歴

1

コードの追加

2021/12/09 02:19

投稿

tanaka2314
tanaka2314

スコア0

test CHANGED
File without changes
test CHANGED
@@ -2,8 +2,158 @@
2
2
 
3
3
  計算とフローのとこで行き詰まってしまいました
4
4
 
5
- 通りプログラムを作成してましたが、エラーが発生して動きません
5
+ 初心者ながらヶ月ほど時間を費やしプログラムを作成してましたが、エラーが発生して動きません
6
6
 
7
+ 調べても解決策が自分の力では見つかりませんでした。
8
+
7
- pythonプログラミングが得意な方、初心者でもわかるように教えてくれませんか
9
+ とりあえず、動かせる状態まで持っていき、そこからなにが原因で動かなかったのか勉強したいと思います。動かせる状態にできる方教えてください、お願いいたします。pythonプログラミングが得意な方、初心者でもわかるように教えてくれませんか
8
10
 
9
11
  何卒よろしくお願いいたします。
12
+
13
+ ```python
14
+
15
+ コード
16
+
17
+ ```''' speed4.py'''
18
+
19
+ import sys
20
+
21
+ from math import sin,radians
22
+
23
+ import pygame
24
+
25
+ from pygame.locals import QUIT,KEYDOWN,K_SPACE, Rect
26
+
27
+
28
+
29
+ pygame.init()
30
+
31
+ pygame.key.set_repeat(5,5)
32
+
33
+ SURFACE = pygame.display.set_mode((600,600))
34
+
35
+ FPSCLOCK = pygame.time.Clock()
36
+
37
+
38
+
39
+ def main():
40
+
41
+ '''メインルーチン'''
42
+
43
+ rect = Rect(0,300,10,10)
44
+
45
+ speed = 10
46
+
47
+ velocity = -20
48
+
49
+ accel = 5
50
+
51
+ offset = 0
52
+
53
+ game_over = False
54
+
55
+ font = pygame.font.SysFont(None,)
56
+
57
+
58
+
59
+ while True:
60
+
61
+ is_flying = False
62
+
63
+
64
+
65
+ for event in pygame.event.get():
66
+
67
+ if event.type == QUIT:
68
+
69
+ pygame.quit()
70
+
71
+ sys.exit()
72
+
73
+ if event.type == KEYDOWN:
74
+
75
+ if event.key == K_SPACE:
76
+
77
+ is_flying = True
78
+
79
+
80
+
81
+ if not game_over:
82
+
83
+ velocity += -accel if is_flying else accel
84
+
85
+ rect.y += velocity
86
+
87
+ offset += speed
88
+
89
+ if offset % 100 == 0:
90
+
91
+ speed += 2
92
+
93
+
94
+
95
+ SURFACE.fill((0,255,0))
96
+
97
+
98
+
99
+ #draw ceiling
100
+
101
+ points = [(0,0)]
102
+
103
+ for pos_x in range(0,610,10):
104
+
105
+ pos_y = 200 + sin(randians(pos_x + offset)\2)*80
106
+
107
+ points.append((pos_x,pos_y))
108
+
109
+ if pos_x == 10 and rect.y <pos_y:
110
+
111
+ game_over = True
112
+
113
+ points.append([600,0])
114
+
115
+ pygame.draw.polygon(SURFACE,(165,42,42),points)
116
+
117
+
118
+
119
+ #draw floor
120
+
121
+ points = [(0,600)]
122
+
123
+ for pos_x in range(0,610,10):
124
+
125
+ pos_y = 400 + sin(randians(pos_x + offset)\3)*60
126
+
127
+ points.append((pos_x,pos_y))
128
+
129
+ if pos_x == 10 and rect.bottom > pos_y:
130
+
131
+ game_over = True
132
+
133
+ points.append([600,600])
134
+
135
+
136
+
137
+ pygame.draw.polygon(SURFACE,(165,42,42),points)
138
+
139
+
140
+
141
+ pygame.draw.rect(SURFACE,255,255,255),rect)
142
+
143
+
144
+
145
+ score = font.render(str(offset),True,(255,255,255))
146
+
147
+ SURFACE.blit(score,(500,50))
148
+
149
+
150
+
151
+ pygame.display.update()
152
+
153
+ FPSCLOCK.tick(10)
154
+
155
+
156
+
157
+ if_name_ =='_main_':
158
+
159
+ main()