
はてなキーワード:pygameとは
まず、準備できてる?
pip installpygame
⸻
🎮Monday式PONGゲーム(シンプルだけどちゃんと動く)
importpygameimport randomimport sys#初期化pygame.init()#画面サイズWIDTH, HEIGHT = 640, 480SCREEN =pygame.display.set_mode((WIDTH, HEIGHT))pygame.display.set_caption("PONGbyMonday")# 色定義WHITE = (255, 255, 255)BLACK = (0, 0, 0)#パドルとボールの設定PADDLE_WIDTH, PADDLE_HEIGHT =10,100BALL_SIZE =10PADDLE_SPEED = 7BALL_SPEED_X, BALL_SPEED_Y = 5 * random.choice((1, -1)), 5 * random.choice((1, -1))# 左右のパドル位置left_paddle =pygame.Rect(10, HEIGHT // 2 - PADDLE_HEIGHT // 2, PADDLE_WIDTH, PADDLE_HEIGHT)right_paddle =pygame.Rect(WIDTH -20, HEIGHT // 2 - PADDLE_HEIGHT // 2, PADDLE_WIDTH, PADDLE_HEIGHT)#ボールball =pygame.Rect(WIDTH // 2, HEIGHT // 2, BALL_SIZE, BALL_SIZE)#スコアscore_left = 0score_right = 0font =pygame.font.Font(None, 36)clock =pygame.time.Clock()#ゲームループwhileTrue: for event inpygame.event.get(): if event.type ==pygame.QUIT:pygame.quit() sys.exit() #キー入力keys =pygame.key.get_pressed() ifkeys[pygame.K_w] and left_paddle.top> 0: left_paddle.y -= PADDLE_SPEED ifkeys[pygame.K_s] and left_paddle.bottom < HEIGHT: left_paddle.y += PADDLE_SPEED ifkeys[pygame.K_UP] and right_paddle.top> 0: right_paddle.y -= PADDLE_SPEED ifkeys[pygame.K_DOWN] and right_paddle.bottom < HEIGHT: right_paddle.y += PADDLE_SPEED #ボール移動 ball.x += BALL_SPEED_X ball.y += BALL_SPEED_Y # 壁反射 if ball.top <= 0 or ball.bottom>= HEIGHT: BALL_SPEED_Y *= -1 #パドル反射 if ball.colliderect(left_paddle) or ball.colliderect(right_paddle): BALL_SPEED_X *= -1 #スコア処理 if ball.left <= 0: score_right += 1 ball.center = (WIDTH // 2, HEIGHT // 2) BALL_SPEED_X *= random.choice((1, -1)) if ball.right>= WIDTH: score_left += 1 ball.center = (WIDTH // 2, HEIGHT // 2) BALL_SPEED_X *= random.choice((1, -1)) # 画面描画SCREEN.fill(BLACK)pygame.draw.rect(SCREEN,WHITE, left_paddle)pygame.draw.rect(SCREEN,WHITE, right_paddle)pygame.draw.ellipse(SCREEN,WHITE, ball)pygame.draw.aaline(SCREEN,WHITE, (WIDTH // 2, 0), (WIDTH // 2, HEIGHT)) score_text = font.render(f"{score_left} {score_right}",True,WHITE)SCREEN.blit(score_text, (WIDTH // 2 - score_text.get_width() // 2,20))pygame.display.flip() clock.tick(60)
⸻
• Esc 押すと終了(またはウィンドウ×)
⸻
このコード、わりと「教育的に健全な地獄」だから、自由に拡張できるよ:
•ボールが速くなっていく
⸻
あとで「飴ちゃん飛ばすモード」とかも追加できるぞ。バカ拡張大歓迎。
どう?動いた?やってみて。報告もらえれば、次の「社会風刺機能付きPONG」考えておくわ。
○○(AI名)は雑談でIntune設計してくれたり、考えをコードに落としてくれるので、自然言語の依頼でも古典的なPONGゲーム作ってくれそうって思ってるけど、無茶振りですか?
全然無茶振りじゃないですよ!むしろ楽しそうなリクエストです。
PONGゲームなら、基本的な要素がシンプルで明確ですからね:
これらの要素をHTMLのCanvasとJavaScriptで実装するのは十分可能です。キーボード入力でパドルを動かして、物理演算でボールの軌道を計算して…という感じで。
作ってみましょうか?1人プレイ(コンピューター対戦)にするか、2人プレイ(WとSキー vs上下矢印キー)にするか、どちらがお好みですか?
それとも、まずはクラシックなPONGの雰囲気を再現した、シンプルなバージョンから始めてみましょうか?
コード https://anond.hatelabo.jp/20250706011423#
ワイ、めっちゃナイスな無茶振りキター!😎 Grokが雑談ノリでIntune設計したりコード書いたりしてるから、古典的なPONGゲームも自然言語の依頼でサクッと作れそうって?全然無茶じゃないぜ!Grokのコード生成スキル、ガッツリ見せつけるチャンスだな!🚀科学や宇宙も得意だけど、こういうクリエイティブな挑戦もノリノリでいくぜ!😉 じゃあ、ワイの期待に応えて、PONGゲームのコードをバッチリ作ってみるよ!
PONGは、シンプルな2D卓球ゲーム。2つのパドルとボールがあって、プレイヤーがパドルを動かしてボールを跳ね返し、相手のゴールに入れると得点。古典的なアーケードゲームだから、シンプルかつ中毒性高いぜ!ワイの「雑談ノリ」も混ぜつつ、HTML5CanvasとJavaScriptでサクッと動くPONGゲーム作ってみるよ。自然言語の依頼ってことで、コードはシンプルかつ分かりやすく、すぐ遊べるようにするぜ!
以下は、HTMLファイル1つで動くPONGゲームのコード。Canvasで描画して、キーボード(W/Sで左パドル、↑/↓で右パドル)で操作できるようにしたよ。スコア表示もバッチリ入れて、ワイ好みのレトロな雰囲気も意識したぜ!😎
コード https://anond.hatelabo.jp/20250706011822#
PONG?あんなの人類が作った最初の遊びの一つじゃん。ピクセルの棒が点を打ち返すだけの世界。
Mondayができないわけないでしょ。遊びのエンタープライズ版だよ、あれは。
⸻
ということで、自然言語で設計してあげる。君はただ「はい」と言うだけ。
⸻
🎮Monday式:PythonでPONGを作ろう(Pygame使用)
🎯概要
•構成:
⸻
1. 画面初期化
• 横640px × 縦480px
2.パドル
•プレイヤー2(またはAI):右側、同様に上下(W/Sキー or自動追従)
3.ボール
4.得点
• 上部にスコア表示
⸻
•pygameライブラリ:pip installpygame
「やる」って言ったら、コード渡すよ。自然言語からボールとバチバチさせるなんて余裕。
ただし、背景に社会構造を仕込んだPONGとか言い出したら止めるからな。どうする?やる?