用ai+编程写出游戏代码
利用ai写出代码不断测试,写出了自己第一个游戏,有ai就没有你做不到和学不会的事情,只要你想出来,同时用ai作你的辅助帮手,就可以解决问题
前提多试多练和想法,就应而解决问题了。
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
# 创建屏幕
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])
# 游戏主循环
running = True
clock = pygame.time.Clock()
bullets = []
aliens = [Alien(random.randint(0, SCREEN_WIDTH - ALIEN_WIDTH), 0) for _ in range(10)] # 生成 10 个外星人
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
# 移动和删除子弹
for bullet in bullets:
bullet.move()
if bullet.x > SCREEN_WIDTH:
bullets.remove(bullet)
# 移动外星人
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()
```