python小游戏代码200行左右
以下是一个简单的猜数字游戏,代码约200行:
import random
print("欢迎来到猜数字游戏!")
print("我已经想好了一个1到100之间的数字,你需要在10次机会内猜中它。")
secret_number = random.randint(1, 100)
guesses_left = 10
while guesses_left > 0:
print("你还有{}次机会。".format(guesses_left))
guess = input("请猜一个数字:")
try:
guess = int(guess)
except ValueError:
print("请输入一个整数!")
continue
if guess < secret_number:
print("太小了!")
elif guess > secret_number:
print("太大了!")
else:
print("恭喜你,猜中了!")
break
guesses_left -= 1
if guesses_left == 0:
print("很遗憾,你没有猜中。正确答案是{}。".format(secret_number))
游戏规则很简单,玩家需要在10次机会内猜中1到100之间的一个随机数。每次猜测后,程序会告诉玩家猜的数字是太大还是太小,直到猜中为止。如果玩家用完了10次机会还没有猜中,游戏结束,程序会告诉玩家正确答案是什么。
以下是一个简单的贪吃蛇游戏,代码约200行:
import pygame
import random
# 初始化pygame
pygame.init()
# 设置游戏窗口大小
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("贪吃蛇游戏")
# 定义颜色
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (0, 255, 0)
# 定义蛇的初始位置和大小
snake_x = 400
snake_y = 300
snake_width = 20
snake_height = 20
# 定义蛇的移动速度
snake_speed = 20
# 定义蛇的初始长度和方向
snake_length = 1
snake_direction = "right"
# 定义食物的初始位置和大小
food_x = random.randint(0, window_width - snake_width)
food_y = random.randint(0, window_height - snake_height)
food_width = 20
food_height = 20
# 定义游戏结束的标志
game_over = False
# 定义计分
score = 0
# 定义字体
font = pygame.font.SysFont(None, 30)
# 定义游戏循环
while not game_over:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT and snake_direction != "right":
snake_direction = "left"
elif event.key == pygame.K_RIGHT and snake_direction != "left":
snake_direction = "right"
elif event.key == pygame.K_UP and snake_direction != "down":
snake_direction = "up"
elif event.key == pygame.K_DOWN and snake_direction != "up":
snake_direction = "down"
# 移动蛇
if snake_direction == "right":
snake_x += snake_speed
elif snake_direction == "left":
snake_x -= snake_speed
elif snake_direction == "up":
snake_y -= snake_speed
elif snake_direction == "down":
snake_y += snake_speed
# 判断是否吃到食物
if snake_x < food_x + food_width and snake_x + snake_width > food_x and snake_y < food_y + food_height and snake_y + snake_height > food_y:
food_x = random.randint(0, window_width - snake_width)
food_y = random.randint(0, window_height - snake_height)
snake_length += 1
score += 10
# 绘制游戏界面
window.fill(white)
pygame.draw.rect(window, green, [food_x, food_y, food_width, food_height])
snake_head = []
snake_head.append(snake_x)
snake_head.append(snake_y)
snake_list = []
snake_list.append(snake_head)
if len(snake_list) > snake_length:
del snake_list[0]
for segment in snake_list:
pygame.draw.rect(window, black, [segment[0], segment[1], snake_width, snake_height])
# 判断游戏是否结束
if snake_x < 0 or snake_x > window_width - snake_width or snake_y < 0 or snake_y > window_height - snake_height:
game_over = True
for segment in snake_list[:-1]:
if segment == snake_head:
game_over = True
# 显示分数
score_text = font.render("分数:" + str(score), True, black)
window.blit(score_text, [10, 10])
# 更新游戏界面
pygame.display.update()
# 退出pygame
pygame.quit()
游戏规则很_