Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string retro;
- integer MAX=0;
- integer max;
- integer counting;
- list cards0;
- list cards;
- show(integer link,string card)
- {
- list l=[ PRIM_TEXTURE,ALL_SIDES,card, <1,1,0>,<0,0,0>,0, PRIM_GLOW, ALL_SIDES, 0.0 ];
- //llOwnerSay((string)link+" "+llList2CSV(l));
- llSetLinkPrimitiveParamsFast(link,l);
- }
- showCard(integer link,string texture)
- {
- llSetLinkPrimitiveParamsFast(link,[ PRIM_TEXTURE,ALL_SIDES,texture, <1,1,0>,<0,0,0>,PI/2, PRIM_GLOW, ALL_SIDES, 0]);
- }
- mischiacarte()
- {
- // cards=[];
- //integer i; for(i=1;i<=16;i++) cards+=llGetInventoryName(INVENTORY_TEXTURE,i);
- list cards_=cards0;
- integer l;
- for(l=0;l<MAX;l++)
- {
- integer residual=llGetListLength(cards_);
- integer random=(integer)llFrand(residual);
- cards+=llList2String(cards_,random);
- cards_=llDeleteSubList(cards_,random,random);
- }
- // cards=cards2; cards2=[];
- }
- integer status=0; string savevalue; integer savelink;
- integer starttime;
- string avatar;
- integer connected(string a,string b)
- {
- integer la=llListFindList(cards0,a);
- integer lb=llListFindList(cards0,b);
- integer rowa=la/2*2;
- integer rowb=lb/2*2;
- // llSay(0,"rowa: "+(string)rowa+" rowb: "+(string)rowb);
- if(rowa==rowb) return 1;
- return 0;
- }
- default
- {
- state_entry()
- {
- cards0=[
- "e4733907-206b-456b-9915-b0c03e3286ec","e4733907-206b-456b-9915-b0c03e3286ec",
- "eef451af-169b-4355-a07d-572b4f82996b","eef451af-169b-4355-a07d-572b4f82996b",
- "f6d3a14f-3799-4238-b68c-b5863e77a1e0","f6d3a14f-3799-4238-b68c-b5863e77a1e0",
- "70a25655-08ae-4c5f-a0de-8ec39b60b215","70a25655-08ae-4c5f-a0de-8ec39b60b215",
- "f5d2b8a6-b33e-4de9-9d38-5a531c0129ad","f5d2b8a6-b33e-4de9-9d38-5a531c0129ad",
- "236921f4-e7d2-426d-ba31-e65099932546","236921f4-e7d2-426d-ba31-e65099932546",
- "d58c5b52-d34c-4991-a8d6-c18d5d323675","d58c5b52-d34c-4991-a8d6-c18d5d323675",
- "b07e220a-cfc8-4867-8621-27ea885554fb","b07e220a-cfc8-4867-8621-27ea885554fb",
- "0762c399-7830-4756-830e-f4bc3c025f14","0762c399-7830-4756-830e-f4bc3c025f14",
- "90f13c7a-e461-4056-84c1-be97508b92d9","90f13c7a-e461-4056-84c1-be97508b92d9",
- "530f6e1c-f298-453e-918a-5f442f1a4afb","530f6e1c-f298-453e-918a-5f442f1a4afb",
- "547d3176-9eb8-4857-8326-efd7c0891264","547d3176-9eb8-4857-8326-efd7c0891264",
- "547d3176-9eb8-4857-8326-efd7c0891264","547d3176-9eb8-4857-8326-efd7c0891264",
- "fc7b68d5-bb67-4a44-857e-5148bccafa6d","fc7b68d5-bb67-4a44-857e-5148bccafa6d",
- "9d99c8c9-14b0-471c-8313-59a07233a750","9d99c8c9-14b0-471c-8313-59a07233a750",
- "5f1c950f-054e-4bf1-b6b9-a9b0afa43fc2","5f1c950f-054e-4bf1-b6b9-a9b0afa43fc2",
- "404821c4-0199-44ca-85a8-5df45a8e1763","404821c4-0199-44ca-85a8-5df45a8e1763",
- "abd527ee-ecf5-4161-b28d-7ef4cc9accde","abd527ee-ecf5-4161-b28d-7ef4cc9accde",
- "eded66bb-33d4-449e-8fe5-93685fab3c4f","eded66bb-33d4-449e-8fe5-93685fab3c4f",
- "998b1bb3-a5e9-484d-aaec-5af6153c8e14","998b1bb3-a5e9-484d-aaec-5af6153c8e14",
- "5c9b1ab4-0dc0-4f04-8049-85eda2bcce4a","5c9b1ab4-0dc0-4f04-8049-85eda2bcce4a",
- "f11ac3e7-0b55-49b6-be47-7d3981cd3504","f11ac3e7-0b55-49b6-be47-7d3981cd3504",
- "75f332ee-e6e0-4967-8b7f-aa1d08b55f36","75f332ee-e6e0-4967-8b7f-aa1d08b55f36",
- "06e92ab9-6562-49ad-a197-eb0051e0d051","06e92ab9-6562-49ad-a197-eb0051e0d051",
- "c12d1fa5-3a1d-4abc-9f8e-621b7e14d57a","c12d1fa5-3a1d-4abc-9f8e-621b7e14d57a",
- "fe298526-6e17-4533-a163-33a77765659f","fe298526-6e17-4533-a163-33a77765659f",
- "18889286-ddf0-48f2-95b5-b955417d6a44","18889286-ddf0-48f2-95b5-b955417d6a44",
- "dec7b622-b4a6-49ab-b9eb-34a4ebd2a0e4","dec7b622-b4a6-49ab-b9eb-34a4ebd2a0e4",
- "375ac268-a76d-4203-a7a8-4b67f3e5a0df","375ac268-a76d-4203-a7a8-4b67f3e5a0df",
- "8ff97362-f63e-4197-b4cc-a01d509fff2c","8ff97362-f63e-4197-b4cc-a01d509fff2c",
- "d779e296-617a-4946-8b47-ccbcfe820978","d779e296-617a-4946-8b47-ccbcfe820978",
- "1ff10d0f-37de-402d-b591-23e351a02745","1ff10d0f-37de-402d-b591-23e351a02745",
- "7e87f115-adff-479a-ad5e-b7ee0ef4773e","7e87f115-adff-479a-ad5e-b7ee0ef4773e",
- "052b23ec-5aef-4d7d-9b4a-0e459a409045","052b23ec-5aef-4d7d-9b4a-0e459a409045",
- "a82c7626-07ad-4ddb-be4a-40a810e196d7","a82c7626-07ad-4ddb-be4a-40a810e196d7",
- "8fb216ed-d9e5-4548-8fa1-08ea5499637c","8fb216ed-d9e5-4548-8fa1-08ea5499637c",
- "83b42186-bb7e-4e63-95ba-fb009d5fa1df","83b42186-bb7e-4e63-95ba-fb009d5fa1df",
- "28999ddf-152d-40c2-bdd1-e6cea1fa14f8","28999ddf-152d-40c2-bdd1-e6cea1fa14f8",
- "0af2b216-32d1-451f-935a-ce37b55c1a21","0af2b216-32d1-451f-935a-ce37b55c1a21",
- "b0325fb9-dfc8-4a71-97ea-849fa0bd965c","b0325fb9-dfc8-4a71-97ea-849fa0bd965c"
- ];
- llSay(0,"Reset"); MAX=llGetNumberOfPrims();
- retro=llGetInventoryName(INVENTORY_TEXTURE,0);
- mischiacarte(); max=MAX;
- integer i;
- integer j;
- for(i=0;i<MAX;i++){
- // llSay(0,(string)i);
- // showCard(i+1,llList2String(cards,i));
- showCard(i+1,retro);
- //llSleep(0.1);
- }
- // showbitmap();
- }
- touch_start(integer count)
- {
- avatar=llDetectedName(0);
- llSay(0,avatar +" inizia il gioco");
- state gioca;
- }
- }
- state gioca
- {
- state_entry()
- {
- llSetTimerEvent(60);
- starttime=llGetUnixTime();
- status=0;
- }
- timer()
- {
- llSay(0,avatar+" non sta giocando da più di 60 secondi... Mi libero per un altro giocatore");
- llResetScript();
- }
- touch_start(integer count)
- {
- llSetTimerEvent(60);
- integer link=llDetectedLinkNumber(0);
- string value=llList2String(cards,link-1);
- // llOwnerSay("value: "+value);
- if(value=="") {
- llSay(0,"Carta già scoperta");
- return;
- }
- if(status==0)
- {
- // llOwnerSay("status 0");
- show(link,value);
- status=1; savevalue=llList2String(cards,link-1); savelink=link;
- }
- else if (link!=savelink)
- {
- // llOwnerSay("status "+(string)count);
- show(link,llList2String(cards,link-1));
- llSleep(1);
- status=0;
- string newvalue=llList2String(cards,link-1);
- counting++;
- if(connected(newvalue,savevalue)==1){
- // llSay(0,"Indovinato");
- max-=2;
- cards=llListReplaceList(cards,[""],link-1,link-1);
- cards=llListReplaceList(cards,[""],savelink-1,savelink-1);
- llSetLinkPrimitiveParamsFast(link,[PRIM_GLOW,ALL_SIDES,0.1]);
- llSetLinkPrimitiveParamsFast(savelink,[PRIM_GLOW,ALL_SIDES,0.1]);
- if(max<=0)
- {
- llSay(0,avatar +" ha Finito il quiz in "+(string)(llGetUnixTime()-starttime+" secondi numero di mosse: "+(string)counting));
- llSleep(3); llResetScript(); return; }
- }
- else
- {
- counting++;
- // llOwnerSay("Sbagliato");
- showCard(savelink,retro); showCard(link,retro);
- status=0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement