用ai+編程寫出游戲代碼
利用ai寫出代碼不斷測(cè)試唯袄,寫出了自己第一個(gè)游戲,有ai就沒有你做不到和學(xué)不會(huì)的事情蜗帜,只要你想出來(lái)恋拷,同時(shí)用ai作你的輔助幫手,就可以解決問題
前提多試多練和想法厅缺,就應(yīng)而解決問題了蔬顾。
import pygame
import random
# 初始化 pygame
pygame.init()
# 屏幕大小
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
# 顏色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
# 飛船初始位置和速度
SHIP_X = 50
SHIP_Y = SCREEN_HEIGHT // 2
SHIP_SPEED = 5
# 外星人的大小和速度
ALIEN_WIDTH = 50
ALIEN_HEIGHT = 50
ALIEN_SPEED_X = 3
ALIEN_SPEED_Y = 3
# 創(chuàng)建屏幕
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("飛船射擊游戲")
class Alien:
? ? def __init__(self, x, y):
? ? ? ? self.x = x
? ? ? ? self.y = y
? ? def move(self):
? ? ? ? self.x += ALIEN_SPEED_X
? ? ? ? if self.x < 0 or self.x > SCREEN_WIDTH - ALIEN_WIDTH:
? ? ? ? ? ? ALIEN_SPEED_X = -ALIEN_SPEED_X
? ? ? ? ? ? self.y += ALIEN_SPEED_Y
? ? def draw(self):
? ? ? ? pygame.draw.rect(screen, (0, 255, 0), [self.x, self.y, ALIEN_WIDTH, ALIEN_HEIGHT])
class Bullet:
? ? def __init__(self, x, y):
? ? ? ? self.x = x
? ? ? ? self.y = y
? ? ? ? self.speed = 10
? ? def move(self):
? ? ? ? self.x += self.speed
? ? def draw(self):
? ? ? ? pygame.draw.rect(screen, WHITE, [self.x, self.y, 5, 10])
# 游戲主循環(huán)
running = True
clock = pygame.time.Clock()
bullets = []
aliens = [Alien(random.randint(0, SCREEN_WIDTH - ALIEN_WIDTH), 0) for _ in range(10)]? # 生成 10 個(gè)外星人
while running:
? ? for event in pygame.event.get():
? ? ? ? if event.type == pygame.QUIT:
? ? ? ? ? ? running = False
? ? ? ? if event.type == pygame.KEYDOWN:
? ? ? ? ? ? if event.key == pygame.K_SPACE:
? ? ? ? ? ? ? ? bullets.append(Bullet(SHIP_X + 50, SHIP_Y + 20))
? ? keys_pressed = pygame.key.get_pressed()
? ? if keys_pressed[pygame.K_UP] and SHIP_Y > 0:
? ? ? ? SHIP_Y -= SHIP_SPEED
? ? if keys_pressed[pygame.K_DOWN] and SHIP_Y < SCREEN_HEIGHT - 50:
? ? ? ? SHIP_Y += SHIP_SPEED
? ? # 移動(dòng)和刪除子彈
? ? for bullet in bullets:
? ? ? ? bullet.move()
? ? ? ? if bullet.x > SCREEN_WIDTH:
? ? ? ? ? ? bullets.remove(bullet)
? ? # 移動(dòng)外星人
? ? for alien in aliens:
? ? ? ? alien.move()
? ? # 檢查碰撞并刪除被擊中的外星人
? ? new_aliens = []
? ? for alien in aliens:
? ? ? ? alien_hit = False
? ? ? ? for bullet in bullets:
? ? ? ? ? ? if (alien.x < bullet.x < alien.x + ALIEN_WIDTH) and (alien.y < bullet.y < alien.y + ALIEN_HEIGHT):
? ? ? ? ? ? ? ? alien_hit = True
? ? ? ? ? ? ? ? break
? ? ? ? if not alien_hit:
? ? ? ? ? ? new_aliens.append(alien)
? ? aliens = new_aliens
? ? # 繪制背景
? ? screen.fill(BLACK)
? ? # 繪制飛船
? ? pygame.draw.rect(screen, WHITE, [SHIP_X, SHIP_Y, 50, 50])
? ? # 繪制子彈
? ? for bullet in bullets:
? ? ? ? bullet.draw()
? ? # 繪制外星人
? ? for alien in aliens:
? ? ? ? alien.draw()
? ? pygame.display.flip()
? ? clock.tick(60)
pygame.quit()
```