1+ import random
2+
3+ # 安全清屏(绝对不报错)
4+ def clear ():
5+ print ("\n " * 80 )
6+
7+ class 网吧大亨终极版 :
8+ def __init__ (self ):
9+ # 基础资源
10+ self .钱 = 500
11+ self .天数 = 1
12+ self .小时 = 10
13+ self .电脑总数 = 6
14+ self .电脑使用中 = 0
15+ self .电脑损坏 = 0
16+ self .排队顾客 = 0
17+ self .上网价格 = 6
18+
19+ # 🔥 新增系统
20+ self .口碑 = 100 # 口碑越高顾客越多
21+ self .会员数 = 0 # 会员会常来
22+ self .饮料库存 = 20 # 可乐/矿泉水
23+ self .饮料成本 = 2
24+ self .饮料售价 = 5
25+ self .雇佣网管 = False # 网管自动修电脑
26+ self .装修等级 = 1 # 装修越高越吸引人
27+ self .天气 = ["☀️晴天" , "🌧️小雨" , "⛈️大雨" , "❄️雪天" ][random .randint (0 ,3 )]
28+ self .今日营收 = 0
29+
30+ # ======================
31+ # 🎨 表情图形化网吧地图
32+ # ======================
33+ def 画地图 (self ):
34+ clear ()
35+ print ("🏪【网吧大亨·终极版】🏪" .center (58 , "=" ))
36+ print ()
37+
38+ # 电脑区域表情地图
39+ print (" 🖥️ 电脑区:可用🖥️ 使用💻 损坏🔧" )
40+ print ("-" * 58 )
41+ 电脑行 = " "
42+ for i in range (self .电脑总数 ):
43+ if i < self .电脑使用中 :
44+ 电脑行 += "💻 "
45+ elif i < self .电脑使用中 + self .电脑损坏 :
46+ 电脑行 += "🔧 "
47+ else :
48+ 电脑行 += "🖥️ "
49+ print (电脑行 )
50+ print ("-" * 58 )
51+
52+ # 顾客排队
53+ 顾客显示 = "👤" * min (self .排队顾客 , 12 )
54+ if self .排队顾客 > 12 : 顾客显示 += f"+{ self .排队顾客 - 12 } 人"
55+ print (f" 👥排队:{ 顾客显示 } " )
56+
57+ # 会员 & 网管 & 装修
58+ print (f" 👑会员:{ self .会员数 } | 👨💻网管:{ '已雇佣' if self .雇佣网管 else '未雇' } | 🎨装修:{ self .装修等级 } 级" )
59+ print (f" 🌟口碑:{ self .口碑 } | { self .天气 } | 📊今日营收:{ self .今日营收 } 元" )
60+ print (f" 💰金钱:{ self .钱 } | 🥤饮料库存:{ self .饮料库存 } | 💸网费:{ self .上网价格 } 元/时" )
61+ print ("=" * 58 )
62+
63+ # ======================
64+ # 🌏 核心系统:时间&天气&顾客
65+ # ======================
66+ def 时间流逝 (self ):
67+ self .小时 += 1
68+ if self .小时 >= 24 :
69+ self .小时 = 9
70+ self .天数 += 1
71+ self .今日营收 = 0
72+ self .天气 = ["☀️晴天" ,"🌧️小雨" ,"⛈️大雨" ,"❄️雪天" ][random .randint (0 ,3 )]
73+
74+ # 天气+口碑影响顾客
75+ 来客数 = random .randint (1 ,4 )
76+ if self .天气 == "☀️晴天" : 来客数 += 2
77+ if self .天气 == "⛈️大雨" : 来客数 -= 2
78+ if self .口碑 > 120 : 来客数 += 2
79+ if self .口碑 < 60 : 来客数 -= 1
80+ self .排队顾客 += max (来客数 ,0 )
81+
82+ # 电脑损坏
83+ if random .randint (1 ,10 ) == 1 and self .电脑损坏 < self .电脑总数 // 2 :
84+ self .电脑损坏 += 1
85+ print ("\n ⚠️ 一台电脑坏了!" )
86+
87+ # 网管自动维修
88+ if self .雇佣网管 and self .电脑损坏 > 0 and random .randint (1 ,2 )== 1 :
89+ self .电脑损坏 -= 1
90+ print ("\n ✅ 网管自动修好一台电脑!" )
91+
92+ # ======================
93+ # 🎮 超多新功能
94+ # ======================
95+ def 接待顾客 (self ):
96+ 可用 = self .电脑总数 - self .电脑使用中 - self .电脑损坏
97+ if 可用 <= 0 or self .排队顾客 <= 0 :
98+ print ("\n ❌ 没电脑/没顾客!" )
99+ input ("回车继续..." )
100+ return
101+ 接待 = min (可用 , self .排队顾客 )
102+ 收入 = 接待 * self .上网价格
103+ self .钱 += 收入
104+ self .今日营收 += 收入
105+ self .电脑使用中 += 接待
106+ self .排队顾客 -= 接待
107+ self .口碑 = min (self .口碑 + 2 ,150 )
108+ print (f"\n ✅ 接待{ 接待 } 人!赚{ 收入 } 元 🌟口碑+2" )
109+ input ("回车继续..." )
110+
111+ def 卖饮料 (self ):
112+ if self .电脑使用中 == 0 :
113+ print ("\n ❌ 没人上网,卖不出去!" )
114+ input ("回车继续..." )
115+ return
116+ if self .饮料库存 <= 0 :
117+ print ("\n ❌ 饮料卖完了!" )
118+ input ("回车继续..." )
119+ return
120+ 卖出 = min (random .randint (1 , self .电脑使用中 ), self .饮料库存 )
121+ 利润 = 卖出 * (self .饮料售价 - self .饮料成本 )
122+ self .钱 += 利润
123+ self .今日营收 += 利润
124+ self .饮料库存 -= 卖出
125+ print (f"\n 🥤 卖出{ 卖出 } 瓶饮料!赚{ 利润 } 元" )
126+ input ("回车继续..." )
127+
128+ def 进货饮料 (self ):
129+ 进价 = self .饮料成本 * 10
130+ if self .钱 < 进价 :
131+ print ("\n ❌ 钱不够进货!" )
132+ input ("回车继续..." )
133+ return
134+ self .钱 -= 进价
135+ self .饮料库存 += 10
136+ print (f"\n 📦 饮料进货+10瓶!花费{ 进价 } 元" )
137+ input ("回车继续..." )
138+
139+ def 雇佣解雇网管 (self ):
140+ if not self .雇佣网管 :
141+ if self .钱 < 200 :
142+ print ("\n ❌ 雇佣网管需要200元!" )
143+ input ("回车继续..." )
144+ return
145+ self .钱 -= 200
146+ self .雇佣网管 = True
147+ print ("\n 👨💻 网管已雇佣!自动帮你修电脑~" )
148+ else :
149+ self .雇佣网管 = False
150+ print ("\n 👋 已解雇网管" )
151+ input ("回车继续..." )
152+
153+ def 升级装修 (self ):
154+ 费用 = 150 * self .装修等级
155+ if self .钱 < 费用 :
156+ print (f"\n ❌ 升级需要{ 费用 } 元!" )
157+ input ("回车继续..." )
158+ return
159+ self .钱 -= 费用
160+ self .装修等级 += 1
161+ self .口碑 += 10
162+ print (f"\n 🎨 装修升到{ self .装修等级 } 级!口碑+10" )
163+ input ("回车继续..." )
164+
165+ def 发展会员 (self ):
166+ 费用 = 80
167+ if self .钱 < 费用 :
168+ print ("\n ❌ 发展会员需要80元!" )
169+ input ("回车继续..." )
170+ return
171+ self .钱 -= 费用
172+ self .会员数 += random .randint (3 ,8 )
173+ self .口碑 += 5
174+ print (f"\n 👑 会员+{ random .randint (3 ,8 )} 人!口碑+5" )
175+ input ("回车继续..." )
176+
177+ def 突发事件 (self ):
178+ 事件 = random .choice ([
179+ "网红打卡🎉,顾客暴涨!" ,
180+ "突然停电⚡,所有顾客下机!" ,
181+ "消防检查👮,口碑小幅下降" ,
182+ "老顾客送礼🎁,直接给你100元!"
183+ ])
184+ if "网红" in 事件 :
185+ self .排队顾客 += 10
186+ self .口碑 += 10
187+ elif "停电" in 事件 :
188+ self .电脑使用中 = 0
189+ self .口碑 = max (self .口碑 - 10 , 30 )
190+ elif "消防" in 事件 :
191+ self .口碑 = max (self .口碑 - 8 , 30 )
192+ elif "送礼" in 事件 :
193+ self .钱 += 100
194+ print (f"\n 🚨 突发事件:{ 事件 } " )
195+ input ("回车继续..." )
196+
197+ def 买电脑 (self ):
198+ 价格 = 180
199+ if self .钱 < 价格 :
200+ print (f"\n ❌ 买电脑需要{ 价格 } 元!" )
201+ input ("回车继续..." )
202+ return
203+ self .钱 -= 价格
204+ self .电脑总数 += 1
205+ print ("\n 🆕 新增电脑一台!" )
206+ input ("回车继续..." )
207+
208+ def 每日打卡 (self ):
209+ 奖励 = random .randint (50 ,150 )
210+ self .钱 += 奖励
211+ print (f"\n 🎁 打卡成功!获得{ 奖励 } 元" )
212+ input ("回车继续..." )
213+
214+ # ======================
215+ # 🎯 主菜单
216+ # ======================
217+ def 开始游戏 (self ):
218+ while True :
219+ self .画地图 ()
220+ print ("\n 【🎮 超级操作菜单】" )
221+ print (" 1.👥接待顾客 2.🥤卖饮料 3.📦进货饮料 4.🆕买电脑" )
222+ print (" 5.👨💻雇/解雇网管 6.🎨升级装修 7.👑发展会员 8.💰每日打卡" )
223+ print (" 9.🚨突发事件 10.💸改网价 11.🕒时间快进 0.🚪退出游戏" )
224+
225+ 选择 = input ("\n 请输入操作(1-11或0):" ).strip ()
226+ if 选择 == "1" : self .接待顾客 ()
227+ elif 选择 == "2" : self .卖饮料 ()
228+ elif 选择 == "3" : self .进货饮料 ()
229+ elif 选择 == "4" : self .买电脑 ()
230+ elif 选择 == "5" : self .雇佣解雇网管 ()
231+ elif 选择 == "6" : self .升级装修 ()
232+ elif 选择 == "7" : self .发展会员 ()
233+ elif 选择 == "8" : self .每日打卡 ()
234+ elif 选择 == "9" : self .突发事件 ()
235+ elif 选择 == "10" :
236+ try :
237+ 新价 = int (input ("输入新价格(1-40):" ))
238+ if 1 <= 新价 <= 40 :
239+ self .上网价格 = 新价
240+ print ("✅ 价格已改!" )
241+ except : pass
242+ input ("回车继续..." )
243+ elif 选择 == "11" : self .时间流逝 ()
244+ elif 选择 == "0" :
245+ clear ()
246+ print ("👋 感谢玩《网吧大亨·终极版》!" )
247+ break
248+ else :
249+ input ("❌ 输入错误,回车重试..." )
250+
251+ if __name__ == "__main__" :
252+ 游戏 = 网吧大亨终极版 ()
253+ 游戏 .开始游戏 ()
0 commit comments