Skip to content

Commit bd2acc5

Browse files
投稿: 网吧模拟器(3.1) — by Daoyu268
1 parent 439d104 commit bd2acc5

2 files changed

Lines changed: 346 additions & 2 deletions

File tree

script_library/index.json

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"format_version": 1,
3-
"data_version": 66,
4-
"updated": "2026-04-03T15:12:30.481Z",
3+
"data_version": 67,
4+
"updated": "2026-04-03T16:39:55Z",
55
"announcement": null,
66
"categories": [
77
{
@@ -1305,6 +1305,30 @@
13051305
"updated": null,
13061306
"status": "active",
13071307
"lines": 93
1308+
},
1309+
{
1310+
"id": "community_网吧模拟器31__by_daoyu268",
1311+
"name": "网吧模拟器(3.1) — by Daoyu268",
1312+
"name_en": "网吧模拟器(3.1) — by Daoyu268",
1313+
"desc": "[投稿] 网吧模拟器(3.1) — by Daoyu268",
1314+
"desc_en": "[投稿] 网吧模拟器(3.1) — by Daoyu268",
1315+
"category": "basic",
1316+
"file": "scripts/games/3_1_mnhh1g6m.py",
1317+
"thumbnail": null,
1318+
"version": 1,
1319+
"file_type": "py",
1320+
"author": "社区投稿",
1321+
"author_en": "社区投稿",
1322+
"tags": [
1323+
"community",
1324+
"basic"
1325+
],
1326+
"requires": [],
1327+
"min_app_version": "1.5.0",
1328+
"added": "2026-04-03",
1329+
"updated": null,
1330+
"status": "active",
1331+
"lines": 320
13081332
}
13091333
]
13101334
}
Lines changed: 320 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,320 @@
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. = 800
13+
self.天数 = 1
14+
self.小时 = 10
15+
self.排队顾客 = 0
16+
self.上网价格 = 6
17+
self.口碑 = 100
18+
self.会员数 = 0
19+
self.今日营收 = 0
20+
self.天气 = ["☀️晴天", "🌧️小雨", "⛈️大雨", "❄️雪天"][random.randint(0,3)]
21+
22+
self.电脑数量 = 6
23+
self.电脑等级 = 1
24+
self.电脑使用中 = 0
25+
self.电脑损坏 = 0
26+
27+
self.电脑桌等级 = 1
28+
self.主机等级 = 1
29+
self.显示器等级 = 1
30+
self.椅子等级 = 1
31+
self.鼠标等级 = 1
32+
self.键盘等级 = 1
33+
34+
self.街机数量 = 0
35+
self.街机等级 = 1
36+
self.街机使用中 = 0
37+
38+
self.饮料库存 = 20
39+
self.饮料成本 = 2
40+
self.饮料售价 = 5
41+
42+
self.网管列表 = []
43+
self.最大网管数 = 5
44+
45+
self.顾客上机时长 = [0] * self.电脑数量
46+
47+
def 生成存档码(self):
48+
clear()
49+
数据 = self.__dict__.copy()
50+
字符串 = json.dumps(数据, ensure_ascii=False)
51+
唯一码 = hashlib.sha256((字符串 + str(time.time())).encode()).hexdigest()[:16]
52+
print("🏪 存档信息".center(50, "="))
53+
print(f"✅ 存档码:{唯一码}")
54+
print("💾 存档数据:")
55+
print(字符串)
56+
input("\n回车返回…")
57+
58+
def 读取存档码(self):
59+
clear()
60+
try:
61+
s = input("请粘贴存档数据:\n")
62+
data = json.loads(s)
63+
self.__dict__.update(data)
64+
print("✅ 读档成功!")
65+
except:
66+
print("❌ 失败")
67+
input("回车…")
68+
69+
def 时间流逝(self):
70+
for i in range(self.电脑使用中):
71+
self.顾客上机时长[i] += 1
72+
下机 = 0
73+
for i in range(self.电脑使用中):
74+
if self.顾客上机时长[i] >= 24:
75+
下机 += 1
76+
if 下机 > 0:
77+
print(f"\n{下机}人满24小时强制下机")
78+
self.电脑使用中 -= 下机
79+
self.顾客上机时长 = self.顾客上机时长[下机:] + [0]*下机
80+
81+
self.小时 += 1
82+
if self.小时 >= 24:
83+
self.小时 = 9
84+
self.天数 += 1
85+
self.今日营收 = 0
86+
self.天气 = random.choice(["☀️晴天","🌧️小雨","⛈️大雨","❄️雪天"])
87+
88+
来客 = random.randint(1,4)
89+
if self.天气 == "☀️晴天": 来客 +=2
90+
if self.口碑>120:来客+=2
91+
self.排队顾客 = min(self.排队顾客 + max(来客,0), 40)
92+
93+
if random.randint(1,10)==1 and self.电脑损坏 < self.电脑数量//2:
94+
self.电脑损坏 +=1
95+
print("\n⚠️ 一台电脑坏了!")
96+
97+
if self.电脑损坏>0 and len(self.网管列表)>0:
98+
for i in range(len(self.网管列表)):
99+
if self.电脑损坏<=0:break
100+
if self.网管列表[i]>0:
101+
self.电脑损坏 -=1
102+
self.网管列表[i] -=1
103+
print(f"\n✅ 网管修好1台!还能修{self.网管列表[i]}次")
104+
if self.网管列表[i]==0:
105+
print("\n👋 网管辞职了!")
106+
self.网管列表.pop(i)
107+
break
108+
109+
def 快进2h(self):
110+
print("\n⏩快进2小时…")
111+
self.时间流逝()
112+
self.时间流逝()
113+
def 快进3h(self):
114+
print("\n⏩快进3小时…")
115+
self.时间流逝()
116+
self.时间流逝()
117+
self.时间流逝()
118+
119+
def 每台电脑每小时收益(self):
120+
倍率 = (
121+
self.电脑等级 * 0.2
122+
+ self.电脑桌等级 * 0.05
123+
+ self.主机等级 * 0.1
124+
+ self.显示器等级 * 0.08
125+
+ self.椅子等级 * 0.05
126+
+ self.鼠标等级 * 0.03
127+
+ self.键盘等级 * 0.03
128+
+ 1
129+
)
130+
return round(self.上网价格 * 倍率, 1)
131+
132+
def 每台街机每小时收益(self):
133+
return round(8 + self.街机等级 * 3, 1)
134+
135+
def 商城(self):
136+
while True:
137+
clear()
138+
print("🏬【超级商城】".center(50,"="))
139+
print(f"💰金钱:{self.}")
140+
print(f"1.🖥️买电脑 {self.电脑数量}台")
141+
print(f"2.⬆️电脑等级 Lv.{self.电脑等级}")
142+
print(f"3.🪑电脑桌 Lv.{self.电脑桌等级}")
143+
print(f"4.🖥️主机 Lv.{self.主机等级}")
144+
print(f"5.🖥️显示器 Lv.{self.显示器等级}")
145+
print(f"6.🪑椅子 Lv.{self.椅子等级}")
146+
print(f"7.🖱️鼠标 Lv.{self.鼠标等级}")
147+
print(f"8.⌨️键盘 Lv.{self.键盘等级}")
148+
print(f"9.🎮买街机 {self.街机数量}台")
149+
print(f"10.⬆️街机等级 Lv.{self.街机等级}")
150+
print("0.返回")
151+
c = input("选择:").strip()
152+
153+
if c == "1":
154+
= 200 + self.电脑数量 * 50
155+
if self. >= :
156+
self. -=
157+
self.电脑数量 += 1
158+
self.顾客上机时长.append(0)
159+
print(f"✅ 购买成功!花了{}元")
160+
else:print("❌钱不够")
161+
elif c == "2":
162+
= 300 * self.电脑等级
163+
if self. >= :
164+
self. -=
165+
self.电脑等级 +=1
166+
print(f"✅ 电脑升到{self.电脑等级}级!")
167+
else:print("❌钱不够")
168+
elif c == "3":
169+
= 100*self.电脑桌等级
170+
if self.>=:self.-=;self.电脑桌等级+=1;print("✅升级成功")
171+
else:print("❌钱不够")
172+
elif c == "4":
173+
= 150*self.主机等级
174+
if self.>=:self.-=;self.主机等级+=1;print("✅升级成功")
175+
else:print("❌钱不够")
176+
elif c == "5":
177+
= 120*self.显示器等级
178+
if self.>=:self.-=;self.显示器等级+=1;print("✅升级成功")
179+
else:print("❌钱不够")
180+
elif c == "6":
181+
= 80*self.椅子等级
182+
if self.>=:self.-=;self.椅子等级+=1;print("✅升级成功")
183+
else:print("❌钱不够")
184+
elif c == "7":
185+
= 50*self.鼠标等级
186+
if self.>=:self.-=;self.鼠标等级+=1;print("✅升级成功")
187+
else:print("❌钱不够")
188+
elif c == "8":
189+
= 50*self.键盘等级
190+
if self.>=:self.-=;self.键盘等级+=1;print("✅升级成功")
191+
else:print("❌钱不够")
192+
elif c == "9":
193+
= 400 + self.街机数量*100
194+
if self.>=:self.-=;self.街机数量+=1;print("✅街机+1")
195+
else:print("❌钱不够")
196+
elif c == "10":
197+
= 250*self.街机等级
198+
if self.>=:self.-=;self.街机等级+=1;print(f"✅街机升到{self.街机等级}级")
199+
else:print("❌钱不够")
200+
elif c == "0":
201+
break
202+
input("\n回车继续…")
203+
204+
def 招募网管(self):
205+
if len(self.网管列表)>=self.最大网管数:
206+
print(f"❌ 最多5名")
207+
return
208+
if self.<200:
209+
print("❌ 200元")
210+
return
211+
self. -=200
212+
self.网管列表.append(5)
213+
print(f"👨💻招募成功!{len(self.网管列表)}/5")
214+
215+
def 接待电脑(self):
216+
可用 = self.电脑数量 - self.电脑使用中 - self.电脑损坏
217+
if 可用 <=0 or self.排队顾客<=0:
218+
print("❌ 没可用电脑")
219+
return
220+
= min(可用, self.排队顾客)
221+
单台 = self.每台电脑每小时收益()
222+
self. += *单台
223+
self.今日营收 += *单台
224+
for i in range(self.电脑使用中, self.电脑使用中+):
225+
self.顾客上机时长[i] = 0
226+
self.电脑使用中 +=
227+
self.排队顾客 -=
228+
self.口碑 = min(self.口碑+2,150)
229+
print(f"✅接待{}台电脑,{单台}元/台")
230+
231+
def 接待街机(self):
232+
可用 = self.街机数量 - self.街机使用中
233+
if 可用<=0:
234+
print("❌ 街机已满")
235+
return
236+
= min(可用, 3)
237+
单台 = self.每台街机每小时收益()
238+
self. += *单台
239+
self.今日营收 += *单台
240+
self.街机使用中 +=
241+
print(f"✅街机接待{}人,{单台}元/台")
242+
243+
def 突发事件(self):
244+
事件列表 = [
245+
("网红打卡🎉,排队+15", lambda: setattr(self,'排队顾客',min(self.排队顾客+15,40))),
246+
("停电⚡,全部下机", lambda: setattr(self,'电脑使用中',0)),
247+
("老顾客送礼💳,+200元", lambda: setattr(self,'钱',self.+200)),
248+
("电脑蓝屏💥,损坏+2", lambda: setattr(self,'电脑损坏',min(self.电脑损坏+2,self.电脑数量))),
249+
("卫生抽查🚽,口碑-12", lambda: setattr(self,'口碑',max(self.口碑-12,30))),
250+
("猫咪躺椅😺,口碑+8", lambda: setattr(self,'口碑',min(self.口碑+8,150))),
251+
("邻店倒闭🔥,排队+12", lambda: setattr(self,'排队顾客',min(self.排队顾客+12,40))),
252+
("有人逃单💸,-50元", lambda: setattr(self,'钱',max(self.-50,0))),
253+
]
254+
文字, func = random.choice(事件列表)
255+
print(f"🚨 {文字}")
256+
func()
257+
258+
def 画界面(self):
259+
clear()
260+
print("🏪【网吧大亨·终极版】🏪".center(58,"="))
261+
print()
262+
263+
print("🖥️ 电脑区:", end="")
264+
for i in range(self.电脑使用中):
265+
print("💻", end=" ")
266+
for i in range(self.电脑损坏):
267+
print("🔧", end=" ")
268+
for i in range(self.电脑数量 - self.电脑使用中 - self.电脑损坏):
269+
print("🖥️", end=" ")
270+
print()
271+
272+
print("🎮 街机区:", end="")
273+
for i in range(self.街机使用中):
274+
print("🎮", end=" ")
275+
for i in range(self.街机数量 - self.街机使用中):
276+
print("🕹️", end=" ")
277+
if self.街机数量 == 0:
278+
print("暂无街机", end="")
279+
print()
280+
281+
print("-"*58)
282+
顾客显示 = "👤" * min(self.排队顾客, 12)
283+
if self.排队顾客>12:顾客显示 += f"+{self.排队顾客-12}"
284+
print(f"👥排队:{顾客显示} 💰钱:{self.}")
285+
print(f"🌟口碑:{self.口碑} {self.天气} 📊今日营收:{self.今日营收}")
286+
print(f"⚙️电脑Lv.{self.电脑等级} | 配件:桌{self.电脑桌等级}{self.主机等级}{self.显示器等级}{self.椅子等级}{self.鼠标等级}{self.键盘等级}")
287+
print(f"🎮街机Lv.{self.街机等级} | 💻电脑收益:{self.每台电脑每小时收益()}元/h 🎮街机收益:{self.每台街机每小时收益()}元/h")
288+
print(f"👨💻网管:{len(self.网管列表)}/{self.最大网管数}")
289+
print("="*58)
290+
291+
def 开始游戏(self):
292+
while True:
293+
self.画界面()
294+
print("\n【🎮 主菜单】")
295+
print(" 1.👥接待电脑 2.🎮接待街机 3.🏬商城 4.👨💻招募网管")
296+
print(" 5.🕒快进1h 6.⏩快进2h 7.⏩快进3h 8.🚨随机事件")
297+
print(" 9.💾存档 10.📂读档 0.🚪退出")
298+
299+
= input("\n请选择:").strip()
300+
301+
clear()
302+
if =="1": self.接待电脑()
303+
elif =="2": self.接待街机()
304+
elif =="3": self.商城()
305+
elif =="4": self.招募网管()
306+
elif =="5": self.时间流逝()
307+
elif =="6": self.快进2h()
308+
elif =="7": self.快进3h()
309+
elif =="8": self.突发事件()
310+
elif =="9": self.生成存档码()
311+
elif =="10": self.读取存档码()
312+
elif =="0":
313+
clear()
314+
print("👋 欢迎下次再来!")
315+
break
316+
input("\n回车继续…")
317+
318+
if __name__ == "__main__":
319+
游戏 = 网吧大亨终极版()
320+
游戏.开始游戏()

0 commit comments

Comments
 (0)