【纯干货】用Python写30种小游戏给男朋友玩,谈恋爱我是认真的

本文分享了用Python编写的三种小游戏,包括21点数字游戏、保卫森林游戏和大型迷宫游戏。作者强调学习编程的重要性,同时提醒不要沉迷游戏。提供了游戏源码,并鼓励学习者留言交流。
摘要由CSDN通过智能技术生成

目录

1、21点数字小游戏展示:

2、保卫森林大作战啦啦

3、超级大的迷宫

         总结


正在学Python中的我,自我感觉学的还不错的亚子~想做点什么来练练手,然后我疯狂的找各种小游戏的教程源码什么的,于是我就疯狂的找呀找呀,就找到了一大堆,哈哈哈
毕竟我是从小就有一个游戏梦,现在就弥补一下自己小时候没有玩过瘾的游戏补上叭~

提示:爱学习哦,不要沉迷游戏,平时打发一下无聊时间最好啦

拿走源码的还请留言说一下好吗?不管是想学习的想转发的想干啥的,还请都点个赞说一下不,我也找的不容易呀

1、21点数字小游戏展示:

首先配置文件的源码:

'''配置文件'''
import os


# 一些常量
RED = (255, 0, 0)
BLACK = (0, 0, 0)
AZURE = (240, 255, 255)
WHITE = (255, 255, 255)
MISTYROSE = (255, 228, 225)
PALETURQUOISE = (175, 238, 238)
PAPAYAWHIP = (255, 239, 213)
CURRENTPATH = os.getcwd()
FONTPATH = os.path.join(CURRENTPATH, 'resources/fonts/font.TTF')
AUDIOWINPATH = os.path.join(CURRENTPATH, 'resources/audios/win.wav')
AUDIOLOSEPATH = os.path.join(CURRENTPATH, 'resources/audios/lose.wav')
AUDIOWARNPATH = os.path.join(CURRENTPATH, 'resources/audios/warn.wav')
BGMPATH = os.path.join(CURRENTPATH, 'resources/audios/bgm.mp3')
# 数字卡片
# --数字卡片字体颜色
NUMBERFONT_COLORS = [BLACK, RED]
# --数字卡片背景颜色
NUMBERCARD_COLORS = [MISTYROSE, PALETURQUOISE]
# --数字卡片字体路径与大小
NUMBERFONT = [FONTPATH, 50]
# --数字卡片位置
NUMBERCARD_POSITIONS = [(25, 50, 150, 200), (225, 50, 150, 200), (425, 50, 150, 200), (625, 50, 150, 200)]
# 运算符卡片
# --运算符种类
OPREATORS = ['+', '-', '×', '÷']
# --运算符卡片字体颜色
OPREATORFONT_COLORS = [BLACK, RED]
# --运算符卡片背景颜色
OPERATORCARD_COLORS = [MISTYROSE, PALETURQUOISE]
# --运算符卡片字体路径与大小
OPERATORFONT = [FONTPATH, 30]
# --运算符卡片位置
OPERATORCARD_POSITIONS = [(230, 300, 50, 50), (330, 300, 50, 50), (430, 300, 50, 50), (530, 300, 50, 50)]
# 按钮卡片
# --按钮类型
BUTTONS = ['RESET', 'ANSWERS', 'NEXT']
# --按钮卡片字体颜色
BUTTONFONT_COLORS = [BLACK, BLACK]
# --按钮卡片背景颜色
BUTTONCARD_COLORS = [MISTYROSE, PALETURQUOISE]
# --按钮卡片字体路径与大小
BUTTONFONT = [FONTPATH, 30]
# --按钮卡片位置
BUTTONCARD_POSITIONS = [(25, 400, 700/3, 150), (50+700/3, 400, 700/3, 150), (75+1400/3, 400, 700/3, 150)]
# 屏幕大小
SCREENSIZE = (800, 600)
# 卡片类型
GROUPTYPES = ['NUMBER', 'OPREATOR', 'BUTTON']

游戏源码:

import os
import sys
import pygame
from cfg import *
from modules import *
from fractions import Fraction


