主页

91新房

弹出
  • 房价
  • 楼盘
  • 资讯
  • 动态
  • 知识
  • 百科
  • 攻略
  • 指南
  • 好玩的小游戏代码(好玩的小游戏代码大全)

    知识日期:2026-01-17 13:43:51 浏览量(

    购房电话:180928470

    好玩的小游戏代码

    这里有一个简单的贪吃蛇游戏代码,使用 Python 和 Pygame 库编写:

    ```python

    import pygame

    import sys

    import random

    初始化 Pygame

    pygame.init()

    设置屏幕大小和标题

    screen_width = 640

    screen_height = 480

    screen = pygame.display.set_mode((screen_width, screen_height))

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

    定义颜色

    white = (255, 255, 255)

    black = (0, 0, 0)

    red = (255, 0, 0)

    设置蛇和食物的大小

    snake_size = 20

    food_size = 20

    初始化蛇的位置和速度

    snake_pos = [[100, 50], [90, 50], [80, 50]]

    snake_speed = [snake_size, 0]

    初始化食物的位置

    food_pos = [random.randrange(1, (screen_width//food_size)) * food_size, random.randrange(1, (screen_height//food_size)) * food_size]

    food_spawn = True

    设置游戏速度

    clock = pygame.time.Clock()

    speed = 10

    游戏主循环

    while True:

    for event in pygame.event.get():

    if event.type == pygame.QUIT:

    pygame.quit()

    sys.exit()

    获取键盘输入

    keys = pygame.key.get_pressed()

    根据键盘输入移动蛇

    if keys[pygame.K_UP] and snake_pos[0][1] > 0:

    snake_pos.insert(0, [snake_pos[0][0], snake_pos[0][1] - snake_speed[1]])

    if keys[pygame.K_DOWN] and snake_pos[0][1] < screen_height - snake_size:

    snake_pos.insert(0, [snake_pos[0][0], snake_pos[0][1] + snake_speed[1]])

    if keys[pygame.K_LEFT] and snake_pos[0][0] > 0:

    snake_pos.insert(0, [snake_pos[0][0] - snake_speed[0], snake_pos[0][1]])

    if keys[pygame.K_RIGHT] and snake_pos[0][0] < screen_width - snake_size:

    snake_pos.insert(0, [snake_pos[0][0] + snake_speed[0], snake_pos[0][1]])

    检查蛇是否吃到食物

    if snake_pos[0] == food_pos:

    food_spawn = False

    else:

    snake_pos.pop()

    生成新的食物

    if not food_spawn:

    food_pos = [random.randrange(1, (screen_width//food_size)) * food_size, random.randrange(1, (screen_height//food_size)) * food_size]

    food_spawn = True

    绘制屏幕

    screen.fill(black)

    for pos in snake_pos:

    pygame.draw.rect(screen, white, pygame.Rect(pos[0], pos[1], snake_size, snake_size))

    pygame.draw.rect(screen, red, pygame.Rect(food_pos[0], food_pos[1], food_size, food_size))

    更新屏幕

    pygame.display.flip()

    控制游戏速度

    clock.tick(speed)

    ```

    将上述代码保存为一个名为 "snake_game.py" 的文件,然后使用 Python 解释器运行它。你将看到一个简单的贪吃蛇游戏。你可以尝试修改代码以增加更多功能,例如不同的颜色、难度设置等。

    好玩的小游戏代码(好玩的小游戏代码大全)

    好玩的小游戏代码大全

    以下是一些有趣的小游戏代码,你可以根据自己的需求进行修改和扩展:

    1. 猜数字游戏(Python)

    ```python

    import random

    def guess_number():

    num = random.randint(1, 100)

    attempts = 0

    while True:

    try:

    guess = int(input("猜一个1到100之间的数字:"))

    attempts += 1

    if guess < num:

    print("太小了!")

    elif guess > num:

    print("太大了!")

    else:

    print(f"恭喜你,猜对了!数字是{num}。你用了{attempts}次尝试。")

    break

    except ValueError:

    print("请输入一个有效的数字。")

    guess_number()

    ```

    2. 贪吃蛇游戏(Python)

    ```python

    import curses

    def main(stdscr):

    curses.curs_set(0)

    sh, sw = stdscr.getmaxyx()

    w = curses.newwin(sh, sw, 0, 0)

    w.keypad(1)

    w.timeout(100)

    snk_x = sw//4

    snk_y = sh//2

    snake = [

    [snk_y, snk_x],

    [snk_y, snk_x-1],

    [snk_y, snk_x-2]

    ]

    food = [sh//2, sw//2]

    w.addch(int(food[0]), int(food[1]), curses.ACS_PI)

    while True:

    next_key = w.getch()

    key = key if next_key == -1 else next_key

    if snake[0][0] in [0, sh] or snake[0][1] in [0, sw] or snake[0] in snake[1:]:

    break

    new_head = [snake[0][0], snake[0][1]]

    if key == curses.KEY_DOWN:

    new_head[0] += 1

    if key == curses.KEY_UP:

    new_head[0] -= 1

    if key == curses.KEY_LEFT:

    new_head[1] -= 1

    if key == curses.KEY_RIGHT:

    new_head[1] += 1

    snake.insert(0, list(new_head))

    if snake[0] == food:

    food = None

    while food is None:

    nf = [

    sh//2,

    sw//2 + (random.randint(1, sw-1))

    ]

    food = nf if nf not in snake else None

    w.addch(food[0], food[1], curses.ACS_PI)

    else:

    tail = snake.pop()

    w.addch(tail[0], tail[1], " ")

    w.addch(snake[0][0], snake[0][1], "")

    curses.wrapper(main)

    ```

    3. 井字棋游戏(Python)

    ```python

    def print_board(board):

    for row in board:

    print(" | ".join(row))

    print("-" * 9)

    def check_win(board, player):

    for row in board:

    if all(spot == player for spot in row):

    return True

    for col in range(3):

    if all(board[row][col] == player for row in range(3)):

    return True

    if all(board[i][i] == player for i in range(3)) or all(board[i][2-i] == player for i in range(3)):

    return True

    return False

    def tictactoe():

    board = [[" " for _ in range(3)] for _ in range(3)]

    players = ["X", "O"]

    current_player = 0

    while True:

    print_board(board)

    row = int(input(f"玩家{current_player + 1},请输入行(0-2):"))

    col = int(input(f"玩家{current_player + 1},请输入列(0-2):"))

    if board[row][col] != " ":

    print("该位置已有棋子,请重新输入。")

    continue

    board[row][col] = players[current_player]

    if check_win(board, players[current_player]):

    print_board(board)

    print(f"玩家{current_player + 1}获胜!")

    break

    else:

    current_player = 1 - current_player

    tictactoe()

    ```

    4. 扫雷游戏(Python)

    ```python

    import random

    def create_board(size):

    return [[0 for _ in range(size)] for _ in range(size)]

    def calculate_mines(board, mines):

    for i in range(mines):

    row = random.randint(0, len(board) - 1)

    col = random.randint(0, len(board[0]) - 1)

    board[row][col] = -1

    def print_board(board):

    for row in board:

    print(" ".join(str(spot) for spot in row))

    def is_valid(board, row, col):

    return 0 <= row < len(board) and 0 <= col < len(board[0]) and board[row][col] != -1

    def click(board, row, col):

    if board[row][col] == -1:

    return False

    board[row][col] = 0

    mines_count = 0

    for i in range(row - 1, row + 2):

    for j in range(col - 1, col + 2):

    if not is_valid(board, i, j):

    continue

    if board[i][j] == -1:

    mines_count += 1

    return mines_count

    def main():

    size = 10

    board = create_board(size)

    mines = 10

    calculate_mines(board, mines)

    current_player = 0

    while True:

    print_board(board)

    row = int(input(f"玩家{current_player + 1},请输入行(0-9):"))

    col = int(input(f"玩家{current_player + 1},请输入列(0-9):"))

    if board[row][col] == -1:

    print("该位置有地雷,请重新输入。")

    continue

    mines_count = click(board, row, col)

    if mines_count > 0:

    print(f"该位置周围有{mines_count}个地雷。")

    else:

    board[row][col] = 0

    if is_valid(board, row, col):

    board[row][col] = 1

    if check_win(board, 1):

    print_board(board)

    print("玩家获胜!")

    break

    else:

    print("该位置无效,请重新输入。")

    current_player = 1 - current_player

    if __name__ == "__main__":

    main()

    ```

    这些代码只是简单的示例,你可以根据自己的需求进行修改和扩展,例如增加游戏难度、美化界面、增加音效等。

    打折V信:18088470

    关注公众号获取实时房价信息

    海南房产咨询师

    好玩的小游戏代码(好玩的小游戏代码大全)

    相关阅读

    楼市新闻

    楼盘动态