1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPTを使ってAIにプログラムを書かせる

Posted at

AIでプログラムを書けることが話題になっていた、chatGPTを使ったプログラムの自動生成を試したメモです。
https://chat.openai.com/chat

■入力文章

重力を考慮した、ボールが飛び跳ねるprocessingのプログラムは?

ChatGPTの回答プログラムが途中で途切れてしまいますが、
回答の最後の一文字を入力すると、続きを表示することが可能です。

出力結果のうち62行目の文頭の
List

ArrayList
に変更しています。

■出力結果

chatGPT.pde
// 重力を表す変数を定義します
float gravity = 0.1;

// ボールを表すクラスを作成します
class Ball {
  // ボールの位置を表す変数を定義します
  float x;
  float y;

  // ボールの速度を表す変数を定義します
  float vx;
  float vy;

  // ボールの半径を表す変数を定義します
  float r;

  // コンストラクタを定義します
  Ball(float x, float y, float vx, float vy, float r) {
    this.x = x;
    this.y = y;
    this.vx = vx;
    this.vy = vy;
    this.r = r;
  }

  // ボールを描画するメソッドを定義します
  void draw() {
    // ボールを描画します
    ellipse(x, y, r * 2, r * 2);
  }

  // ボールを動かすメソッドを定義します
  void move() {
    // 重力の影響を受けるよう、速度に重力を加算します
    vy += gravity;

    // 速度に応じて位置を更新します
    x += vx;
    y += vy;

    // 画面からはみ出ないように、画面内での反射処理を行います
    if (x < r) {
      x = r;
      vx *= -1;
    }
    if (x > width - r) {
      x = width - r;
      vx *= -1;
    }
    if (y < r) {
      y = r;
      vy *= -1;
    }
    if (y > height - r) {
      y = height - r;
      vy *= -1;
    }
  }
}

// ボールを格納するリストを定義します
ArrayList<Ball> balls = new ArrayList<Ball>();

void setup() {
  // 画面の設定を行います
  size(640, 480);
  background(0);

  // ボールを追加します
  balls.add(new Ball(100, 100, 2, -5, 10));
  balls.add(new Ball(200, 200, 3, -4, 15));
  balls.add(new Ball(300, 300, 1, -3, 20));
}

void draw() {
  // 背景を再描画します
  background(0);

  // ボールを描画します
  for (Ball ball : balls) {
    ball.draw();
  }

  // ボールを動かします
  for (Ball ball : balls) {
    ball.move();
  }
}

しっかり動きます。
確かに、こりゃすごい。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?