前言
梦想还是要有的,万一实现了呢?!今天小编就来用代码实现自己专属的城市——特大都市:
梦想小镇启航。顾名思义,梦想小镇是梦想花开之地。自己当市长不香嘛!
所有文章完整的素材+源码都在👇👇
——无中生友
我是一名模拟经营类游戏的发烧友,各种农场类、医院类、铁路类的游戏玩儿了很多年。以前
在电脑上玩单机版,自从有了手游,就可以随时随地玩儿了(别被老板看到,哈哈哈)。
经营类游戏有个特点就是变化少,时间长了难免觉得单调。so,朋友想看看我能不能写出这个类
型的游戏,评论区问我给安排不?of course,说走就走。
今天用代码给大家打造一款梦想小镇游戏,希望大家喜欢啦❤
正文
一、注意事项
1.python的字体要尽量小一点 否则视觉上会很难看,调9-11左右 而且一定一定要调Consolas
字体 对于win7系统字符画显示可能有问题,因为程序使用制表符, 制表符在win7下存储占2个
字符 游戏是win10设计,设计时使用1个字符的制表符做图画。
2.千万不要Ctrl+C直接暴力停止游戏!要输入“退出”,否则存档不保存第二次进去无法加载存
档,正常退出会有file.close() 暴力退出不会close 。
3.不要输错任何一个东西!该写数字的输入字符串报错,存档同样不保存!!
4.收钱最多有10分钟上限,不会一直计时,计时从建造工作点开始算起。
二、运行环境
[开发环境]: python 3.6 运行代码 pycharm 2021 辅助敲代码 第三方模块 pip install 模块名 镜像源安装 pip install -i pypi.douban.com/simple/ +模块名 +python 安装包 安装教程视频 +pycharm 社区版 专业版 及 激活码免费找我拿即可
三、代码展示
主程序——
# 特大都市 梦想小镇
import random
import time as ctime
import os
# DATA
ROAD = {"name":"road", "level":1, "cost":200, "exp":1, "people":False, "environment":0}
SMALLHOUSE = {"name":"smallhouse", "level":1, "cost":12500, "exp":5, "people":(5,10,15), "environment":-5}
WOODENHOUSE = {"name":"woodenhouse", "level":2, "cost":15000, "exp":10, "people":(10,20,25), "environment":-10}
DOUBLECABIN = {"name":"doublecabin", "level":2, "cost":35000, "exp":15, "people":(30,50,80), "environment":-15}
BASICFARM = {"name":"basicfarm", "level":1, "cost":5000, "exp":8, "people":False, "earns":2000, "environment":-40}
EXTRAFARM = {"name":"extrafarm", "level":2, "cost":10000, "exp":10, "people":False, "earns":4000, "environment":-80}
TREE1 = {"name":"tree1", "level":1, "cost":1000, "exp":3, "people":False, "environment":15}
SMALLLAKE = {"name":"smalllake", "level":2, "cost":500, "exp":2, "people":False, "environment":10}
BAMBOO = {"name":"bamboo", "level":3, "cost":5000, "exp":15, "people":False, "environment":40}
MARKET = {"name":"market", "level":3, "cost":25000, "exp":20, "people":False, "earns":7500, "environment":-20}
DATA = [ROAD, SMALLHOUSE, WOODENHOUSE, DOUBLECABIN, BASICFARM, EXTRAFARM, TREE1, SMALLLAKE, BAMBOO, MARKET]
lv = [10, 15, 25, 50, 100, 200, 500, 1000]
CHA = {"road": 1, "smallhouse": 5, "woodenhouse": 10, "doublecabin": 15,
"smallpark": 15, "basicfarm": 8, "extrafarm": 15, "tree1": 3}
earns = {"basicfarm":5000, "extrafarm":10000}
PEOPLE_BUILDINGS = ["smallhouse", "woodenhouse", "doublecabin"]
EARNING_BUILDINGS = ["basicfarm", "extrafarm", "market"]
ROADS = ["road1", "road2", "road3", "road4", "road5", "road6", "road7", "road8", "road9", "road10", "road11"]
#PICS2 [0]-empty [1]-smallhouse [2]-basicfarm [3]-woodenhouse [4]-doublecabin [5]-smallpark
#PICS2 [6]-road1 [7]-road2 [8]-road3 [9]-road4 [10]-road5 [11]-road6 [12]-road7
#PICS2 [13]-road8 [14]-road9 [15]-road10 [16]-road11
#PICS2 [17]-extrafarm [18]-tree1 [19]-bamboo [20]-water [21]-market
#4,5,6,7分别是上转左,上转右,下转左,下转右
# 4,5,6,7 left+up right+up left+down right+down
# 8,9,10,11 left+up+down right+up+down up+left+right down+left+right
PICS2 = [["┏━━━━━━━━━━━━━━┓", "┃ ┃","┃ ┃","┃ ┃",
"┃ ┃","┃ ┃","┃ ┃","┗━━━━━━━━━━━━━━┛"],
[" "," /^^^^^^^^\ ","/^^^^^^^^^^^^^^\\","┣┅┳┅┳━━━━┳┅┅┳┅┅┫",
"┣┳┻┅┫ ┣━┳┻┳┅┫", "┣┻┅┳┫ ○ ┣┅┻┳┻┅┫","┣┅┳┻┫ ┣┅┳┻┳┅┫","┗┅┻┅┻┅┅┅┅┻┅┻┅┻┅┛"],
["┏━━━━━━━┳━━━━━━┓","┃□□□ □□□┃Basic ┃","┃□□□ □□□┃Farm ┃","┃□□□ □□□┃ ┃",
"┃□□□ □□□┃ ┃","┣━━━ ━━━┛ ┃","┃ 2k/min┃","┗━━━━━━━━━━━━━━┛"],
[" ╔┉┉┉┉╗ "," ╔╦┉╩┉┉┉┉╩┉╦╗ ","╔╦╬╬╦╦╦╦╦╦╦╦╬╬╦╗"," ╬╬ ╩ ╩ ╩ ╩ ╬╬ ",
" ┋┋ ╔┉┉╗ ╔┉┉┉╣┋ "," ┋┋ ╠┉┉╣ ┋ ╔╣┋ "," ┋┋ ╚┉┉╝ ┋ ╚╣┋ ","╔╩╩┉┉┉┉┉┉╩┉┉┉╩╩╗"],
["----------------","| |","| Double |","| Cabin |",
"| |","| |","| |","----------------"],
["----------------", "| |", "| |", "| Small Park |",
"| |", "| |", "| |", "----------------"],
["┃ ┃ ■■ ┃ ┃","┃ ┃ ■■ ┃ ┃","┃ ┃ ■■ ┃ ┃","┃ ┃ ■■ ┃ ┃", # road 1
"┃ ┃ ■■ ┃ ┃","┃ ┃ ■■ ┃ ┃","┃ ┃ ■■ ┃ ┃","┃ ┃ ■■ ┃ ┃"],
["━━━━━━━━━━━━━━━━","━━━━━━━━━━━━━━━━"," "," ■■ ■■ ■■ ■■ ■■ ", # road 2
" ■■ ■■ ■■ ■■ ■■ "," ","━━━━━━━━━━━━━━━━","━━━━━━━━━━━━━━━━"],
[" ┃ ■■ ┃ ","━━┛ ■■ ┗━━"," ■■ "," ■■ ■■ ■■ ■■ ■■ ", # road 3
" ■■ ■■ ■■ ■■ ■■ "," ■■ ","━━┓ ■■ ┏━━"," ┃ ■■ ┃ "],
["━━━━━━━━━━━━━━━┓","━━━━━━━━━━━━━┓ ┃"," ┃ ┃"," ■■ ■■ ■■ ┃ ┃", # 4
" ■■ ■■ ■■ ┃ ┃"," ■■ ┃ ┃","━━┓ ■■ ┃ ┃"," ┃ ■■ ┃ ┃"],
["┏━━━━━━━━━━━━━━━","┃ ┏━━━━━━━━━━━━━","┃ ┃ ","┃ ┃ ■■ ■■ ■■ ", # 5
"┃ ┃ ■■ ■■ ■■ ","┃ ┃ ■■ ","┃ ┃ ■■ ┏━━","┃ ┃ ■■ ┃ "],
[" ┃ ■■ ┃ ┃","━━┛ ■■ ┃ ┃"," ■■ ┃ ┃"," ■■ ■■ ■■ ┃ ┃", #6
" ■■ ■■ ■■ ┃ ┃"," ┃ ┃","━━━━━━━━━━━━━┛ ┃","━━━━━━━━━━━━━━━┛"],
["┃ ┃ ■■ ┃ ","┃ ┃ ■■ ┗━━","┃ ┃ ■■ ","┃ ┃ ■■ ■■ ■■ ", # 7
"┃ ┃ ■■ ■■ ■■ ","┃ ┃ ","┃ ┗━━━━━━━━━━━━━","┗━━━━━━━━━━━━━━━"],
[" ┃ ■■ ┃ ┃","━━┛ ■■ ┃ ┃"," ■■ ┃ ┃"," ■■ ■■ ■■ ┃ ┃", # 8
" ■■ ■■ ■■ ┃ ┃"," ■■ ┃ ┃","━━┓ ■■ ┃ ┃"," ┃ ■■ ┃ ┃"],
["┃ ┃ ■■ ┃ ","┃ ┃ ■■ ┗━━","┃ ┃ ■■ ","┃ ┃ ■■ ■■ ■■ ", # 9
"┃ ┃ ■■ ■■ ■■ ","┃ ┃ ■■ ","┃ ┃ ■■ ┏━━","┃ ┃ ■■ ┃ "],
[" ┃ ■■ ┃ ","━━┛ ■■ ┗━━"," ■■ "," ■■ ■■ ■■ ■■ ■■ ", # 10
" ■■ ■■ ■■ ■■ ■■ "," ","━━━━━━━━━━━━━━━━","━━━━━━━━━━━━━━━━"],
["━━━━━━━━━━━━━━━━","━━━━━━━━━━━━━━━━"," "," ■■ ■■ ■■ ■■ ■■ ", # 11
" ■■ ■■ ■■ ■■ ■■ "," ■■ ","━━┓ ■■ ┏━━"," ┃ ■■ ┃ "],
["┏━━━━━━━━━━━┳━━┓","┃□□□ □□□ □□□┃ ┃","┃□□□ □□□ □□□┃ ┃","┃□□□ □□□ □□□┃ ┃", # ExtraFarm
"┃□□□ □□□ □□□┃ ┃","┣━━┛ ┗━━ ┛ ┃","┃FarmEX 4k/min┃","┗━━━━━━━━━━━━━━┛",],
[" ┏━━━━━━━━━━━━┓ "," ┃ ┏┳━━━━┳┓ ┃ " ," ┃┏━┛┗┳━━┳┛┗━┓┃ " ," ┗┛ ┗┳┳┛ ┗┛ ", # Tree1
" ╋╋ "," ╋╋ "," ╋╋ "," ┻┻ ",],
[" ╲┏┓╱ "," ╲╋╋╱ "," ╲┏┓╱╲╋╋╱ "," ╲╋╋╱╲╋╋╱ ", # bamboo
" ╲╋╋╱╲╋╋╱ ╲┏┓╱ "," ╲╋╋╱ ╋╋ ╲╋╋╱ "," ╋╋ ╋╋ ╲╋╋╱ "," ╋╋ ╋╋ ╋╋ "],
["┏━━━━━━━━━━━━━━┓","┃ ~~~ ~~ ~~ ┃","┃~~~ ~ ~~ ~~┃","┃ ~~ ~~ ~~ ~┃", # water
"┃~ ~~~~ ~~ ┃","┃~~~ ~~~ ~~~┃","┃~~ ~ ~~~~~~ ~┃","┗━━━━━━━━━━━━━━┛"],
[" ╱╳╳╳╳╳╳╳╳