Hop til indhold
Stavox

Malonis matematik spil


Maloni

Recommended Posts

Hejsa folkens, idag udgiver jeg mit nye projekt som jeg oprindelig lavede for at forbedre mit hovederegning, bare en 30 minutters tid om dagen med denne e2 burde hjælpe en del til dem der døjer med matematik
Der er ikke division i e2en siden nogen af svarene er mange komma tal og kan ikke udregnes i hovedet, dette er også et lille eksperiment til at lege med lidt e2 og koden er lidt rodet så hvis du har nogle spørgsmål til koden eller vil bare gerne lære lidt mere omkring hvad de forskellige ting gør så bare kommenter og så skal jeg nok svare

Glemte at sige at man svarer via at skrive i chatten
 

Spoiler

@name matematik spil
@inputs E:wirelink U:entity 
@outputs 
@persist CurTime1 CurTime2 Time T Ans UAns Question:string Num1 Num2 TotalTime Rounds EndMoney S CU:entity
@trigger 

if(first()){
 EndMoney
 runOnChat(1)
 function number wirelink:egpButton(Idx:number,Ply:entity){
 TL = This:egpPos(Idx) - This:egpSize(Idx) / 2 * (0 ? 0 : 1)
 BR = This:egpPos(Idx) + This:egpSize(Idx) / (0 ? 1 : 2)
 Cur = This:egpCursor(Ply) return inrange(Cur, TL, BR) exit()
 }
 function wirelink:textFormat(Idx:number, Size:number){
 This:egpAlign(Idx, 1, 1) This:egpFont(Idx, "Courier New", Size) 
 }
 S=0
 function wirelink:menu(){
 This:egpClear()
 S=1
 This:egpText(1, "Malonis Nummer spil", vec2(256, 100)) E:textFormat(1,40) 
 This:egpText(2, "Se hvor hurtig du er til matematik", vec2(256, 130)) E:textFormat(2,15)
 This:egpText(3, "E2en er lavet af Maloni og kan findes p"+aa()+" forum", vec2(256, 160)) E:textFormat(3, 15)
 This:egpText(4, "Begynd", vec2(256, 200)) E:textFormat(4, 30)
 This:egpBox(5, vec2(256, 256), vec2(50, 50)) This:egpMaterial(5, "data/stavox/images/mdicons_32_play_circle_filled.png")
 This:egpText(6, "Skriv i chatten dit svar", vec2(256, 356)) E:textFormat(6, 40)
 }
 
 function wirelink:end(){
 This:egpClear()
 Rounds=0
 This:egpText(1, "Det var det!", vec2(256, 256)) E:textFormat(1, 40)
 This:egpText(2, "Du brugte: "+TotalTime+" sek. ialt", vec2(256, 310)) E:textFormat(2, 30)
 TotalTime = 0
 timer("home",5000)
 }
 
 function genQuestion(){
 T=randint(1,2)
 switch(T){
 case 1,
 Num1=randint(1,99)
 Num2=randint(1,99)
 Question=Num1:toString()+" + "+Num2:toString() 
 Ans=Num1+Num2
 E:egpSetText(2, Question) 
 CurTime1=curtime()
 break
 
 case 2,
 Num1=randint(1,10)
 Num2=randint(1,10)
 Question=Num1:toString()+" * "+Num2:toString() 
 Ans=Num1*Num2
 E:egpSetText(2, Question) 
 CurTime1=curtime()
 break
 } 
 }
 
 function checkAns(){
 if(UAns == Ans){
 if(Rounds==3){E:end()}else{
 CurTime2=curtime() 
 Time=CurTime2-CurTime1
 TotalTime=TotalTime+Time
 Rounds=Rounds+1
 E:egpSetText(3, "Tid: "+Time:toString()+" sek.")
 E:egpMaterial(4, "data/stavox/images/mdicons_128_check_circle.png")
 timer("reset", 5000)
 }
 }else{E:egpMaterial(4, "data/stavox/images/mdicons_128_remove_circle.png")} 
 }

 function wirelink:menu1(){
 S=2
 This:egpClear()
 This:egpBoxOutline(1, vec2(256, 200), vec2(300, 50))
 This:egpText(2, Question, vec2(256, 200)) E:textFormat(2, 40)
 This:egpText(3, "Tid:", vec2(256, 256)) E:textFormat(3, 40)
 This:egpBox(4, vec2(256, 300), vec2(50, 50)) This:egpMaterial(4, "data/stavox/images/misc_circle.png")
 This:egpBox(5, vec2(55, 55), vec2(50, 50)) This:egpMaterial(5, "data/stavox/images/mdicons_128_reply_all.png")
 genQuestion()
 timer("autoLogout", 3000)

 } 
 E:menu()
}

 if(E:egpButton(5, U) & ops()<200){
 if(S==1){
 CU=U
 E:menu1()
 print(CU:name())
 }
 }

 if(E:egpButton(5, CU) & ops()<200){
 if(S==2){
 E:menu()
 CU=noentity() 
 } 
 }

 if(clk("reset")){
 E:egpMaterial(4, "data/stavox/images/misc_circle.png")
 E:egpSetText(3, "Tid:")
 genQuestion()
 }

if(lastSpoke() == CU && chatClk(CU)){
 A=CU:lastSaid():explode(" ")
 UAns=A[1, string]:toNumber()
 checkAns()
 } 

if(clk("home")){
 E:menu() 
}
if(clk("autoLogout")){
 Dist=CU:pos():distance(E:entity():pos())
 if(Dist>125){E:menu()}
 timer("autoLogout",2000)
}
 

 

Link til kommentar

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.