前提・実現したいこと
pygameを使って,道をランダムに描画しようとしています。
発生している問題・エラーメッセージ
random.randintで発生した乱数をx1としたときに
x1-50<x1<x1+50 の範囲で乱数を発生させたいのですが
どうコードを書いたらよいのかわかりません。
具体的には
x1が300だと,x2の取りうる値は250<x2<350
x1が270だと,x2の取りうる値は220<x2<320
となるような場合にどのように算出したらよいのか…という質問です。
今はrandom.randint(x1-50<x1<x1+50)と書いていますが,これでは動きませんでした。
何を用いればよいのかをご教授いただきたいです…。
エラーメッセージ
該当のソースコード
python
1import pygame 2from pygame.locals import * 3import sys 4import time 5import random 6 7BLACK = (0, 0, 0) 8WHITE = (255, 255, 255) 9 10pygame.init() #初期化 11screen = pygame.display.set_mode((640, 500)) #画面サイズ 12myclock = pygame.time.Clock() 13myclock.tick(30) 14pygame.display.flip() 15 16pos_2y=380 #1本目 17pos_3y=500 18pos_4y=380 19pos_5y=500 20pos_6y=330 #2本目 21pos_7y=380 22pos_8y=330 23pos_9y=380 24pos_10y=280 #3本目 25pos_11y=330 26pos_12y=280 27pos_13y=330 28 29 30velocity_y=1 31 #速さ1にした&45度だから1ずつ動く 32 33x1=random.randint(245,345) 34x2=random.randint(-50<x100<50) 35 36while True: 37 time.sleep(0.1) 38 pos_2y+=velocity_y 39 pos_3y+=velocity_y 40 pos_4y+=velocity_y 41 pos_5y+=velocity_y 42 pos_6y+=velocity_y 43 pos_7y+=velocity_y 44 pos_8y+=velocity_y 45 pos_9y+=velocity_y 46 pos_10y+=velocity_y 47 pos_11y+=velocity_y 48 pos_12y+=velocity_y 49 pos_13y+=velocity_y 50 screen.fill(BLACK) 51 st1=(345, pos_2y) 52 en1=(345, pos_3y) 53 pygame.draw.line (screen, WHITE, st1, en1) 54 st2=(295, pos_4y) 55 en2=(295, pos_5y) 56 pygame.draw.line (screen, WHITE, st2, en2) 57 st3=(x1+50, pos_6y) 58 en3=(345, pos_7y) 59 pygame.draw.line (screen, WHITE, st3, en3) 60 st4=(x1, pos_8y) 61 en4=(295, pos_9y) 62 pygame.draw.line (screen, WHITE, st4, en4) 63 st5=(x2+50, pos_10y) 64 en5=(x1+50, pos_11y) 65 pygame.draw.line (screen, WHITE, st5, en5) 66 st6=(x1, pos_12y) 67 en6=(x2, pos_13y) 68 pygame.draw.line (screen, WHITE, st6, en6) 69 pygame.display.update() 70 for event in pygame.event.get(): 71 if event.type==pygame.QUIT: 72 pygame.quit() 73 sys.exit() 74
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー