Skip to content

Commit a0351f4

Browse files
[投稿] 添加脚本: 网吧模拟器(4.0) — by Daoyu268
1 parent 2deb7b1 commit a0351f4

1 file changed

Lines changed: 370 additions & 0 deletions

File tree

Lines changed: 370 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,370 @@
1+
# 欢迎使用 PythonIDE!如果觉得好用,请给个好评哦~
2+
import random
3+
import json
4+
import hashlib
5+
import time
6+
7+
def clear():
8+
print("\033c", end="")
9+
10+
class 网吧大亨终极版:
11+
def __init__(self):
12+
self. = 1500
13+
self.天数 = 1
14+
self.小时 = 10
15+
self.排队顾客 = 0
16+
self.口碑 = 100
17+
self.今日营收 = 0
18+
self.天气 = random.choice(["☀️晴天", "🌧️小雨", "⛈️大雨", "❄️雪天"])
19+
20+
# 电脑
21+
self.电脑 = []
22+
for _ in range(6):
23+
self.电脑.append({"等级":1, "状态":0, "计时":0})
24+
25+
# 街机
26+
self.街机 = []
27+
28+
# 网管
29+
self.网管列表 = []
30+
self.最大网管数 = 5
31+
32+
# 垃圾 & 保洁
33+
self.垃圾 = 0
34+
self.最大垃圾 = 15
35+
self.保洁列表 = []
36+
self.最大保洁 = 3
37+
38+
# 管理员(防逃票,只能1个,探索时自动工作,回来就辞职)
39+
self.管理员 = False
40+
41+
# 探索
42+
self.正在探索 = False
43+
44+
# 100条提示
45+
self.all_tips = [
46+
"高级电脑收益更高。","配件必须同等级一套。","街机有等级会坏。","电脑街机都会坏。",
47+
"网管修5次辞职。","排队最多40人。","24小时强制下机。","晴天客人更多。",
48+
"口碑高客人多。","先买1级电脑最稳。","街机是第二收入。","坏设备要修。",
49+
"商城直接买高级电脑。","6级电脑收益翻倍。","电脑街机一起开最赚。",
50+
"网管要多招。","口碑低影响生意。","每天收益很重要。","等级不影响故障率。",
51+
"一次多接待最赚。","商城高级电脑性价比高。","街机吸引学生。",
52+
"晚上客流稳。","多招网管效率高。","等级高单价高。","排队满40人就上限。",
53+
"损坏率低才顺畅。","每天先修设备。","口碑上限150。","大雨客人少。",
54+
"下雪天客流中等。","新电脑默认空闲。","全套配件同等级。","街机坏了也要修。",
55+
"想快赚升高级电脑。","多招网管比手动修强。","上机中不会坏。","0点清今日营收。",
56+
"快进容易坏设备。","商城只卖成套设备。","9级电脑最高。","街机最高6级。",
57+
"接待前看空闲。","网管最多5人。","网管200元。","逃单会扣钱。",
58+
"网红打卡爆排队。","猫咪加口碑。","停电全下机。","卫生抽查降口碑。",
59+
"邻店倒闭送客人。","会员日加口碑。","蓝屏坏多台。","留空闲应对高峰。",
60+
"快进3小时最爽。","坏设备堆着会炸。","等级越高图标越帅。","每台电脑独立等级。",
61+
"街机独立等级。","空闲多更灵活。","上机显示计时。","坏设备不影响其他。",
62+
"商城买电脑送全套。","每次操作都清屏。","菜单简洁。","数值平衡。",
63+
"高级设备回本快。","优先升电脑。","中等级电脑稳。","支持挂机。",
64+
"提示都是真实规则。","顾客越多扔垃圾概率越高。","垃圾多降口碑。",
65+
"保洁80元,清3次辞职。","保洁最多3人。","保洁只管垃圾。","探索能得钱。",
66+
"探索会遇店铺、怪物。","怪物要扣钱打跑。","离开网吧可能逃票。",
67+
"管理员超级贵,只能1个。","探索时管理员自动看守。","管理员在绝对不逃票。",
68+
"回来管理员立刻辞职。","城市探索能发大财。","遇到怪物必须花钱摆平。",
69+
"探索越久越危险。","店铺能捡小钱。","管理员是防逃票神器。",
70+
"网管修设备,管理员防逃票。","保洁清垃圾,三者不冲突。",
71+
"没钱别乱探索。","高级设备配管理员才稳。","这是第95条。",
72+
"第96条:保洁、网管、管理员各司其职。","第97条:探索有风险。",
73+
"第98条:管理员只在你离开时工作。","第99条:祝你游戏愉快!",
74+
"第100条:你已看完所有提示!"
75+
]
76+
self.shown_tips = set()
77+
78+
# ===================== 提示 =====================
79+
def show_tip(self):
80+
clear()
81+
if len(self.shown_tips) >= len(self.all_tips):
82+
print("💡 已看完100条提示!")
83+
else:
84+
tip = random.choice(self.all_tips)
85+
while tip in self.shown_tips:
86+
tip = random.choice(self.all_tips)
87+
self.shown_tips.add(tip)
88+
print("💡", tip)
89+
input("\n回车…")
90+
91+
# ===================== 保洁 =====================
92+
def 招募保洁(self):
93+
clear()
94+
if len(self.保洁列表) >= self.最大保洁:
95+
print("❌ 最多3名保洁工")
96+
elif self. < 80:
97+
print("❌ 80元")
98+
else:
99+
self. -= 80
100+
self.保洁列表.append(3)
101+
print("✅ 保洁工到岗")
102+
input("\n回车…")
103+
104+
def 清理垃圾(self):
105+
while self.垃圾 > 0 and self.保洁列表:
106+
self.垃圾 -= 1
107+
self.保洁列表[0] -= 1
108+
if self.保洁列表[0] <= 0:
109+
self.保洁列表.pop(0)
110+
111+
# ===================== 网管 =====================
112+
def 招募网管(self):
113+
clear()
114+
if len(self.网管列表) >= self.最大网管数:
115+
print("❌ 最多5名")
116+
elif self. < 200:
117+
print("❌ 200元")
118+
else:
119+
self. -= 200
120+
self.网管列表.append(5)
121+
print("✅ 网管到岗")
122+
input("\n回车…")
123+
124+
# ===================== 管理员(防逃票) =====================
125+
def 雇佣管理员(self):
126+
clear()
127+
if self.管理员:
128+
print("❌ 已存在管理员")
129+
elif self. < 1000:
130+
print("❌ 管理员费用 1000元(超级贵)")
131+
else:
132+
self. -= 1000
133+
self.管理员 = True
134+
print("✅ 管理员雇佣成功!")
135+
print("👮 你离开期间自动工作,回来就辞职!")
136+
input("\n回车…")
137+
138+
# ===================== 商城 =====================
139+
def 商城(self):
140+
while True:
141+
clear()
142+
print("🏬商城".center(60,"="))
143+
print(f"💰{self.}")
144+
print("1:1级电脑200 2:3级500 3:6级1000 4:9级1800")
145+
print("5:1级街机300 6:3级700 7:6级1300 0:返回")
146+
print("="*60)
147+
c = input("选:")
148+
clear()
149+
if c == "1" and self. >=200:
150+
self.-=200; self.电脑.append({"等级":1,"状态":0,"计时":0})
151+
print("✅ 1级电脑")
152+
elif c == "2" and self.>=500:
153+
self.-=500; self.电脑.append({"等级":3,"状态":0,"计时":0})
154+
print("✅3级")
155+
elif c == "3" and self.>=1000:
156+
self.-=1000; self.电脑.append({"等级":6,"状态":0,"计时":0})
157+
print("✅6级")
158+
elif c == "4" and self.>=1800:
159+
self.-=1800; self.电脑.append({"等级":9,"状态":0,"计时":0})
160+
print("✅9级")
161+
elif c == "5" and self.>=300:
162+
self.-=300; self.街机.append({"等级":1,"状态":0})
163+
print("✅1级街机")
164+
elif c == "6" and self.>=700:
165+
self.-=700; self.街机.append({"等级":3,"状态":0})
166+
print("✅3级街机")
167+
elif c == "7" and self.>=1300:
168+
self.-=1300; self.街机.append({"等级":6,"状态":0})
169+
print("✅6级街机")
170+
elif c == "0":
171+
break
172+
input("\n回车…")
173+
174+
# ===================== 城市探索 =====================
175+
def 城市探索(self):
176+
clear()
177+
print("🚪 你离开网吧,进入城市探索!")
178+
self.正在探索 = True
179+
time.sleep(0.3)
180+
181+
# 探索事件
182+
r = random.random()
183+
if r < 0.4:
184+
= random.randint(50,200)
185+
self. +=
186+
print(f"🏪 你发现一家小店,捡到 {} 元!")
187+
elif r < 0.75:
188+
= random.randint(100,350)
189+
self. +=
190+
print(f"🧧 街头活动获得奖励:{} 元!")
191+
else:
192+
罚款 = random.randint(150,400)
193+
if self. >= 罚款:
194+
self. -= 罚款
195+
print(f"👹 遇到闹事怪物!花 {罚款} 元摆平!")
196+
else:
197+
print("👹 遇到怪物,但你没钱摆平,狼狈逃回!")
198+
print("🌉 探索结束,返回网吧。")
199+
self.正在探索 = False
200+
201+
# 回来管理员直接辞职
202+
if self.管理员:
203+
print("👮 管理员任务结束,自动辞职。")
204+
self.管理员 = False
205+
input("\n回车…")
206+
207+
# ===================== 时间核心 =====================
208+
def 时间流逝(self):
209+
# 24小时下机
210+
for 电脑 in self.电脑:
211+
if 电脑["状态"] == 1:
212+
电脑["计时"] +=1
213+
if 电脑["计时"]>=24:
214+
电脑["状态"]=0;电脑["计时"]=0
215+
216+
self.小时 +=1
217+
if self.小时>=24:
218+
self.小时=9; self.天数+=1; self.今日营收=0
219+
self.天气=random.choice(["☀️晴天","🌧️小雨","⛈️大雨","❄️雪天"])
220+
221+
# 顾客
222+
在用 = sum(1 for d in self.电脑 if d["状态"]==1) + sum(1 for j in self.街机 if j["状态"]==1)
223+
来客 = random.randint(1,4)
224+
if self.天气 == "☀️晴天":来客 +=2
225+
if self.口碑>120:来客 +=2
226+
self.排队顾客 = min(self.排队顾客 +来客,40)
227+
228+
# 垃圾
229+
概率 = 0.04 + 在用*0.022
230+
if random.random()<概率 and self.垃圾 < self.最大垃圾:
231+
self.垃圾 +=1
232+
233+
# 垃圾影响口碑
234+
if self.垃圾 >=12:
235+
self.口碑 = max(self.口碑-1,40)
236+
237+
# 设备损坏
238+
if random.random()<0.12:
239+
空闲 = [d for d in self.电脑 if d["状态"]==0]
240+
if 空闲: random.choice(空闲)["状态"]=2
241+
242+
if len(self.街机)>0 and random.random()<0.1:
243+
空闲 = [j for j in self.街机 if j["状态"]==0]
244+
if 空闲: random.choice(空闲)["状态"]=2
245+
246+
# 网管修理
247+
坏电脑 = [d for d in self.电脑 if d["状态"]==2]
248+
坏街机 = [j for j in self.街机 if j["状态"]==2]
249+
while (坏电脑 or 坏街机) and self.网管列表:
250+
if 坏电脑: 坏电脑.pop(0)["状态"]=0
251+
else: 坏街机.pop(0)["状态"]=0
252+
self.网管列表[0] -=1
253+
if self.网管列表[0]==0:
254+
self.网管列表.pop(0)
255+
256+
# 保洁清垃圾
257+
self.清理垃圾()
258+
259+
# 逃票(不在且无管理员才逃票)
260+
if self.正在探索 and not self.管理员:
261+
if random.random()<0.35:
262+
损失 = random.randint(40,180)
263+
if self. >=损失:
264+
self. -=损失
265+
print(f"💸 你不在,有顾客逃票!损失 {损失} 元!")
266+
267+
def 快进2h(self):
268+
print("\n⏩ 快进2小时")
269+
self.时间流逝(); self.时间流逝()
270+
def 快进3h(self):
271+
print("\n⏩ 快进3小时")
272+
self.时间流逝(); self.时间流逝(); self.时间流逝()
273+
274+
# ===================== 接待 =====================
275+
def 接待电脑(self):
276+
空闲 = [d for d in self.电脑 if d["状态"]==0]
277+
if not 空闲 or self.排队顾客<=0:
278+
print("❌ 无法接待")
279+
return
280+
台数 = min(len(空闲), self.排队顾客)
281+
收入 = 0
282+
for i in range(台数):
283+
空闲[i]["状态"]=1
284+
收入 += 6 + (空闲[i]["等级"]-1)*4
285+
self. +=收入
286+
self.今日营收 +=收入
287+
self.排队顾客 -=台数
288+
print(f"✅ 接待{台数}台,收入{收入}")
289+
290+
def 接待街机(self):
291+
空闲 = [j for j in self.街机 if j["状态"]==0]
292+
if not 空闲:
293+
print("❌ 无空闲")
294+
return
295+
台数 = min(len(空闲),3)
296+
收入 =0
297+
for i in range(台数):
298+
空闲[i]["状态"]=1
299+
收入 += 10 + (空闲[i]["等级"]-1)*5
300+
self. +=收入
301+
self.今日营收 +=收入
302+
print(f"✅ 街机收入{收入}")
303+
304+
# ===================== 界面 =====================
305+
def 画界面(self):
306+
clear()
307+
print("🏪【网吧大亨·终极完整版】".center(68,"="))
308+
print()
309+
print("🖥️电脑:",end="")
310+
for d in self.电脑:
311+
if d["状态"]==0:print(f"🖥️Lv{d['等级']}",end=" ")
312+
elif d["状态"]==1:print(f"💻Lv{d['等级']}",end=" ")
313+
else:print(f"🔧Lv{d['等级']}",end=" ")
314+
print()
315+
print("🎮街机:",end="")
316+
if not self.街机:print("无",end="")
317+
for j in self.街机:
318+
if j["状态"]==0:print(f"🕹️Lv{j['等级']}",end=" ")
319+
elif j["状态"]==1:print(f"🎮Lv{j['等级']}",end=" ")
320+
else:print(f"⚠️Lv{j['等级']}",end=" ")
321+
print()
322+
print(f"🗑️垃圾:{'🧻'*self.垃圾} {self.垃圾}/{self.最大垃圾}")
323+
print("-"*68)
324+
顾客图标 = "👤"*min(self.排队顾客,12)
325+
if self.排队顾客>12:顾客图标+=f"+{self.排队顾客-12}"
326+
print(f"👥排队:{顾客图标} 💰金钱:{self.}")
327+
print(f"🌟口碑:{self.口碑} {self.天气} 📊今日:{self.今日营收}")
328+
print(f"👨💻网管:{len(self.网管列表)}/5 🧹保洁:{len(self.保洁列表)}/3 👮管理员:{'在岗' if self.管理员 else '无'}")
329+
print("="*68)
330+
331+
# ===================== 主菜单 =====================
332+
def 开始游戏(self):
333+
while True:
334+
self.画界面()
335+
print("\n【主菜单】")
336+
print(" 1.👥接待电脑 2.🎮接待街机 3.🏬商城 4.👨💻招网管")
337+
print(" 5.🧹招保洁 6.👮雇管理员 7.🌆城市探索 8.🕒快进1h")
338+
print(" 9.⏩快进2h 10.⏩快进3h 11.💡提示 12.💾存档")
339+
print("13.📂读档 0.🚪退出")
340+
= input("\n选择:").strip()
341+
clear()
342+
343+
if =="1": self.接待电脑()
344+
elif =="2": self.接待街机()
345+
elif =="3": self.商城()
346+
elif =="4": self.招募网管()
347+
elif =="5": self.招募保洁()
348+
elif =="6": self.雇佣管理员()
349+
elif =="7": self.城市探索()
350+
elif =="8": self.时间流逝()
351+
elif =="9": self.快进2h()
352+
elif =="10": self.快进3h()
353+
elif =="11": self.show_tip()
354+
elif =="12":
355+
data = json.dumps(self.__dict__, ensure_ascii=False)
356+
print("存档数据:\n",data)
357+
input("回车…")
358+
elif =="13":
359+
s=input("读档数据:")
360+
self.__dict__.update(json.loads(s))
361+
input("成功…")
362+
elif =="0":
363+
clear()
364+
print("👋 再见!")
365+
break
366+
input("\n回车继续…")
367+
368+
if __name__ == "__main__":
369+
game = 网吧大亨终极版()
370+
game.开始游戏()

0 commit comments

Comments
 (0)