逆转裁判1

Infinity第二作,好玩

适配设备:Pro

作者:infinity_man

下载量:22 · 点赞:0

可信源码风险提示:保存或下载前请阅读源码和权限声明。
SHA-256add8a8087b73e816252c7acb83f0ae8ab3aa548c84b5caa21ee84a478ec64d04

ui.showHeader(false)
let u
let m=["","???","成步堂","千寻","矢张","亚内","裁判长","山野"]
let ts=false
let f=[
["律师徽章","能证明我身份的重要徽章",0],
["高日美佳的解剖记录","死者于下午4时至5时被钝器击中头部死亡",0],
["《沉思者》","一个沉思者模样的摆件,其实是个钟,扭动会报时,是凶器",0],
["死者的护照","死者在案发前一天还在美国",0],
["停电记录","当天一下午公寓都处于停电状态",0],
]


if(ts==true){
for (let i = 0; i < f.length; i += 1) {
g(i)
}
}


function g(q,q1) {
console.log("get"+q)
f[q][2]=1
if(q1!=u){
a(["获得证物“"+f[q][0]+"”"],q1)
}
}
function it(q,q1,q2){
let qz=[]
for (let i = 0; i < f.length; i += 1) {
if(f[i][2]==1){
let qc
if(q==1) qc=ui.button("出示",()=>{q1(i)},{background:"#000000"})
qz.push(
ui.column([
ui.spacer(5),
ui.column([
ui.heading(f[i][0],{color:"#aaddff"}),
ui.text(f[i][1]),
qc
],{padding:16,radius:16,background:"#20252a"}),
]))
}
}
ui.render(() => [
ui.column([
ui.column([ui.row([ui.button("<",()=>{q1(null)},{size:36,tone:"neutral"}),ui.text(),
ui.button("证物","",{size:36,background:"#003355",color:"#ffffff"}),]),
ui.divider({color:"#ffffff"})
],{background:"#004466",padding:16,radius:16}),
ui.column(qz),
ui.spacer(100),
ui.spacer(100),
ui.spacer(100)
],{background:"#aaddff",radius:15,padding:5})
])
ui.scrollTop()
}



function c(q1){
let q=[
"#ffffff",
"#00ff00",
"#aaddff",
"#ff0000",
]
return q[q1]
}
let z=1
let zj=[0]
function zcd(){
ui.render(() => [ui.column([
ui.text(),
ui.row([ui.heading("逆转",{width:155,size:36,color:"#88bbdd",align:"right"}),ui.heading("裁判",{width:91,size:36,color:"#aaddff"})
],{background:"#"}),
ui.text("成步堂 龙一的冒险\n ",{align:"center",color:"#ffffaa"}),
ui.spacer(60),
ui.spacer(100),
//ui.spacer(0),
ui.row([

ui.button("游玩第"+z+"章",j,{color:"#",background:"#131313",size:36}),
],{background:"#131313"}),
ui.text(),
],{background:"#111111",radius:45})
])
}

function die(){
ui.render(() => [
ui.column([
ui.text("\n你失败了\n\n\n\n\n\n ",{align:"center",size:36}),
ui.spacer(5),
ui.button("主页面 ",zcd,{tone:"danger",size:36}),ui.text("")
],{background:"#ff5566",radius:45})
])
}



















function x(q3,q1,q2){
for (let i = 0; i < q1.length; i += 1) {
q1[i]={label:q1[i],value:i}
}
dialog.select({title:" ",message:q3,items:q1})
.then(q=>{
console.log(q)
if(q==null){x(q3,q1,q2)}
a(["你选择了"+q1[q.value].label],q2[q.value])
})
}




