質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1687閲覧

Pythonでミニゲーム制作

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/05 07:41

編集2019/09/05 07:48

初心者の為のPython 活用術という書籍を購入し、まずはじめにコードだけを入力したのですが、エラーになってしまいました。

ゲーム内容はブロック崩しです。

python

1#ブロック崩し 2import pygame 3import math 4def sgn(a): 5 return 1 if a > 0 else -1 6WIDTH = 640 7HEIGHT = 480 8WHITE = (255, 255, 255) 9RED = (255, 0, 0) 10YELLOW = (255, 255, 0) 11GREEN = ( 0, 255, 0) 12BLUE = ( 0, 0, 255) 13colortable = [RED, YELLOW, GREEN] 14 15pygame.init() 16screen = pygame.display.set_mode((WIDTH,HEIGHT)) 17myfont = pygame.font.Font(None, 64) 18myclock = pygame.time.Clock() 19br = 10 20paddlew = 96 21paddleh = 16 22blockw = 48 23blockh = 24 24endflag = 0 25 26while endflag == 0: 27 ballx = WIDTH / 2 28 bally = HEIGHT - 170 29 bx1 = 2 30 by1 = -2.5 31 x = WIDTH / 2 32 y = HEIGHT -64 33 paddle = pygame.Rect(x - (paddlew / 2), \ 34 y - (paddleh / 2), paddlew, paddleh) 35 blocks [] 36 for i in range(50): 37 x = (i % 10) * (blockw + 4) + 64 38 y = int(i / 10) * (blockh + 4) + 64 39 blocks.append(pygame.rect(x, y, blockw, \ 40 blockh)) 41 gameover = 0 42 while endflag == 0: 43 for event in pygame.event.get(): 44 if event.type == pygame.QUIT: endflag = 1 45 press = pygame.key.get_pressed() 46 x = paddle.centerx 47 if(press[pygame.K_LEFT ]): x -= 8 48 if(press[pygame.K_RIGHT]): x += 8 49 and x <= (WIDTH - (paddlew / 2)): 50 paddle.centerx = x 51 x = ballx + bx1 52 y = bally + by1 53 if x < br or x > (WIDTH - br): bx1 = -bx1 54 if y < br: by1 = -by1 55 y > HEIGHT: gameover += 1 56 dx = paddle.centerx - x 57 dy = paddle.centery - y 58 if dy == 0:dy = 1 59 if ads(dx) <(paddlew / 2 + br) \ 60 and ads(dy) < (paddleh / 2 + br): 61 if ads(dx/dy) > (paddlew / paddleh): 62 dx1 = -dx1 63 ballx = paddle.centerx - sgn(dx) \ 64 * (paddlew/2 + br) 65 else: 66 bx1 = -dx / 10 67 dy1 = -dy1 68 bally = paddle.centery - sgn(dy) 69 * (paddleh/2 + br) 70 for block in blocks: 71 dx = block.centerx - x 72 dy = block.centery - y 73 if dy == 0: dy = 1 74 if ads(dx) < (blockw / 2 + br) \ 75 and ads(dy) < (blockh / 2 + br): 76 if ads(dx / dy) > (blockw / blockh): 77 bx1 = -by1 78 ballx = block.centery - sgn(dx) \ 79 * (blockw / 2 + br) 80 else: 81 by1 = -by1 82 bally = block.centery - sgn(dy) \ 83 * (blockh / 2 + br) 84 blocks.remove(block) 85 break 86 ballx += bx1 87 bally += by1 88 screen.fill(BLUE) 89 for block in blocks: 90 color = colortable[int(block.y / 28) % 3] 91 pygame.drow.rect(screen, color, block) 92 pygame.drow.rect(screen, WHITE, paddle) 93 pygame.drow.circle(screen, WHITE, \ 94 (int(ballx), int(bally)), br) 95 if gameover > 0: 96 imagetext = \ 97 myfont.render("GAME OVER", True, WHITE) 98 screen.blit(imagetext, (180, 300)) 99 if gameover > 200: break 100 myclock.tick(60) 101 pygame.display.flip() 102 pygame.quit() 103

エラー画面(スクリーンショット)

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2019/09/05 07:43

出たエラーを全文記載してください。
nskydiving

2019/09/05 07:43

エラーメッセージを提示してください。
退会済みユーザー

退会済みユーザー

2019/09/05 07:46

エラーというか、ここが間違っていますという意味で赤で塗りつぶされています。 スクリーンショットを掲載いたしましたので、ご確認ください。
can110

2019/09/05 08:27

block.pyはどんなアプリでひらいていますか? 赤色の部分、単にカーソル位置を表示しているだけにも見えますが?
Lhankor_Mhy

2019/09/05 08:42

typoのチェックを求める質問は、さすがに初めてです。 低評価しました。
guest

回答1

0

ベストアンサー

書籍のコードを打ち込みしただけなら、赤色の部分を書籍と比べればいいだけの話では?
ここは校正屋さんではありません。
打ち間違いぐらい自分でチェックしてください。

https://evolvingbook.com/wp-content/uploads/2019/02/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E5%B4%A9%E3%81%97.pdf

イコールが抜けているだけです。

投稿2019/09/05 08:39

Lhankor_Mhy

総合スコア35865

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/06 12:27

ご回答ありがとうございます。 打ち間違いでした。 参考としてあげてもらった、サイト通りに実行し、typo以外の問題が発生した場合は、質問させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問