python做小游戏代码可复制,python做小游戏代码300行

大家好,给大家分享一下用python做一个小游戏代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

大家好,小编来为大家解答以下问题,一些简单好玩的python编程游戏,python编写简单小游戏,今天让我们一起来看看吧!

你的童年,我的童年好像都一样,谁的童年又没玩过游戏呢,这些小游戏应该只有玩过才会懂吧

虽然程序员敲代码多年,但童心还是一直都在的,今天就分享一些私藏的童年游戏,十几行代码就能进入使用Python开发的小游戏快乐玩耍!

1. 五子棋

童年游戏不可缺少的五子棋,你攻我守,守中进攻,五子棋一玩就可以玩一下午用Python画简单笑脸代码

编辑切换为居中

添加图片注释,不超过 140 字(可选)

'''游戏开始界面'''
class gameStartUI(QWidget):
    def __init__(self, parent=None, **kwargs):
        super(gameStartUI, self).__init__(parent)
        self.setFixedSize(760, 650)
        self.setWindowTitle('五子棋 —— 九歌')
        self.setWindowIcon(QIcon(cfg.ICON_FILEPATH))
        # 背景图片
        palette = QPalette()
        palette.setBrush(self.backgroundRole(), QBrush(QPixmap(('bg_start'))))
        self.setPalette(palette)
        # 按钮
        # --人机对战
        self.ai_button = PushButton(('ai'), self)
        (250, 200)
        ()
        self.ai_button.click_signal.connect(self.playWithAI)
        # --联机对战
        self.online_button = PushButton(('online'), self)
        (250, 350)
        ()
        self.online_button.click_signal.connect(self.playOnline)
    '''人机对战'''
    def playWithAI(self):
        self.close()
        self.gaming_ui = playWithAIUI(cfg)
        self.gaming_ui.exit_signal.connect(lambda: ())
        self.gaming_ui.back_signal.connect()
        ()

2.炸弹人

如果你是一个80后,那么炸弹人绝度是你童年的欢乐之一,虽然简单而粗糙的画面,却依旧抵挡不了它在FC上的经典python自学好学嘛。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

'''游戏主程序'''
def main(cfg):
    # 初始化
    ()
    ()
    (cfg.BGMPATH)
    (-1, 0.0)
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('Bomber Man —— 九歌')
    # 开始界面
    Interface(screen, cfg, mode='game_start')
    # 游戏主循环
    font = .SysFont('Consolas', 15)
    for gamemap_path in cfg.GAMEMAPPATHS:
        # -地图
        map_parser = mapParser(gamemap_path, bg_paths=cfg.BACKGROUNDPATHS, wall_paths=cfg.WALLPATHS, blocksize=cfg.BLOCKSIZE)
        # -水果
        fruit_sprite_group = pygame.sprite.Group()
        used_spaces = []
        for i in range(5):
            coordinate = map_parser.randomGetSpace(used_spaces)
            used_spaces.append(coordinate)

3.推箱子

不禁回味起了童年,推箱子顾名思义就是推箱子。用键盘上的上、下、左、右键移动小人,把箱子全部推到指定的位置即可过关。箱子只能推,不能拉,并且小人一次只能推动一个箱子。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

'''开始游戏'''
def startGame(screen):
    clock = .Clock()
    # 加载字体
    font = .SysFont('arial', 18)
    if not .isfile('score'):
        f = open('score', 'w')
        f.write('0')
        f.close()
    with open('score', 'r') as f:
        highest_score = int(f.read().strip())
    # 敌方
    enemies_group = pygame.sprite.Group()
    for i in range(55):
        if i < 11:
            enemy = enemySprite('small', i, cfg.WHITE, cfg.WHITE)
        elif i < 33:
            enemy = enemySprite('medium', i, cfg.WHITE, cfg.WHITE)
        else:
            enemy = enemySprite('large', i, cfg.WHITE, cfg.WHITE)
        .x = 85 + (i % 11) * 50
        .y = 120 + (i // 11) * 45
        (enemy)
    boomed_enemies_group = pygame.sprite.Group()
    en_bullets_group = pygame.sprite.Group()
    ufo = ufoSprite()

4.俄罗斯方块

回味一下属于我们的童年~俄罗斯方块,如果要说到游戏圈里的资历,俄罗斯方块应该是当之无愧的老大哥了

编辑切换为居中

添加图片注释,不超过 140 字(可选)

import os
import sys
import random
from modules import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
 
 
'''定义俄罗斯方块游戏类'''
class TetrisGame(QMainWindow):
    def __init__(self, parent=None):
        super(TetrisGame, self).__init__(parent)
        # 是否暂停ing
        self.is_paused = False
        # 是否开始ing
        self.is_started = False
        self.initUI()
    '''界面初始化'''
    def initUI(self):

5.贪吃蛇

还记得当初在黑白掌机上玩的贪吃蛇吗?想重温当时的快乐,当时的回忆吗

编辑

添加图片注释,不超过 140 字(可选)

import cfg
import sys
import pygame
from modules import *
 
 
'''主函数'''
def main(cfg):
    # 游戏初始化
    ()
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('Greedy Snake —— 九歌')
    clock = .Clock()
    # 播放背景音乐
    (cfg.BGMPATH)
    (-1)
    # 游戏主循环
    snake = Snake(cfg)
    apple = Apple(cfg, snake.coords)
    score = 0
    while True:

6.井字棋

打赌大家在课堂上肯定玩过这个,想想当年和同桌玩这个废了好几本本子

编辑切换为居中

添加图片注释,不超过 140 字(可选)

from tkinter import *
import tkinter.messagebox as msg
 
root = Tk()
root.title('TIC-TAC-TOE---Project Gurukul')
# labels
Label(root, text="player1 : X", font="times 15").grid(row=0, column=1)
Label(root, text="player2 : O", font="times 15").grid(row=0, column=2)
 
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
 
# for player1 sign = X and for player2 sign= Y
mark = ''
 
# counting the no. of click
count = 0
 
panels = ["panel"] * 10
 
 
def win(panels, sign)

前出塞下方二维码就前出塞游戏源代码哟~

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值