Skip to content

Commit 267c6f3

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

1 file changed

Lines changed: 267 additions & 0 deletions

File tree

Lines changed: 267 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,267 @@
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+
# 基础
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

Comments
 (0)