1+ # 欢迎使用 PythonIDE!如果觉得好用,请给个好评哦~
2+ import random
3+ import json
4+ import hashlib
5+ import time
6+
7+ def clear ():
8+ print ("\033 c" , end = "" )
9+
10+ class 网吧大亨终极版 :
11+ def __init__ (self ):
12+ # 基础
13+ self .钱 = 800
14+ self .天数 = 1
15+ self .小时 = 10
16+ self .排队顾客 = 0
17+ self .上网价格 = 6
18+ self .口碑 = 100
19+ self .会员数 = 0
20+ self .今日营收 = 0
21+ self .天气 = ["☀️晴天" , "🌧️小雨" , "⛈️大雨" , "❄️雪天" ][random .randint (0 ,3 )]
22+
23+ # 电脑(现在有等级)
24+ self .电脑数量 = 6
25+ self .电脑等级 = 1
26+ self .电脑使用中 = 0
27+
28+ # 电脑必须配件(都有等级)
29+ self .电脑桌等级 = 1
30+ self .主机等级 = 1
31+ self .显示器等级 = 1
32+ self .椅子等级 = 1
33+ self .鼠标等级 = 1
34+ self .键盘等级 = 1
35+
36+ # 街机
37+ self .街机数量 = 0
38+ self .街机等级 = 1
39+ self .街机使用中 = 0
40+
41+ # 饮料
42+ self .饮料库存 = 20
43+ self .饮料成本 = 2
44+ self .饮料售价 = 5
45+
46+ # 网管
47+ self .网管列表 = []
48+ self .最大网管数 = 5
49+
50+ # 顾客计时(24小时强制下机)
51+ self .顾客上机时长 = [0 ] * self .电脑数量
52+
53+ # ====================== 存档 ======================
54+ def 生成存档码 (self ):
55+ clear ()
56+ 数据 = self .__dict__ .copy ()
57+ 字符串 = json .dumps (数据 , ensure_ascii = False )
58+ 唯一码 = hashlib .sha256 ((字符串 + str (time .time ())).encode ()).hexdigest ()[:16 ]
59+ print ("🏪 存档信息" .center (50 , "=" ))
60+ print (f"✅ 存档码:{ 唯一码 } " )
61+ print ("💾 存档数据:" )
62+ print (字符串 )
63+ input ("\n 回车返回…" )
64+
65+ def 读取存档码 (self ):
66+ clear ()
67+ try :
68+ s = input ("请粘贴存档数据:\n " )
69+ data = json .loads (s )
70+ self .__dict__ .update (data )
71+ print ("✅ 读档成功!" )
72+ except :
73+ print ("❌ 失败" )
74+ input ("回车…" )
75+
76+ # ====================== 时间系统 ======================
77+ def 时间流逝 (self ):
78+ # 电脑计时
79+ for i in range (self .电脑使用中 ):
80+ self .顾客上机时长 [i ] += 1
81+ 下机 = 0
82+ for i in range (self .电脑使用中 ):
83+ if self .顾客上机时长 [i ] >= 24 :
84+ 下机 += 1
85+ if 下机 > 0 :
86+ print (f"\n ⏰ { 下机 } 人满24小时强制下机" )
87+ self .电脑使用中 -= 下机
88+ self .顾客上机时长 = self .顾客上机时长 [下机 :] + [0 ]* 下机
89+
90+ # 时间推进
91+ self .小时 += 1
92+ if self .小时 >= 24 :
93+ self .小时 = 9
94+ self .天数 += 1
95+ self .今日营收 = 0
96+ self .天气 = random .choice (["☀️晴天" ,"🌧️小雨" ,"⛈️大雨" ,"❄️雪天" ])
97+
98+ # 顾客上限40
99+ 来客 = random .randint (1 ,4 )
100+ if self .天气 == "☀️晴天" : 来客 += 2
101+ if self .口碑 > 120 :来客 += 2
102+ self .排队顾客 = min (self .排队顾客 + max (来客 ,0 ), 40 )
103+
104+ def 快进2h (self ):
105+ print ("\n ⏩快进2小时…" )
106+ self .时间流逝 ()
107+ self .时间流逝 ()
108+ def 快进3h (self ):
109+ print ("\n ⏩快进3小时…" )
110+ self .时间流逝 ()
111+ self .时间流逝 ()
112+ self .时间流逝 ()
113+
114+ # ====================== 核心收益 ======================
115+ def 每台电脑每小时收益 (self ):
116+ 倍率 = (
117+ self .电脑等级 * 0.2
118+ + self .电脑桌等级 * 0.05
119+ + self .主机等级 * 0.1
120+ + self .显示器等级 * 0.08
121+ + self .椅子等级 * 0.05
122+ + self .鼠标等级 * 0.03
123+ + self .键盘等级 * 0.03
124+ + 1
125+ )
126+ return round (self .上网价格 * 倍率 , 1 )
127+
128+ def 每台街机每小时收益 (self ):
129+ return round (8 + self .街机等级 * 3 , 1 )
130+
131+ # ====================== 商城(你要的全部在这里) ======================
132+ def 商城 (self ):
133+ while True :
134+ clear ()
135+ print ("🏬【超级商城】" .center (50 ,"=" ))
136+ print (f"💰当前金钱:{ self .钱 } " )
137+ print ("1.🖥️买电脑 2.⬆️电脑等级 Lv.{self.电脑等级}" )
138+ print ("3.🪑电脑桌 Lv.{self.电脑桌等级} 4.🖥️主机 Lv.{self.主机等级}" )
139+ print ("5.🖥️显示器 Lv.{self.显示器等级} 6.🪑椅子 Lv.{self.椅子等级}" )
140+ print ("7.🖱️鼠标 Lv.{self.鼠标等级} 8.⌨️键盘 Lv.{self.键盘等级}" )
141+ print ("9.🎮买街机 10.⬆️街机等级 Lv.{self.街机等级}" )
142+ print ("0.返回主菜单" )
143+ print ("=" * 50 )
144+ c = input ("选择:" ).strip ()
145+
146+ if c == "1" :
147+ 价 = 200 + self .电脑数量 * 50
148+ if self .钱 >= 价 :
149+ self .钱 -= 价
150+ self .电脑数量 += 1
151+ self .顾客上机时长 .append (0 )
152+ print (f"✅ 购买成功!花{ 价 } " )
153+ else :print ("❌钱不够" )
154+ elif c == "2" :
155+ 价 = 300 * self .电脑等级
156+ if self .钱 >= 价 :
157+ self .钱 -= 价
158+ self .电脑等级 += 1
159+ print (f"✅ 电脑升到{ self .电脑等级 } 级!" )
160+ else :print ("❌钱不够" )
161+ elif c == "3" :
162+ 价 = 100 * self .电脑桌等级
163+ if self .钱 >= 价 :self .钱 -= 价 ;self .电脑桌等级 += 1 ;print ("✅升级" )
164+ else :print ("❌钱不够" )
165+ elif c == "4" :
166+ 价 = 150 * self .主机等级
167+ if self .钱 >= 价 :self .钱 -= 价 ;self .主机等级 += 1 ;print ("✅升级" )
168+ else :print ("❌钱不够" )
169+ elif c == "5" :
170+ 价 = 120 * self .显示器等级
171+ if self .钱 >= 价 :self .钱 -= 价 ;self .显示器等级 += 1 ;print ("✅升级" )
172+ else :print ("❌钱不够" )
173+ elif c == "6" :
174+ 价 = 80 * self .椅子等级
175+ if self .钱 >= 价 :self .钱 -= 价 ;self .椅子等级 += 1 ;print ("✅升级" )
176+ else :print ("❌钱不够" )
177+ elif c == "7" :
178+ 价 = 50 * self .鼠标等级
179+ if self .钱 >= 价 :self .钱 -= 价 ;self .鼠标等级 += 1 ;print ("✅升级" )
180+ else :print ("❌钱不够" )
181+ elif c == "8" :
182+ 价 = 50 * self .键盘等级
183+ if self .钱 >= 价 :self .钱 -= 价 ;self .键盘等级 += 1 ;print ("✅升级" )
184+ else :print ("❌钱不够" )
185+ elif c == "9" :
186+ 价 = 400 + self .街机数量 * 100
187+ if self .钱 >= 价 :self .钱 -= 价 ;self .街机数量 += 1 ;print ("✅街机+1" )
188+ else :print ("❌钱不够" )
189+ elif c == "10" :
190+ 价 = 250 * self .街机等级
191+ if self .钱 >= 价 :self .钱 -= 价 ;self .街机等级 += 1 ;print (f"✅街机{ self .街机等级 } 级" )
192+ else :print ("❌钱不够" )
193+ elif c == "0" :
194+ break
195+ input ("\n 回车继续…" )
196+
197+ # ====================== 接待 ======================
198+ def 接待电脑 (self ):
199+ 可用 = self .电脑数量 - self .电脑使用中
200+ if 可用 <= 0 or self .排队顾客 <= 0 :
201+ print ("❌没电脑/没人" )
202+ return
203+ 接 = min (可用 , self .排队顾客 )
204+ 单台 = self .每台电脑每小时收益 ()
205+ self .钱 += 接 * 单台
206+ self .今日营收 += 接 * 单台
207+ for i in range (self .电脑使用中 , self .电脑使用中 + 接 ):
208+ self .顾客上机时长 [i ] = 0
209+ self .电脑使用中 += 接
210+ self .排队顾客 -= 接
211+ self .口碑 = min (self .口碑 + 2 ,150 )
212+ print (f"✅接待{ 接 } 人,每台{ 单台 } 元/时" )
213+
214+ def 接待街机 (self ):
215+ 可用 = self .街机数量 - self .街机使用中
216+ if 可用 <= 0 :
217+ print ("❌街机已满" )
218+ return
219+ 接 = min (可用 , 3 )
220+ 单台 = self .每台街机每小时收益 ()
221+ self .钱 += 接 * 单台
222+ self .今日营收 += 接 * 单台
223+ self .街机使用中 += 接
224+ print (f"✅街机接待{ 接 } 人,每台{ 单台 } 元/时" )
225+
226+ # ====================== 地图 ======================
227+ def 画界面 (self ):
228+ clear ()
229+ print ("🏪【网吧大亨·终极完整版】" .center (58 ,"=" ))
230+ print (f"🖥️电脑:{ self .电脑使用中 } /{ self .电脑数量 } Lv.{ self .电脑等级 } " )
231+ print (f"🎮街机:{ self .街机使用中 } /{ self .街机数量 } Lv.{ self .街机等级 } " )
232+ print (f"👥排队:{ self .排队顾客 } /40 💰钱:{ self .钱 } " )
233+ print (f"🌟口碑:{ self .口碑 } { self .天气 } 📊今日:{ self .今日营收 } " )
234+ print (f"💸电脑单价:{ self .每台电脑每小时收益 ()} 元/时" )
235+ print (f"🎮街机单价:{ self .每台街机每小时收益 ()} 元/时" )
236+ print ("配件:桌{} 主机{} 显示器{} 椅{} 鼠{} 键{}" .format (
237+ self .电脑桌等级 ,self .主机等级 ,self .显示器等级 ,
238+ self .椅子等级 ,self .鼠标等级 ,self .键盘等级 ))
239+ print ("=" * 58 )
240+
241+ # ====================== 主菜单 ======================
242+ def 开始游戏 (self ):
243+ while True :
244+ self .画界面 ()
245+ print ("\n 【🎮主菜单】" )
246+ print ("1.🖥️接待电脑 2.🎮接待街机 3.🏬商城 4.🕒快进1h" )
247+ print ("5.⏩快进2h 6.⏩快进3h 7.💾存档 8.📂读档 0.退出" )
248+ 选 = input ("\n 请选择:" ).strip ()
249+
250+ clear ()
251+ if 选 == "1" : self .接待电脑 ()
252+ elif 选 == "2" : self .接待街机 ()
253+ elif 选 == "3" : self .商城 ()
254+ elif 选 == "4" : self .时间流逝 ()
255+ elif 选 == "5" : self .快进2h ()
256+ elif 选 == "6" : self .快进3h ()
257+ elif 选 == "7" : self .生成存档码 ()
258+ elif 选 == "8" : self .读取存档码 ()
259+ elif 选 == "0" :
260+ clear ()
261+ print ("👋再见!" )
262+ break
263+ input ("\n 回车继续…" )
264+
265+ if __name__ == "__main__" :
266+ 游戏 = 网吧大亨终极版 ()
267+ 游戏 .开始游戏 ()
0 commit comments