広告

GeminiにPythonコード書いてもらったら優秀すぎた件

※当サイトはアフィリエイト広告を利用しています

しんすま

30代 男 子供4人
日本ハムファイターズファン⚾
【ファン歴20年📣】
𝕏 / ブログ / noteで
「感情7割、考察3割」で発信中♪
ガジェット・生成AI好き
お得情報も💰
📝noteはこちら

こんにちはしんすまです。

僕のことについては👆のプロフィールを見てくれたらうれしいです。

今回はタイトル通りGeminiにPythonコード書いてもらったら優秀すぎた件です。

ここ最近の生成AIブームの中で「コードを書けるAI」は珍しくなくなりましたが、Googleの Gemini が思った以上にやばかったので共有します。

ふと「Pythonでシューティングゲーム作りたいな」と思って、軽い気持ちでGeminiに頼んでみました、、、

出力されたPythonコードをそのままVSコードにそのまま貼り付けたら実行できちゃったよ(笑)

マジでそのまま動いた。
(しかも1発で)

コードの完成度が高すぎる

よくあるのは、AIにコードを書かせても


・ちょっとした構文ミスがある
・ライブラリのインポート忘れ
・Pythonバージョン的に合わない関数使ってる

みたいな"惜しい"感じになることが多いんだけど、


今回はVSコードにペタッと貼ってそのまま実行→即動作OK

これは素直にすごかった…。

実際に書いてくれたコード(抜粋)

実際に書いてくれたのはこんな感じ、、(一部抜粋です)

Pygameを使った2Dシューティングの超シンプル版:

import pygame
import random
import sys

pygame.init()

# ウィンドウ設定
WIDTH, HEIGHT = 480, 640
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Simple Shooter")
clock = pygame.time.Clock()

# プレイヤー設定
player = pygame.Rect(WIDTH // 2 - 20, HEIGHT - 60, 40, 40)
player_speed = 5

# 弾
bullets = []
bullet_speed = 7

# 敵
enemies = []
enemy_speed = 3
spawn_event = pygame.USEREVENT + 1
pygame.time.set_timer(spawn_event, 1000)

# メインループ
running = True
while running:
screen.fill((0, 0, 0))

for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == spawn_event:
x = random.randint(0, WIDTH - 30)
enemies.append(pygame.Rect(x, 0, 30, 30))

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player.left > 0:
player.move_ip(-player_speed, 0)
if keys[pygame.K_RIGHT] and player.right < WIDTH:
player.move_ip(player_speed, 0)
if keys[pygame.K_SPACE]:
if len(bullets) < 5:
bullets.append(pygame.Rect(player.centerx - 5, player.top, 10, 20))

# 弾処理
for bullet in bullets[:]:
bullet.move_ip(0, -bullet_speed)
if bullet.bottom < 0:
bullets.remove(bullet)

# 敵処理
for enemy in enemies[:]:
enemy.move_ip(0, enemy_speed)
if enemy.top > HEIGHT:
enemies.remove(enemy)
for bullet in bullets:
if enemy.colliderect(bullet):
enemies.remove(enemy)
bullets.remove(bullet)
break

# 描画
pygame.draw.rect(screen, (0, 255, 0), player)
for bullet in bullets:
pygame.draw.rect(screen, (255, 255, 0), bullet)
for enemy in enemies:
pygame.draw.rect(screen, (255, 0, 0), enemy)

pygame.display.flip()
clock.tick(60)

pygame.quit()
sys.exit()

いやいや、これはすごすぎる

「簡単に」と言っただけなのに、

  • プレイヤーの移動

  • 弾発射

  • 敵の自動生成と移動

  • 弾と敵の衝突判定
    まで網羅されてて、初心者にも優しい構成になってた。

正直、こういうコードを一から自分で書こうと思ったら地味に時間かかる。

Gemini、想像以上に使えるかも?

正直、ChatGPT(←あなたです)とかCopilotとかに慣れてたから


「Geminiもまぁ似たようなもんでしょ」と思ってたけど意外と書き方に特徴があって、わりと直感的に読みやすい。

Googleが絡んでるだけあって、情報の整理とか説明のつけ方もいい感じ。

もちろん完璧ではないけど

全てのコードが一発で動くか?

と言われたらそりゃエラーになることもあるだろうけど


「AIに書かせて→VSコードに貼って→そのまま動く」

って体験はほんとにテンション上がる。

今後、ちょっとした自動化とかデータ処理のスクリプトは
Geminiでも全然アリだなと思いました😌

まとめ:AIでコード書くの、普通にアリ

もちろん、どんなコードでも完璧に動くわけじゃないけど、
「ちょっと試したい」レベルのものをサクッと形にするには最高。

Gemini、そして生成AIたち、ほんとに頼りになる存在です。

  • この記事を書いた人

しんすま

30代 男 子供4人
日本ハムファイターズファン⚾
【ファン歴20年📣】
𝕏 / ブログ / noteで
「感情7割、考察3割」で発信中♪
ガジェット・生成AI好き
お得情報も💰
📝noteはこちら

-生成AI関連