function a(q,q1,d,q2,qm,qc,qa){
let qq=(qd)=>{
if(qd==u) qd=0
return qt[q4][qt[q4].length-1+qd]
}
let q4=0
if(q2==u){
q2=0
qc=c(0)
qm=""
}

console.log(q[q2])
let qt=[""]
let qz=""
if(typeof q[q2]!=="number"&q[q2][0]!="#"){
for (let i= 0; i<q[q2].length; i+= 1) {
if(q[q2][i]!="|"){
if(q[q2][i]!="{"&&q[q2][i]!="}"){
qz+=q[q2][i]
}
}else{
for(let o=0;o<5;o++){
qt.push(qz)
}}
if(q[q2][i]!='\n') qt.push(qz)
if(q[q2][i]=="}") qz=""
}
let q3=()=>{
let zd=()=>{
//console.log(qq())
if(qt[q4]!=qt[q4-1]&qq()!="{"&qq()!="\n"){
system.vibration.vibrate({mode:"short"})
}
}
let qb=(qll)=>{

q2-=qll
if(q2<q.length){
a(q,q1,d,q2,qm,qc,qa)
}else if(q1!==u&d==u){
q1()
}else{
if(d==u) console.error("ERROR!\nq2=="+u)
}
}
let b=ui.row([ui.button("   ","",{background:"#ffffff",size:36}),ui.button("","",{background:"#ffffff"})])
ui.render(()=>[ui.column([
ui.spacer(100),
ui.spacer(45),
ui.text("\n\n\n "+qm,{color:"#005599",size:36,align:"cener"}),
ui.column([
ui.text(qt[q4],{align:"cener",color:qc,size:20}),
],{background:"#30353a",padding:16,radius:0}),
b,
//ui.text("\n\n ")
],{background:"#ffffff",radius:45})
])
zd()
ui.scrollBottom()
if(q[q2][q4]=="{"){
system.vibration.vibrate({mode:"long"})
}
setTimeout(() => {
if(q4<qt.length-1){
q4++
q3()
}else{
q2++
if(d==u){
b=ui.row([
ui.button("证物",()=>it(u,()=>{q2--;q3()}),{size:30,background:"#ffffff",color:"#cdcdff"}),


ui.button("确认",()=>{
qb(0)
},{size:30,background:"#ffffff",color:"#cdcdff"})])}

if(d!==u){
b=ui.row([
ui.button("上句",()=>{
if(typeof q[q2-2]!="number"&q[q2-2][0]!="#"&q2>0) qb(2)
},{size:30,background:"#ffffff",color:"#000000"}),

ui.button("举证",()=>it(1,(idx)=>{
console.log(q2)
if(idx!==null){
console.log("damage"+idx)
if(idx==d[0]&q2-1==d[1]){
q1()
}else{
a([
2,
"异议!",
"我认为这件证物\n与这句证言有矛盾!",
6,
"辩方律师,你认为有何矛盾啊?",
2,
"似乎没有矛盾...",
6,
"请不要随意举证!",
2,
c(2),
"(深思熟虑后再举证...!)"
],()=>{q2--;q3()})
}
}else{
q2--
q3()
}
}),{size:30,background:"#ffffff",color:"#000000"}),



ui.button("下句",()=>{
qb(0)
},{size:30,background:"#ffffff",color:"#000000"})])

}
ui.refresh()
}
},70)
}
q3()
}else{
if(typeof q[q2]=="number") qm=m[q[q2]]
if(q[q2][0]=="#") qc=q[q2]
if(q4<q.length-1){
a(q,q1,d,q2+1,qm,qc,qa)
}}
}



