Pygame小游戏:“长沙版”大富翁开局了,敢不敢约?(附多份游戏源码)

导语

图片

说到童年爱玩的电脑游戏,你会想到什么?

最国民的莫过于金山打字通,接着是扫雷、红心大战,而红极一时的单机游戏当属《大富翁》。

嘻嘻 打字游戏——扫雷这是之前都已经给大家写过的游戏啦~SO 剩下《大富翁》游戏。

今天来给大家大显身手一波——👇

作为一款经典的强手棋类游戏,“大富翁”系列在长达十几年的时间内长盛不衰,从2代开始走红,3

代成为了大哥大,4代创造了回合制游戏的颠峰,5代开启了网络联机对战……至今,华语大富翁类

游戏怕是没几个能超越大富翁系列的高光时刻了。

而掷骰子、开宝箱、跳格,成了大多数80、90后的童年记忆,几个好友挤在一起,等着自己扔骰

子买地建房,孙小美、阿土伯、金贝贝、沙隆巴斯、钱夫人、莎拉公主……这些可爱的游戏人物,

陪着我们度过了一个又一个愉快的时光。好啦,废话说的有点儿多撒,一时刻刹不住脚了。

来来来 我们正式开始吧!✨

正文

图片

一、大

嘿嘿!元宵啦,有没有小伙伴儿来长沙浪一浪吖?

今天这款《大富翁》小游戏是基于长沙著名景点所作的撒、可以看到,地图上镶嵌进了 8 个长沙的

标志性地点,按 照从上往下、从左往右的顺序依次为西站、世界之窗、五一广场、橘子洲、植物

园、博物馆、岳麓书院、岳麓山。当玩家到达这些 地点时,便会触发相应的特殊事件。

二、特殊事件

1)触发的特殊事件如下:

西站:玩家经过西站时会停留休息一天,即一 回合不能掷骰子,作为回报,该玩家 GPA 上升 0.2。

世界之窗:玩家经过世界之窗时会玩儿一天,即一回合不能 掷骰子。

五一广场:玩家经过五一广场时会体验一次帮忙充场跑跑业务, 金钱增加 500,GPA 下降 1.0。

橘子洲:玩家经过 橘子洲时会口渴买茶颜跟吃的,金 钱减少 100。

植物园:玩家经过植物园时会买票观看演出,金钱减 少 200。

博物馆:玩家经过博物馆时突然记起来在世界之窗掉东西, 即直接传送到世界之窗,且一个回合

不能掷骰子。

岳麓山:玩家经过岳麓山时会看到最美风景,身、心收到鼓舞,GPA 上升 0.3。

2)游戏规则:

作为一款大富翁游戏,“长沙之旅”保留了传统大富翁游 戏的机制,即通过买地建房赚取金钱,某玩

家金钱耗尽即宣 布破产,游戏结束。

在此基础上,为了更多地体现出多种元 素,游戏中每个角色的实力除了财产之外,还有另一个衡

量 标准——GPA。当某位玩家的 GPA 达到 4.0 时,游戏结束, 该玩家获胜;GPA 达到 1.0 时,

游戏结束,该玩家失败。本游戏可以支持 2~4 人的玩法,为玩家准备的 4 位可爱 的游戏角色哦!

三、代码演示

1)环境素材

2)运行环境

环境安装 本文用到的运行环境:Python3.7、Pycharm社区版2020、Pygame游戏模块部分自带模块直 接导入

不需要安装。(如果需要安装包软件、激活码或者遇到问题的话可以私信我哈!) 

 模块安装:pip install -i https://pypi.douban.com/simple/ +模块名

3)主程序

import pygame
import sys
import time

from draw import Button, draw_text, draw_mapstatus, draw_player
from game import *
from player import Player


pygame.init()

screen_size = (1080, 680)  # 第一个是宽度,第二个是高度
role_size = (60, 60)
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("大富翁——长沙之旅")
map_screen = pygame.image.load('image/地图.bmp')
stop_picture = pygame.image.load('image/禁止.jpg')
stop_picture = pygame.transform.scale(stop_picture, (20, 20))

lose_sound = pygame.mixer.Sound('sound/失败.wav')  # 载入音效
win_sound = pygame.mixer.Sound('sound/胜利.wav')
up_sound = pygame.mixer.Sound('sound/升级.wav')
click_sound = pygame.mixer.Sound('sound/按键.wav')
chances_sound = pygame.mixer.Sound('sound/事件.wav')

picture_dice = []
for i in range(6):
    picture_dice.append(pygame.image.load('image/dice/%d.jpg'%(i+1)))

map_screen = pygame.transform.scale(map_screen, screen_size)

screen.blit(map_screen, (0, 0))

play_button = Button(screen, '开始游戏')  # 绘制开始游戏按钮
play_button.draw_button()

status = 0  # 控制游戏进程 0:游戏未开始 1:选择游戏人数 2:掷骰子 3:玩家行走 4:触发事件 5:买地建房 6:游戏结束
cur_player = 0  # 当前玩家
dice_answer = 1 # 掷骰子结果
player = []
role = []

local_init = [0, 20, 12, 32]  # 四位玩家最初的位置
map_status = []
for i in range(8):
    ma
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值