天天看點

用chatgpt寫程式,程式員要失業了

我想用chatgpt寫一個貪吃蛇的遊戲,用python語言,結果真寫出來了,還可以運作,還可以每行注釋。太強了,程式員看來要大量失業了!

用chatgpt寫程式,程式員要失業了

以下是使用Python和Pygame庫編寫的簡單貪吃蛇遊戲代碼:

```python

import pygame

import random

# 初始化pygame

pygame.init()

# 遊戲視窗大小

width = 500

height = 500

# 建立視窗

window = pygame.display.set_mode((width, height))

pygame.display.set_caption("貪吃蛇")

# 定義顔色

white = (255, 255, 255)

black = (0, 0, 0)

red = (255, 0, 0)

# 設定計時器

clock = pygame.time.Clock()

# 貪吃蛇頭部坐标,初始位置在螢幕中央

snake_head_x = width // 2

snake_head_y = height // 2

# 貪吃蛇身體坐标清單,初始長度為3

snake_body = []

for i in range(3):

snake_body.append([snake_head_x - i * 10, snake_head_y])

# 食物坐标,随機生成

food_x = round(random.randrange(0, width - 10) / 10.0) * 10.0

food_y = round(random.randrange(0, height - 10) / 10.0) * 10.0

# 初始方向向右

direction = "right"

# 分數

score = 0

# 遊戲結束标志

game_over = False

while not game_over:

for event in pygame.event.get():

if event.type == pygame.QUIT:

game_over = True

# 監聽鍵盤事件,改變方向

if event.type == pygame.KEYDOWN:

if event.key == pygame.K_LEFT and direction != "right":

direction = "left"

elif event.key == pygame.K_RIGHT and direction != "left":

direction = "right"

elif event.key == pygame.K_UP and direction != "down":

direction = "up"

elif event.key == pygame.K_DOWN and direction != "up":

direction = "down"

# 移動貪吃蛇身體

for i in range(len(snake_body) - 1, 0, -1):

snake_body[i][0] = snake_body[i-1][0]

snake_body[i][1] = snake_body[i-1][1]

# 移動貪吃蛇頭部

if direction == "left":

snake_head_x -= 10

elif direction == "right":

snake_head_x += 10

elif direction == "up":

snake_head_y -= 10

elif direction == "down":

snake_head_y += 10

# 判斷貪吃蛇是否吃到食物

if snake_head_x == food_x and snake_head_y == food_y:

food_x = round(random.randrange(0, width - 10) / 10.0) * 10.0

food_y = round(random.randrange(0, height - 10) / 10.0) * 10.0

score += 10

# 吃到食物後,在貪吃蛇尾部添加一個身體點

snake_body.append([snake_body[-1][0], snake_body[-1][1]])

# 判斷是否碰到邊界或自身,遊戲結束

if snake_head_x 0 or snake_head_x > width-10 or snake_head_y 0 or snake_head_y > height-10:

game_over = True

for i in range(1, len(snake_body)):

if snake_head_x == snake_body[i][0] and snake_head_y == snake_body[i][1]:

game_over = True

# 繪制視窗,包括貪吃蛇、食物和分數

window.fill(white)

pygame.draw.rect(window, red, [food_x, food_y, 10, 10])

for i in range(len(snake_body)):

pygame.draw.rect(window, black, [snake_body[i][0], snake_body[i][1], 10, 10])

font = pygame.font.SysFont(None, 25)

text = font.render("Score: " + str(score), True, black)

window.blit(text, (10, 10))

pygame.display.update()

# 控制

繼續閱讀