function j(){
let q=(q2)=>{q1[q2]()}
let q1=[
() => {
a([
0,
c(1),
"本游戏为Infinity开发,不使用AI|\n系同人游戏,无商用,改编自卡普空《逆转裁判1》的第一章。",
1,
c(0),
"呼啊...||呼啊...",
"怎么,||怎么会这样!",
0,
"地上躺着一具尸体",
1,
"我...||我可不想被捕!",
"得赶快...|找个替死鬼!",
"对了...||门外那家伙...",
"就让他...|||}来顶替我的罪名吧!!",
],()=>q(1))},


()=>{
g(0)
g(1)
a([
0,
c(1),
"8月3日|·|9时47分|\n法|院|休|息|室|",
2,
c(2),
"(唔...||好紧张啊...)",
c(0),
1,
`${m[2]}君?||你在发什么呆?`,
2,
"啊!|原来是千寻所长",
c(2),
"(我叫成步堂 龙一,||\n是一名新人律师)",
c(0),
3,
"呼——|}第一次登上法庭为人辨护的感觉如何?",
2,
"自从那次“班级审判”就没接触法庭...",
3,
"这样啊...",
1,
c(1),
"{让{我{死{啊!",
"没有那女人我比死{了还难受!",
2,
c(0),
"矢张你在吵什么?!",
4,
"呜...",
3,
"这个吊儿郎当的人是谁啊?",
2,
"他是这次的被告,是委托人,是我的发小,叫矢张 政志",
3,
"你要给这家伙辩护?|}为什么?",
2,
"我欠了他一个大大的人情",
3,
"哦,|对了,|}这家伙的女友是被害者",
"点“证物”可以看证物,|多看看证物哦!",
"时间不早了,|我们要去庭审了!",
],()=>q(2))
},



() => {
a([
c(1),
"同日|·|十点整|\n第三法庭",
c(0),
"喧哗声——",
6,
"肃静!",
"现在开始审理矢张 政志一案",
"检方是否准备完毕?",
5,
"检方准备好了",
"我是亚内检察官|\n被称为“新人律师粉碎机”",
6,
"辨方是否准备完毕?",
2,
"准...|准备好了!",
6,
"这次案件请检方描述",
5,
"这次案件发生在一栋公寓",
"死者叫高日 美佳,|\n凶器是沉思者摆件",
],()=>g(2,()=>q(3)))
},



()=>{
a([
6,
"请被告站上证人席",
5,
"被告你为什么杀害你的女友?",
4,
"才...|才没有!}我和美佳\n可是本世纪最恩爱的情侣!",
5,
"事实真的是这样吗?",
"高日 美佳其实有很多“干爹”",
"她靠“干爹”的钱度日,|\n前几天还去美国旅游,|\n她带你去了吗?",
4,
"这个臭女人...|}我要去天国问她!{!{!{{{",
5,
"案发当天还停电了,|\n我手上有一份记录",
6,
"请把死者的护照\n和停电记录加入“证物”",
5,
"好的"
],()=>g(3,()=>g(4,()=>q(4))))
},



()=>{
a([
5,
"检方还带来了一位证人|\n他目击了现场",
"请证人入庭!",
7,
"大家好",
5,
"证人,|名字与职业",
7,
"我叫山野 星雄,|\n是报纸推销员",
"我目击了被告行凶后连忙逃走!",
6,
"那请证人证言关于“目击”,|\n辨方律师请“询问”",
2,
"千寻所长,|“询问”是什么?",
3,
"“询问”指对证人的证言询问\n用手上的证物指出证言的矛盾",
"在询问的时候\n跳转到你认为与证物有矛盾的语句\n出示相关的证物",
2,
"我...|会全力以付的!",
0,
c(3),
"询问开始",
"~关于目击到的~",
],()=>q(5))
},


()=>{
a([
c(1),
7,
"我记得那天我在进行报纸推销",
"突然有个男人从一个房间\n慌慌张张的跑出来了",
"我凑近看那个房间",
"我的天啊,\n有个女人死在里面!",
"我吓得没敢进去,\n就去其他地方报警了",
"时间我记得很清楚,\n是下午两点钟"
],()=>q(6),[1,7])
},



()=>{
a([
2,
"{异议!",
"证人...!",
7,
"怎...怎么了?",
2,
"你说你的发现时间是下午2点?",
"可解剖记录上\n却是4时至5时死亡",
"为什么有2小时的空档?",
5,
"异议!",
"证人可能记错了",
"请让他证言“关于案发的时间”",
7,
"是我记错了",
"请给我再证言一遍",
6,
"那请你开始证言吧",
0,
c(3),
"询问开始",
"~关于案发的时间~",
],()=>{q(7)})
},

()=>{
a([
7,
c(1),
"错误的时间不是我看到的,\n是我听到的",
"当时屋内可能是\n受害者正在看电视",
"但如果是电视的话,\n时间就不会差两个小时",
"可能是被害者当时在看录像带",
"所以时间才晚了两个小时",
],()=>q(8),[4,5])
},

()=>{
a([
2,
"{异议!",
"当时被害者不可能在看录像带!",
5,
"异议!",
"你有什么证据说明\n当时被害人没有在看录像带?",
2,
"这个是案发时的停电记录",
"案发的时候已经停电了,\n所以被害者不可能看录像带!",
5,
"啊!",
"可...可能...",
"证人!你为什么在撒谎!",
7,
"因..因为",
"啊啊啊啊{!{!{!",
"你为什么\n要对这些小事情吹毛求疵!",
"我还可以再证言一次...",
6,
"那请你证言“关于错误的时间”",
0,
c(3),
"询问开始",
"~关于错误的时间~",
],()=>q(9))
},



()=>{
a([
7,
c(1),
"真的非常抱歉,\n一直给你们错误的证言",
"可是我看到的时间确实是两点钟",
"现场不是有个钟吗?\n就是那个凶器",
"我是看那个凶器才知道时间是两点钟的",
"我确实没有进房间",
"真的非常抱歉...",
],()=>q(10),[2,5])
},




()=>{
a([
2,
"{异议!",
"证人,你看看这个凶器呢?",
7,
"又怎么了?",
2,
"这个凶器,也就是这个沉思者\n如果不仔细端详,是不能报时的",
5,
"我有异议",
"那这个钟是怎么报时的呢?",
2,
"看我扭动这个钟",
0,
c(1),
"我猜现在是\n|9:25分",
c(0),
2,
"亚内检察官,\n现在的真实时间是?",
5,
"现在的真实时间是11:25,\n这个钟确实晚了两个小时",
7,
"你看吧,我都没说错!",
2,
"你确实没说错,|\n但是这个钟只有扭动才能报时",
"所以说只有你拿着这个钟的时候,它才会响",
"你只有在当时进入到这个房间,|\n你才可以碰到这个钟",
"也就是说,你{是{凶{手{!{",
7,
"怎么会...}那如果案发当时这个钟没有晚两个小时呢?",
],()=>{q(11)})},


()=>{
a([
6,
"是啊,|\n你有什么证据来表明他在案发的时候也是晚了两个小时?"
],()=>q(12),[3,1])
},



()=>{
a([
2,
"{看招!",
"这是死者生前的护照",
"他当时在美国纽约,\n美国纽约的时间比日本相差14小时",
"也就是说,|\n日本下午4点刚好是美国凌晨两点",
"死者在公寓忘记把钟调回来|\n才会晚两个小时!",
7,
"怎么会...}怎么可能...}不可能!...}啊{啊{啊{啊{啊{啊{啊!!!!{",
"我承认了...",
"人确实是我杀的..",
5,
"完蛋了...",
6,
"看来这起的案件已经水落石出了",
"是证人山野星雄当天潜入被害者的住宅",
"然后杀害了被害者",
"现在宣布对矢张 政治的判决",
0,
"{|无{|罪{!",
c(1) ,
"下午1:30|\n法庭休息室",
c(0),
3,
"成步堂君,你很出色的第一次为委托人完成了任务!",
2,
"真正的凶手山野星雄好像是经常进入别人家盗窃的惯犯",
"那天被害者刚刚好回到了屋子里,|\n山野就把他杀害了",
4,
"这个臭女人敢骗我感情...",
2,
"矢张,如果被害者真的欺骗你感情的话",
"那他就不会带凶器去美国了",
0,
"成步堂第一次赢得了辩护。",
"逆转裁判第一章|完!",



],zcd)





}
]
ui.render([ui.text("Loading...")])
setTimeout(()=>{q(zj[z-1])},200)
}
zcd()