'''检查控件是否被点击'''
def checkClicked(group, mouse_pos, group_type='NUMBER'):
    selected = []
    # 数字卡片/运算符卡片
    if group_type == GROUPTYPES[0] or group_type == GROUPTYPES[1]:
        max_selected = 2 if group_type == GROUPTYPES[0] else 1
        num_selected = 0
        for each in group:
            num_selected += int(each.is_selected)
        for each in group:
            if each.rect.collidepoint(mouse_pos):
                if each.is_selected:
                    each.is_selected = not each.is_selected
                    num_selected -= 1
                    each.select_order = None
                else:
                    if num_selected < max_selected:
                        each.is_selected = not each.is_selected
                        num_selected += 1
                        each.select_order = str(num_selected)
            if each.is_selected:
                selected.append(each.attribute)
    # 按钮卡片
    elif group_type == GROUPTYPES[2]:
        for each in group:
            if each.rect.collidepoint(mouse_pos):
                each.is_selected = True
                selected.append(each.attribute)
    # 抛出异常
    else:
        raise ValueError('checkClicked.group_type unsupport %s, expect %s, %s or %s...' % (group_type, *GROUPTYPES))
    return selected


'''获取数字精灵组'''
def getNumberSpritesGroup(numbers):
    number_sprites_group = pygame.sprite.Group()
    for idx, number in enumerate(numbers):
        args = (*NUMBERCARD_POSITIONS[idx], str(number), NUMBERFONT, NUMBERFONT_COLORS, NUMBERCARD_COLORS, str(number))
        number_sprites_group.add(Card(*args))
    return number_sprites_group


'''获取运算符精灵组'''
def getOperatorSpritesGr
类似“爱情类”RPG游戏,类似主题医院及暗黑破坏神的场景,还算曲折的故事情节,动听的音乐(MP3格式),动人的结尾动画(AVI格式因为太大,不便上传),现奉献全部源代码,及编译所需组件,有兴趣着可以用此来"编撰"自己未实现的梦. NewStar 1998操作系统: win98-win2000编译语言环境: Delphi 3.0 (4.0)美工:推荐 Abode Photoshop 4.0动画制作环境: 推荐Asymetrix DVP 4.0DELPHI3.0 游戏VCL组件安装:1、Anigrp10.dcu :动画工程师引擎,负责场景动画 安装方法:在DELPHI 3.0 IDE界面中选择Component->Install Components... 菜单,在弹出的窗体 Unit file name 栏目 选择Browse按钮,选中Anigrp10.dcu,点OK按钮,再编译组件, 如果出现File not Found...等错误提示,可以将Anigrp10.dcu复制到Delphi3 安装目录 Lib目录下。2、AMixer.pas :声音控制引擎,负责声音效果 安装方法:在DELPHI 3.0 IDE界面中选择Component->Install Components... 菜单,在弹出的窗体 Unit file name 栏目 选择Browse按钮,选中AMixer.pas,点OK按钮,再编译组件, 如果出现File not Found...等错误提示,可以将AMixer.pas复制到Delphi3 安装目录 Lib目录下。2、MPEGPLAYER.pas: MP3音乐声音控制引擎,负责MP3音乐播放 安装方法:在DELPHI 3.0 IDE界面中选择Component->Install Components... 菜单,在弹出的窗体 Unit file name 栏目 选择Browse按钮,选中MPEGPLAYER.pas,点OK按钮,再编译组件, 如果出现File not Found...等错误提示,可以将MPEGPLAYER.pas复制到Delphi3 安装目录 Lib目录下。编译注意:在编译提供的样例程序时,请将Dbclient.dll及Mpegdll.dll复制到样例程序目录中。 场景对话文件编辑: 游戏中所有场景对话都保存在Dat.cdx文件中,要修改对话,可以用Delphi的ClientDataSet 组件的LoadFromFile及SaveToFile方法打开本文件读,文件内容可以在DBGrid中显示,采用 DataSource来连接ClientDataSet和DBGrid.EMAIL: newstarchj@163.net
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值