Lv110版本源码上传

This commit is contained in:
西瓜°
2024-11-04 15:00:40 +08:00
parent a6dbccdead
commit e029da72e4
6642 changed files with 131203 additions and 136087 deletions
+82
View File
@@ -0,0 +1,82 @@
from typing import List
class entry:
id = 0
char = None
params = []
tips = []
def __init__(self,char,params=[]) -> None:
self.char = char
self.params = params
self.tips=[]
def 攻击强化(self,list=[]):
return 0
def 火属性强化(self,list=[]):
return 0
def 火属性抗性(self,list=[]):
return 0
def 暗属性强化(self,list=[]):
return 0
def 暗属性抗性(self,list=[]):
return 0
def 光属性强化(self,list=[]):
return 0
def 光属性抗性(self,list=[]):
return 0
def 冰属性强化(self,list=[]):
return 0
def 冰属性抗性(self,list=[]):
return 0
def 攻击速度(self,list=[]):
return 0
def 技能攻击力(self,list=[]):
return 0
class Character:
entry_list:List[entry] = []
def 攻击强化(self,list=[]):
res = 0
for entry in self.entry_list:
res += entry.攻击强化(list)
return res
def 火属性强化(self,list=[]):
res = 0
for entry in self.entry_list:
res += entry.火属性强化(list)
return res
def 火属性抗性(self,list=[]):
res = 0
for entry in self.entry_list:
res += entry.火属性抗性(list)
return res
def 攻击速度(self,list=[]):
res = 0
for entry in self.entry_list:
res += entry.攻击速度(list)
return res
def 技能攻击力(self,list=[]):
res = 0
for entry in self.entry_list:
res += entry.技能攻击力(list)
return res
+52
View File
@@ -0,0 +1,52 @@
def pre_recurrence(func):
def inner(*args,**kwargs):
if args[0].id in args[1]:
return 0
else:
args[1].append(args[0].id)
return func(*args,**kwargs)
return inner
from basic import entry
class entry_0(entry):
id = 0
@pre_recurrence
def 攻击强化(self,list=[]):
if self.char.攻击速度(list) > 1:
return 1000
else:
self.tips.append("攻速不足")
return 500
@pre_recurrence
def 火属性抗性(self, list=[]):
if self.char.火属性强化(list) > 10:
return 10
else:
self.tips.append("火强不足")
return 5
@pre_recurrence
def 火属性强化(self, list=[]):
if self.char.火属性抗性(list) > 10:
return 10
else:
self.tips.append("火抗不足")
return 5
class entry_1(entry):
id = 1
@pre_recurrence
def 攻击强化(self,list=[]):
return 2
@pre_recurrence
def 攻击速度(self,list=[]):
return 1
+10
View File
@@ -0,0 +1,10 @@
from basic import Character
a = Character()
from entry import *
a.entry_list.append(entry_0(a))
a.entry_list.append(entry_1(a))
print(a.火属性强化())
print(a.火属性抗性())
+36
View File
@@ -0,0 +1,36 @@
from signe import createSignal, effect, computed
from signe.types import TSetter, TGetter
from typing import TypeVar, Generic, overload, Union, Callable, cast
T = TypeVar("T")
class Ref(Generic[T]):
def __init__(self, getter: TGetter[T], setter: TSetter[T]) -> None:
self.___getter = getter
self.___setter = setter
@property
def value(self):
return self.___getter()
@value.setter
def value(self, value: T):
self.___setter(value)
class ReadonlyRef(Generic[T]):
def __init__(self, getter: TGetter[T]) -> None:
self.___getter = getter
@property
def value(self):
return self.___getter()
def ref(value: T):
comp = False if isinstance(value, (list, dict)) else None
getter, setter = createSignal(value, comp)
return cast(Ref[T], Ref(getter, setter))
def ref_computed(fn: Callable[[], T]):
getter = computed(fn)
return ReadonlyRef(getter)
+92
View File
@@ -0,0 +1,92 @@
from ref import ref,ref_computed,Ref
from signe import effect, computed
class Character:
# region 属性强化 属性抗性
fireRef:Ref[float]
"""火属性强化"""
fireResistanceRef:Ref[float]
"""火属性抗性"""
waterRef:Ref[float]
"""冰属性强化"""
waterResistanceRef:Ref[float]
"""冰属性抗性"""
lightRef:Ref[float]
"""光属性强化"""
lightResistanceRef:Ref[float]
"""光属性抗性"""
shadowRef:Ref[float]
"""暗属性强化"""
shadowResistanceRef:Ref[float]
"""暗属性强化"""
# endregion
# region 基础属性
strengthRef:Ref[float]
'''力量'''
intelligenceRef:Ref[float]
'''智力'''
vitalityRef:Ref[float]
'''体力'''
spiritRef:Ref[float]
'''精神'''
physicalAtkRef:Ref[float]
'''物理攻击力'''
magicalAtkRef:Ref[float]
'''魔法攻击力'''
independentAtkRef:Ref[float]
'''独立攻击力'''
# endregion
# 速度
movementSpeedRef:Ref[float]
'''移动速度'''
attackSpeedRef:Ref[float]
'''攻击速度'''
castingSpeedRef:Ref[float]
'''施放速度'''
# endregion
def __init__(self):
self.fireRef = ref(.0)
self.waterRef = ref(.0)
self.lightRef = ref(.0)
self.shadowRef = ref(.0)
self.fireResistanceRef = ref(.0)
self.waterResistanceRef = ref(.0)
self.lightResistanceRef = ref(.0)
self.shadowResistanceRef = ref(.0)
@property
def fire(self):
@computed
def _():
return self.fireRef.value + 2
return _()
char = Character()
def entry_0(char:Character):
char.fireRef.value = 19
def entry_1(char:Character):
@effect
def _():
if char.fire < 20:
char.waterRef.value = 10
else:
char.waterRef.value = 20
entry_1(char)
entry_0(char)
print("冰强"+str(char.waterRef.value))
print(char.fire)