Skip to content

Commit 0db0843

Browse files
投稿: 网吧模拟器(2.4.1) — by Daoyu268
1 parent 4c14a89 commit 0db0843

2 files changed

Lines changed: 290 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": 62,
4-
"updated": "2026-04-02T12:49:30.426Z",
3+
"data_version": 63,
4+
"updated": "2026-04-02T13:14:28Z",
55
"announcement": null,
66
"categories": [
77
{
@@ -1236,6 +1236,30 @@
12361236
"updated": null,
12371237
"status": "active",
12381238
"lines": 267
1239+
},
1240+
{
1241+
"id": "community_网吧模拟器241__by_daoyu268",
1242+
"name": "网吧模拟器(2.4.1) — by Daoyu268",
1243+
"name_en": "网吧模拟器(2.4.1) — by Daoyu268",
1244+
"desc": "[投稿] 网吧模拟器(2.4.1) — by Daoyu268",
1245+
"desc_en": "[投稿] 网吧模拟器(2.4.1) — by Daoyu268",
1246+
"category": "basic",
1247+
"file": "scripts/games/2_4_1_mnhh30pl.py",
1248+
"thumbnail": null,
1249+
"version": 1,
1250+
"file_type": "py",
1251+
"author": "社区投稿",
1252+
"author_en": "社区投稿",
1253+
"tags": [
1254+
"community",
1255+
"basic"
1256+
],
1257+
"requires": [],
1258+
"min_app_version": "1.5.0",
1259+
"added": "2026-04-02",
1260+
"updated": null,
1261+
"status": "active",
1262+
"lines": 265
12391263
}
12401264
]
12411265
}
Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
import random
2+
import json
3+
import hashlib
4+
import time
5+
6+
# 清屏函数(彻底清空前面所有输出)
7+
def clear():
8+
print("\033c", end="") # 强力清屏,不残留任何历史字符
9+
10+
class 网吧大亨终极版:
11+
def __init__(self):
12+
self. = 500
13+
self.天数 = 1
14+
self.小时 = 10
15+
self.电脑总数 = 6
16+
self.电脑使用中 = 0
17+
self.电脑损坏 = 0
18+
self.排队顾客 = 0
19+
self.上网价格 = 6
20+
21+
self.顾客上机时长 = [0] * self.电脑总数
22+
23+
self.网管列表 = []
24+
self.最大网管数 = 5
25+
26+
self.口碑 = 100
27+
self.会员数 = 0
28+
self.饮料库存 = 20
29+
self.饮料成本 = 2
30+
self.饮料售价 = 5
31+
self.装修等级 = 1
32+
self.天气 = ["☀️晴天", "🌧️小雨", "⛈️大雨", "❄️雪天"][random.randint(0,3)]
33+
self.今日营收 = 0
34+
35+
def 生成存档码(self):
36+
clear()
37+
数据 = {
38+
"钱": self., "天数": self.天数, "小时": self.小时,
39+
"电脑总数": self.电脑总数, "电脑使用中": self.电脑使用中, "电脑损坏": self.电脑损坏,
40+
"排队顾客": self.排队顾客, "上网价格": self.上网价格, "顾客上机时长": self.顾客上机时长,
41+
"网管列表": self.网管列表, "口碑": self.口碑, "会员数": self.会员数,
42+
"饮料库存": self.饮料库存, "饮料成本": self.饮料成本, "饮料售价": self.饮料售价,
43+
"装修等级": self.装修等级, "天气": self.天气, "今日营收": self.今日营收
44+
}
45+
字符串 = json.dumps(数据, ensure_ascii=False)
46+
唯一码 = hashlib.sha256((字符串 + str(time.time())).encode('utf-8')).hexdigest()[:16]
47+
print("🏪 存档信息".center(40, "="))
48+
print(f"✅ 存档码:{唯一码}")
49+
print("💾 存档数据:")
50+
print(字符串)
51+
input("\n回车返回菜单...")
52+
53+
def 读取存档码(self):
54+
clear()
55+
try:
56+
数据字符串 = input("请粘贴存档数据:\n")
57+
数据 = json.loads(数据字符串)
58+
for , in 数据.items():
59+
setattr(self, , )
60+
print("✅ 读档成功!")
61+
except:
62+
print("❌ 存档错误!")
63+
input("回车返回...")
64+
65+
def 时间流逝(self):
66+
for i in range(self.电脑使用中):
67+
self.顾客上机时长[i] += 1
68+
69+
下机人数 = 0
70+
for i in range(self.电脑使用中):
71+
if self.顾客上机时长[i] >= 24:
72+
下机人数 += 1
73+
74+
if 下机人数 > 0:
75+
print(f"⏰ {下机人数}人满24小时强制下机")
76+
77+
self.电脑使用中 -= 下机人数
78+
self.顾客上机时长 = self.顾客上机时长[下机人数:] + [0]*下机人数
79+
80+
self.小时 += 1
81+
if self.小时 >= 24:
82+
self.小时 = 9
83+
self.天数 += 1
84+
self.今日营收 = 0
85+
self.天气 = ["☀️晴天","🌧️小雨","⛈️大雨","❄️雪天"][random.randint(0,3)]
86+
87+
来客数 = random.randint(1,4)
88+
if self.天气 == "☀️晴天": 来客数 +=2
89+
if self.天气 == "⛈️大雨": 来客数 -=2
90+
if self.口碑>120:来客数+=2
91+
if self.口碑<60:来客数-=1
92+
self.排队顾客 = min(self.排队顾客 + max(来客数,0), 40)
93+
94+
if random.randint(1,10)==1 and self.电脑损坏 < self.电脑总数//2:
95+
self.电脑损坏 +=1
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+
if self.网管列表[i]==0:
104+
print("👋 网管辞职了")
105+
self.网管列表.pop(i)
106+
break
107+
108+
def 快进2小时(self):
109+
self.时间流逝()
110+
self.时间流逝()
111+
112+
def 快进3小时(self):
113+
self.时间流逝()
114+
self.时间流逝()
115+
self.时间流逝()
116+
117+
def 招募网管(self):
118+
if len(self.网管列表)>=self.最大网管数:
119+
print("❌ 最多5名网管")
120+
return
121+
if self.<200:
122+
print("❌ 钱不够")
123+
return
124+
self. -=200
125+
self.网管列表.append(5)
126+
print("👨💻 招募成功")
127+
128+
def 接待顾客(self):
129+
可用 = self.电脑总数 - self.电脑使用中 - self.电脑损坏
130+
if 可用<=0 or self.排队顾客<=0:
131+
print("❌ 无电脑/无顾客")
132+
return
133+
接待 = min(可用, self.排队顾客)
134+
self. += 接待*self.上网价格
135+
self.今日营收 +=接待*self.上网价格
136+
for i in range(self.电脑使用中, self.电脑使用中+接待):
137+
self.顾客上机时长[i]=0
138+
self.电脑使用中 +=接待
139+
self.排队顾客 -=接待
140+
self.口碑 = min(self.口碑+2,150)
141+
print(f"✅ 接待{接待}人")
142+
143+
def 买电脑(self):
144+
if self.<180:
145+
print("❌ 钱不够")
146+
return
147+
self. -=180
148+
self.电脑总数 +=1
149+
self.顾客上机时长.append(0)
150+
print("🆕 电脑+1")
151+
152+
def 卖饮料(self):
153+
if self.电脑使用中==0 or self.饮料库存<=0:
154+
print("❌ 无法售卖")
155+
return
156+
卖出 = min(random.randint(1,self.电脑使用中), self.饮料库存)
157+
利润 = 卖出*(self.饮料售价-self.饮料成本)
158+
self. +=利润
159+
self.今日营收 +=利润
160+
self.饮料库存 -=卖出
161+
print(f"🥤 卖出{卖出}瓶")
162+
163+
def 进货饮料(self):
164+
if self.<20:
165+
print("❌ 钱不够")
166+
return
167+
self. -=20
168+
self.饮料库存 +=10
169+
print("📦 饮料+10")
170+
171+
def 升级装修(self):
172+
费用 = 150*self.装修等级
173+
if self.<费用:
174+
print("❌ 钱不够")
175+
return
176+
self. -=费用
177+
self.装修等级 +=1
178+
self.口碑 = min(self.口碑+10,150)
179+
print(f"🎨 装修到{self.装修等级}级")
180+
181+
def 发展会员(self):
182+
if self.<80:
183+
print("❌ 钱不够")
184+
return
185+
self. -=80
186+
新增 = random.randint(3,8)
187+
self.会员数 +=新增
188+
self.口碑 = min(self.口碑+5,150)
189+
print(f"👑 会员+{新增}")
190+
191+
def 每日打卡(self):
192+
奖励 = random.randint(50,150)
193+
self. +=奖励
194+
print(f"🎁 奖励{奖励}元")
195+
196+
def 突发事件(self):
197+
事件 = [
198+
("网红打卡🎉,排队+15", lambda: setattr(self,'排队顾客',min(self.排队顾客+15,40))),
199+
("停电⚡,全部下机", lambda: setattr(self,'电脑使用中',0)),
200+
("老顾客送礼💳,+200元", lambda: setattr(self,'钱',self.+200)),
201+
("电脑蓝屏💥,损坏+2", lambda: setattr(self,'电脑损坏',min(self.电脑损坏+2,self.电脑总数))),
202+
("卫生抽查🚽,口碑-12", lambda: setattr(self,'口碑',max(self.口碑-12,30))),
203+
("猫咪躺椅😺,口碑+8", lambda: setattr(self,'口碑',min(self.口碑+8,150))),
204+
("邻店倒闭🔥,排队+12", lambda: setattr(self,'排队顾客',min(self.排队顾客+12,40))),
205+
("有人逃单💸,-50元", lambda: setattr(self,'钱',max(self.-50,0))),
206+
]
207+
文字, func = random.choice(事件)
208+
print(f"🚨 {文字}")
209+
func()
210+
211+
def 画地图(self):
212+
clear() # 每次刷新界面都彻底清空历史
213+
print("🏪【网吧大亨】".center(50,"="))
214+
电脑行 = " "
215+
for i in range(self.电脑总数):
216+
if i < self.电脑使用中:电脑行+="💻 "
217+
elif i < self.电脑使用中+self.电脑损坏:电脑行+="🔧 "
218+
else:电脑行+="🖥️ "
219+
print(电脑行)
220+
print("-"*50)
221+
print(f"👥排队:{min(self.排队顾客,40)}/40 👨💻网管:{len(self.网管列表)}/5")
222+
print(f"💰{self.} 🌟口碑{self.口碑} 🎨{self.装修等级}{self.天气}")
223+
print(f"🖥️{self.电脑使用中}/{self.电脑总数} 🥤{self.饮料库存} 💸{self.上网价格}元/时")
224+
print("="*50)
225+
226+
def 开始游戏(self):
227+
while True:
228+
self.画地图()
229+
print("\n1接待 2卖饮 3进货 4买电脑 5招网管")
230+
print("6装修 7会员 8打卡 9事件 10改价")
231+
print("11快进1h 12快进2h 13快进3h")
232+
print("14存档 15读档 0退出")
233+
选择 = input("\n选择:").strip()
234+
235+
# 每次操作前先清屏,只显示结果
236+
clear()
237+
if 选择=="1":self.接待顾客()
238+
elif 选择=="2":self.卖饮料()
239+
elif 选择=="3":self.进货饮料()
240+
elif 选择=="4":self.买电脑()
241+
elif 选择=="5":self.招募网管()
242+
elif 选择=="6":self.升级装修()
243+
elif 选择=="7":self.发展会员()
244+
elif 选择=="8":self.每日打卡()
245+
elif 选择=="9":self.突发事件()
246+
elif 选择=="10":
247+
try:
248+
新价=int(input("新价(1-40):"))
249+
if 1<=新价<=40:self.上网价格=新价
250+
except:pass
251+
elif 选择=="11":self.时间流逝()
252+
elif 选择=="12":self.快进2小时()
253+
elif 选择=="13":self.快进3小时()
254+
elif 选择=="14":self.生成存档码()
255+
elif 选择=="15":self.读取存档码()
256+
elif 选择=="0":
257+
clear()
258+
print("👋 再见!")
259+
break
260+
input("\n回车继续...")
261+
262+
if __name__ == "__main__":
263+
游戏 = 网吧大亨终极版()
264+
游戏.开始游戏()

0 commit comments

Comments
 (0)