// after days of work.. therandom funktion is awesome but cant add enough funtctions so buildet full color for rgb.. making video // \/ die longs \/ long allcount = millis(); long dimmcount = millis(); long allfcount = micros(); // \/ pinns \/ #define tatder1 PB12 #define tatder2 PB13 #define tatder3 PB14 #define tatder4 PB15 #define tatder5 PA8 #define rot PA10 #define grun PA9 #define blau PA2 #define weisa PA3 #define weisb PA6 //links #define ffuv PB9 //front led uv #define ffblau PB8 //front led blau #define ffgrun PB7 //front led grün #define ffgelb PB6 //front led gelb #define ffrot PB5 //front led rot // /\ pins /\ // \/ fading zeitcounter +zeugs\/ int fcount1 = 0; int fcount2 = 0; int fcount3 = 0; int fcount4 = 0; int fcount5 = 0; int duty1 =100; int duty2 =0; int duty3 =0; int duty4 =0; ; int duty5 =10; int dutyfuv=0; ;int dutyfblau=0; int dutyfgrun; int dutyfgelb =0; int dutyfrot =0; int lowcount1 = 0; int co1 =10; int col1 =3; int lowcount2 = 0; int co2 =20; int col2 =3; int lowcount3 = 0; int co3 =20; int col3 =3; int lowcount4 = 0; int co4 =10; int col4 =3; int lowcount5 = 0; int co5 =10; int col5 =3; int delayy = 0; int delayyy = 0; int delayyc = 0; int delayyf = 0; int delayyyf = 0; int delayycf = 0; int chaos =100; int chaos2 =0; int dtmaxr =10; int dtmaxg =10; int dtmaxb =10; int dtminr =200;int dtming =200; int dtminb =200; int maxblinkr =99; int maxblinkg =100; int maxblinkb =101; int minblinkr =10; int minblinkg =10; int minblinkb =10; int maxblinkw =45; int minblinkw =0; int mixmixc =0; int mixmixt =0; // \/ sensor bdieninits \/ int ttw1 =0; int ttw2 =0; int ttw3 =0; int ttw4 =0; int ttw5 =0; int lr1 =0; int licht =0;int lcount1 =0; int lichtan =0; int merk=0; int merk2=0; int prescount =0; int prescount2 =0; #define LDR PA1 // /\ licht sensor inits /\ // \/ die front \/ int fuvc=0; int fuvt=6; int fblauc=0; int fblaut =6; int fgrunc =0; int fgrunt =6; int fgelbc =0; int fgelbt=6; int frotc =0; int frott=6; int fuv =0; int fbl =0; int fgr =0; int fge =0; int fro =0; int frontrunter =1; int lauf =0; int laufa =1; int lauft =0; int laufc =0; int lboost =4; int laufm =0; int insmax =150; int inimmin =70; int cxs =0; int cmax =0; int zahl2 =0; int zahl =0; int fkl =0; int fadermax =0; int mame =0; int numtx =11; int regic1 =0; int regic2 =0; // \/ arrays \/ int upfader[3] = {0,2,4}; int downfader[3] = {1,3,5}; int upfaderspeed[3]= {10,12,14}; int downfaderspeed[3]= {11,13,15}; int upfadekurve[3]={16,17,18}; int randomy[22]; int randomy2[22]; int cachka[50]; // /\ arrays /\ int und =0; int undmerk =0; int undmax=3; int xw =0; int xws =0; int xwa =0; // \/ farbspiel zeitcounter\/ int tiemes1 =0; int tieme1 =100; int tiemes2 =0; int tieme2 =100; int tiemes3 =0; int tieme3 =100; int tiemes4 =0; int tieme4 =100; int tiemes5 =0; int tieme5 =100; int tiemes6 =0; int tieme6 =100; int tiemes7 =0; int tieme7 =100; int tiemes8 =0; int tieme8 =100; int tiemes9 =0; int tieme9 =100; int tiemes10 =0; int tieme10 =100; int tiemes11 =0; int tieme11 =100; int tiemes12 =0; int tieme12 =100; int tiemes13 =0; int tieme13 =100; int tiemes14 =0; int tieme14 =100; int tiemes15 =0; int tieme15 =100; int tiemes16 =0; int tieme16 =100; int tiemes17 =0; int tieme17 =100; // /\ farbspiel zeitcounter /\ // \/ kombinationen zeitcounter \/ int setzt1= 0; int setzc1 =100; int setzt2= 0; int setzc2 =100; int setzt3= 0; int setzc3 =100; int setzt4= 0; int setzc4 =100; int setzt4f= 0; int setzc4f =100; int setzt5= 0; int setzc5 =100; int setzt6= 0; int setzc6 =100; int setzt7= 0; int setzc7 =100; int setzt8= 0; int setzc8 =100; int setzt9= 0; int setzc9 =100; int setzt10= 0; int setzc10=100; int setzt11= 0; int setzc11=100; int setzt12= 0; int setzc12=100; int setzt13= 0; int setzc13=100; int setzt14= 0; int setzc14=100; // /\ kombinationen zeitcounter /\ int mix =0; int mixw =0; int setz =0; int setz2 =0; int mixmix =0; int setzpause=0; int nodark =0; int mixf =0; //die veränderbaren int almil =50; int sensy =2000; //lichtsensorstartewert höher = empfindlicher int almaxtieme =40; //wichtig einstellbare zeit zeinzelfarbeffektzeit für alle int almintieme =20; //wichtig einstellbare zeit zeinzelfarbeffektzeit für alle int almaxtiemew =20; int almillismax = 80; //alle millis max int almillismin = 10; //alle millis min int alldimmspeed = 2; //millis für alle dfader int laust =4; //damit weniger aus zufall addung bis aus int dtmax =1; //maximale zeit zum zufall hochtdimmen **dt in andere millis int dtmin =1; //maximale zeit zum zufall runtertdimmen int dtmaxgesmax =100; //maximale zeit zum zufall hochtdimmen int dtmaxgesmin =50; //minimale zeit zum zufall hochdimmen int cominp =1; //speed dimm add langsammer int comaxp =2; //speed dimm add langsammer int comins =1; //speed dimm add schneller int comaxs =2; //speed dimm add schneller int zudunkel = 10; //duty ladung wennalle farben dunkler sind wird nächstes progammspiel vorgezogen int RGB =0; //gegenbogenfarben start mit rot =0; ende =906 =rot int light =150; //helligkeit 0= aus, 150 =max void setup() { pinMode(tatder1, INPUT); pinMode(tatder2, INPUT); pinMode(tatder3, INPUT); pinMode(tatder4, INPUT); pinMode(tatder5, INPUT); pinMode(blau, OUTPUT); pinMode(rot, OUTPUT); pinMode(weisa, OUTPUT); pinMode(weisb, OUTPUT); pinMode(grun, OUTPUT); pinMode(ffuv, OUTPUT); pinMode(ffblau, OUTPUT); pinMode(ffgrun, OUTPUT); pinMode(ffgelb, OUTPUT); pinMode(ffrot, OUTPUT); } void loop() { if (lichtan == 0 ) { party(); } //wenn tuer zu if (lichtan == 1 ) { opendoor(); } //wenn tuer offen ist undlos(); } void party(void) { spiel(); spielwechsel(); } void opendoor(void){ // fuv =1; fbl =1; fgr=1; fge =1; fro =1; regic1=1; maxblinkw =146; co1 =20; co2 =21; co3 =22; co4 =23; co5 =24; numtx=12; xws =9;/* duty1=150; duty2=149; duty3=148; duty4=147; duty5=146; */ } void undlos(void) { kontrollzeugs(); nutzkontrollzeugs(); langsammerzeugs(); chaoszeugs(); weiszeugs(); dimmzeugs(); weisspiele(); farbspiele(); frontzeugs(); nichtanbleiben(); ausgabezeugs(); } void kontrollzeugs(void) { //taster +sensor abfrage if (digitalRead(tatder1) == HIGH) { ttw1 =2; col5=1;} if (digitalRead(tatder1) == LOW) { ttw1 =0; } if (digitalRead(tatder2) == HIGH) { ttw2 =2; col1=1;} if (digitalRead(tatder2) == LOW) { ttw2 =0;} if (digitalRead(tatder3) == HIGH) { ttw3 =2; col2=1;} if (digitalRead(tatder3) == LOW) { ttw3 =0;} if (digitalRead(tatder4) == HIGH) { ttw4 =2; col3=1;} if (digitalRead(tatder4) == LOW) { ttw4 =0;} if (digitalRead(tatder5) == HIGH) { ttw5 =2; col4 =1;} if (digitalRead(tatder5) == LOW) { ttw5 =0;} licht = analogRead(LDR); } void nutzkontrollzeugs(void) { //<___LICHTsensor___ +bedienung__> if (licht > sensy) {lichtan = 1;} if (licht < sensy) {lichtan = 0;} if (merk == 0 && ttw1 == 2) {sensy +=2; merk =1;} if (merk == 0 && ttw2 == 2) {sensy -=10; merk =1;} if (merk2 == 0 && ttw4 == 2) {almaxtieme +=3; merk2 =1;} if (merk2 == 0 && ttw5 == 2) {almaxtieme -=1; merk2 =1;} if (prescount >= 20 && merk ==1 ) { prescount = 0; merk=0;} if (prescount2 >= 5 && merk2 ==1 ) { prescount2 = 0; merk2=0;} if (merk2 == 0 && ttw3 ==2) {setzpause =1; merk2 =0; mixmix++; setzc4f=random((almintieme *5),(almaxtieme *40 ));} if (setzt4f >= setzc4f) { setzt4f = 0; setzpause =0;} } void langsammerzeugs(void) { //gesamttiemer ohne delay ausbremsung if ((millis()-allcount) >= almil ) { delayy++; delayyf++; prescount++; prescount2++; tiemes1++; tiemes2++; tiemes3++; tiemes4++; tiemes5++; tiemes6++; tiemes7++; tiemes8++; tiemes9++; tiemes10++; tiemes11++; tiemes12++; tiemes13++; tiemes14++; tiemes15++; tiemes16++; tiemes17++; setzt1++; setzt2++; setzt3++; setzt4++; setzt4f++; setzt5++; setzt6++; setzt7++; setzt8++; setzt9++; setzt10++; laufc++; mixmixc++; setzt12++; setzt13++; setzt14++; //setzt11++; allcount = millis(); } if ((millis()-dimmcount) >= alldimmspeed ) { lowcount1++; lowcount2++; lowcount3++; lowcount4++; lowcount5++; fuvc++; fblauc++; fgrunc++; fgelbc++; frotc++; dimmcount = millis(); } } void dimmzeugs(void) { //erhohen + senken der helligkeit durch zeit if (lowcount1 >= co1 && col1 == 1 && duty1 <= 150 ) { lowcount1 = 0; duty1 +=1;} if (lowcount1 >= co1 && col1 == 0 && duty1 >= 1) { lowcount1 = 0; duty1 -=1;} if (lowcount2 >= co2 && col2 == 1 && duty2 <= 150) { lowcount2 = 0; duty2 +=1;} if (lowcount2 >= co2 && col2 == 0 && duty2 >= 1) { lowcount2 = 0; duty2 -=1;} if (lowcount3 >= co3 && col3 == 1 && duty3 <= 150) { lowcount3 = 0; duty3 +=1;} if (lowcount3 >= co3 && col3 == 0 && duty3 >= 1) { lowcount3 = 0; duty3 -=1;} if (lowcount4 >= co4 && col4 == 1 && duty4 <= 150) { lowcount4 = 0; duty4 +=1;} if (lowcount4 >= co4 && col4 == 0 && duty4 >= 1) { lowcount4 = 0; duty4 -=1;} if (lowcount5 >= co5 && col5 == 1 && duty5 <= 150) { lowcount5 = 0; duty5 +=1;} if (lowcount5 >= co5 && col5 == 0 && duty5 >= 1) { lowcount5 = 0; duty5 -=1;} } void RGBzeugs(void) { if(RGB >=0 && RGB <=150) {duty1 =light; duty2 =RGB - light; duty3 =0;} //rot ->gelb (rotmax grün+ blau0) if(RGB >=151 && RGB <=301) {duty1 =(151 -((RGB - light) -151)); duty2 =light; duty3 =0;} //gelb ->grün (rot- grünmax blau0) if(RGB >=302 && RGB <=452) {duty1 =0; duty2 =light; duty3 =(RGB - light) - 302;} //grün ->cyan (rot0 grünmax blau+) if(RGB >=453 && RGB <=603) {duty1 =0; duty2 =(453 -((RGB - light) -453)); duty3 =light;} //cyan ->blau (rot0 grün- blaumax) if(RGB >=604 && RGB <=754) {duty1 =(RGB - light) -604; duty2 =0; duty3 =light;} //blau ->lila (rot+ grün0 blaumax) if(RGB >=755 && RGB <=905) {duty1 =light; duty2 =0; duty3 =(756 -((RGB - light) -756));} //lila ->rot (rotmax grün0 blau-) if(RGB >= 906) {RGB=0;} } void ausgabezeugs(void) { //verwendet wert 0-150 als analogwrite yay while ((micros()-allfcount) >= 10) { fcount1++; if (fcount1 == (150-duty1)) { digitalWrite(rot, HIGH );} if (fcount1 == (150-duty2)) { digitalWrite(grun, HIGH );} if (fcount1 == (150-duty3)) { digitalWrite(blau, HIGH );} if (fcount1 == (150-duty4)) { digitalWrite(weisa, HIGH );} if (fcount1 == (150-duty5)) { digitalWrite(weisb, HIGH );} //front if (fcount1 == (150-dutyfuv)) { digitalWrite(ffuv, HIGH );} if (fcount1 == (150-dutyfblau)) { digitalWrite(ffblau, HIGH );} if (fcount1 == (150-dutyfgrun)) { digitalWrite(ffgrun, HIGH );} if (fcount1 == (150-dutyfgelb)) { digitalWrite(ffgelb, HIGH );} if (fcount1 == (150-dutyfrot)) { digitalWrite(ffrot, HIGH );} //ende fronz if (fcount1 >= 151) { digitalWrite(rot, LOW ); digitalWrite(grun, LOW ); digitalWrite(blau, LOW ); digitalWrite(weisa, LOW ); digitalWrite(weisb, LOW ); //front digitalWrite(ffuv, LOW); digitalWrite(ffblau, LOW ); digitalWrite(ffgrun, LOW ); digitalWrite(ffgelb, LOW ); digitalWrite(ffrot, LOW ); fcount1 = 0; } allfcount = micros(); } } void chaoszeugs(void) { //kontrolliert farben if (chaos == 0) {col1 = 1;} //rot heller if (chaos == 1) {col1 = 0;} //rot dunkler if (chaos == 2) {col2 = 1;} //grun heller if (chaos == 3) {col2 = 0;} //grun dunkler if (chaos == 4) {col3 = 1;} //blau heller if (chaos == 5) {col3 = 0;} //blau dunkler if (chaos == 7) {col1 = 1; col2 = 0; col3 = 0;} //nur rot heller rest dunkler if (chaos == 8) {col1 = 0; col2 = 1; col3 = 0;} //nur rot heller rest dunkler if (chaos == 9) {col1 = 0; col2 = 0; col3 = 1;} //nur rot heller rest dunkler if (chaos == 10 && co1 <= dtmaxr && delayyy ==0) {co1+= random(cominp,comaxp);delayyy=1;} //rot langsammer if (chaos == 11 && co1 >= dtminr && delayyy ==0) {co1-= random(comins,comaxs);delayyy=1;} //rot schneller if (chaos == 12 && co2 <= dtmaxg && delayyy ==0) {co2+= random(cominp,comaxp);delayyy=1;} //grun langsammer if (chaos == 13 && co2 >= dtming && delayyy ==0) {co2-= random(comins,comaxs);delayyy=1;} //grun schneller if (chaos == 14 && co3 <= dtmaxb && delayyy ==0) {co3+= random(cominp,comaxp);delayyy=1;} //blau langsammer if (chaos == 15 && co3 >= dtminb && delayyy ==0) {co3-= random(comins,comaxs); delayyy=1;} //blau schneller if (chaos == 16) {dtmaxr = random(dtmaxgesmin,dtmaxgesmax);chaos =100;} //limmit für rothellerwerdzeit if (chaos == 17) {dtmaxg = random(dtmaxgesmin,dtmaxgesmax);chaos =100;} //limmit für grunhellerwerdzeit if (chaos == 18) {dtmaxb = random(dtmaxgesmin,dtmaxgesmax);chaos =100;} //limmit für blauhellerwerdzeit if (chaos == 19) {maxblinkr = random(100,150); chaos =100;} //runterstellwert für rot bei maximum if (chaos == 20) {maxblinkg = random(100,150); chaos =100;} //runterstellwert für grun bei maximum if (chaos == 21) {maxblinkb = random(100,150); chaos =100;} //runterstellwert für blau bei maximum if (chaos == 22) {minblinkr = random(0,10); chaos =100;} //hochstellwert für rot bei minimum if (chaos == 23) {minblinkg = random(0,10); chaos =100;} //hochstellwert für grun bei minimum if (chaos == 24) {minblinkb = random(0,20); chaos =100;} //hochstellwert für blau bei minimum if (chaos == 25 && delayyy ==0) {dtmaxgesmax = random(50,80);delayyyf=1;} //cade gesammt spees max if (chaos == 26 && delayyy ==0) {dtmaxgesmin = random(20,40); delayyyf=1;} //fade gesamt speed min if (delayy >= delayyc && delayyy ==1) { delayy= 0; delayyy=0; delayyc=random((almintieme *2),(almaxtieme *4));} if (delayyf >= delayycf && delayyyf ==1) { delayyf= 0; delayyyf=0; delayycf=random((almintieme *8),(almaxtieme *3));} if (chaos ==27) {col1 =0; col2=0; col3=0;} //ende farbe if (chaos ==28) {col1 =1; col2=1; col3=1;} //weis farbe } void weiszeugs(void) { //kontroliert weis if (xw == 1) {col4 = 1;} //weis a heller if (xw == 2) {col5 = 1;} //weis b heller if (xw == 3) {col4 = 0;} //weis a dunkler if (xw == 4) {col5 = 0;} //weis b dunkler if (xw == 5) {duty4 = 150; col4 =2;} //weis a an if (xw == 6) {duty5 = 150; col5 =2;} //weis b an if (xw == 7) {duty4 = 0; col4 =2;} //weis a aus if (xw == 8) {duty5 = 0; col5 =2;} //weis b aus if (xw == 9) {dtmax = random(dtmaxgesmin,dtmaxgesmax);} //limmit für weishellerwerdzeit if (xw == 10 && co4 <= dtmax) {co4+= random(1,15);} //weis a schneller heller if (xw == 11 && co5 <= dtmax) {co5+= random(1,15);} //weis b schneller heller if (xw == 12 && co4 >= dtmin) {co4-= random(1,15);} //weis a schneller dunkler if (xw == 13 && co5 >= dtmin) {co5-= random(1,15);} //weis b schneller dunkler if (xw == 14) {col4 =0; col5 =0;} //ende xw if (xw == 15) {col4 =1; col5 =1;} //ende xw } void farbspiele(void) { //farbspiele if (numtx == 0) { //zufall updownfaden immer konstant *macht farben if (tiemes1 >= tieme1) { tiemes1 =0; und=0; undmerk=0; dutyfrot =random(inimmin,insmax); tieme2=random((almintieme / laust),(almaxtieme / laust));} if (tiemes2 >= tieme2) { tiemes2 =0; und=1; undmerk=0; tieme1=random(almintieme,almaxtieme); } } if (numtx == 1) { //zufall updownfaden unterschiedlich mit zufallgeschwindikteitsfadern *macht farben if (tiemes1 >= tieme1) { tiemes1 =0; und=0; undmerk=0; dutyfgrun =random(inimmin,insmax); tieme2=random((almintieme/ laust),(almaxtieme / laust));} if (tiemes2 >= tieme2) { tiemes2 =0; und=1; undmerk=0; tieme1=random(almintieme,almaxtieme); } if (tiemes3 >= tieme3) { tiemes3 =0; und=2; tieme4=random(almintieme,almaxtieme);} if (tiemes5 >= tieme4) { tiemes4 =0; und=3; tieme3=random(almintieme,almaxtieme);} } if (numtx == 3) { //zufall updownfaden unterschidlich mit zufallgeschwindikteitsfadern die wärenddem faden die geschwindigkeit ändern *macht farben if (tiemes1 >= tieme1) { tiemes1 =0; und=0; undmerk=0; dutyfblau =random(inimmin,insmax); tieme2=random((almintieme/ laust),(almaxtieme / laust));} if (tiemes2 >= tieme2) { tiemes2 =0; und=1; undmerk=0; tieme1=random(almintieme,almaxtieme); } if (tiemes3 >= tieme3) { tiemes3 =0; und=2; tieme4=random(almintieme,almaxtieme);} if (tiemes4 >= tieme4) { tiemes4 =0; und=3; tieme3=random(almintieme,almaxtieme);} if (tiemes5 >= tieme5) { tiemes5 =0; und=4; tieme5=random(almintieme,almaxtieme);} } if (numtx == 5) { //zufall faderparameter für alle if (tiemes11 >= tieme11) { tiemes11 =0; und=random(0,4); dutyfgelb =random(inimmin,insmax); tieme11=random(almintieme,(almaxtieme - 20));} } if (numtx ==6) { //zufall einzeln rot grün blau gefadet *macht farben if (tiemes12 >= tieme12) { tiemes12 =0; chaos=random(7,9); dutyfgelb =random(inimmin,insmax);dutyfrot =random(50,150); dutyfgelb =random(50,150);tieme12=random(almintieme,(almaxtieme *1.5));} } if (numtx ==7) { //zufall aenderung der maximal bei fadende erreichten helligkeit if (tiemes13 >= tieme13) { tiemes13 =0; chaos=random(16,18); dutyfgelb =random(inimmin,insmax);tieme13=random(almintieme,(almaxtieme *1.5));} } if (numtx ==8) { //zufall aenderung des seperaten runterstellwerters wenn maximalhelligkeit ereicht if (tiemes14 >= tieme14) { tiemes14 =0; chaos=random(19,21); dutyfgelb =random(inimmin,insmax); tieme14=random(almintieme,(almaxtieme *1.5));} } if (numtx ==9) { //zufall aenderung des seperaten hochstellwerters wenn maximalhelligkeit ereicht if (tiemes15 >= tieme15) { tiemes15 =0; chaos=random(22,24); dutyfgelb =random(inimmin,insmax); tieme15=random(almintieme,(almaxtieme *1.5));} } if (numtx ==10) { //aendern der zufälle für zufall änderung der maximal bei fadende erreichten helligkeit if (tiemes16 >= tieme16) { tiemes16 =0; chaos=random(25,26); dutyfgelb =random(inimmin,insmax); tieme16=random(almintieme,(almaxtieme *1.5));} } // zufillgie nutzung der 3 rgb farben //undemerk für eimal if (numtx ==11) {} //zufall änder wie oft undmert für einen tiemer befehl gilt if (tiemes17 >= tieme17) { tiemes17 =0; undmax=random(1,4); dutyfgelb =random(inimmin,insmax); tieme17=random(almintieme,(almaxtieme *10));} // zufillgie nutzung der 3 rgb farben if (und == 0 && undmerk <= undmax) { chaos = upfader[random(0,3)]; undmerk++; } if (und == 1 && undmerk <= undmax) { chaos = downfader[random(0,3)]; undmerk++;} if (und == 2 && undmerk <= undmax) { chaos = upfaderspeed[random(0,3)]; undmerk++;} if (und == 3 && undmerk <= undmax) { chaos = downfaderspeed[random(0,3)]; undmerk++;} if (und == 4 && undmerk <= undmax) { chaos = upfadekurve[random(0,3)]; undmerk++;} if (numtx == 12) {und =5; chaos =27;} //ende farbe if (numtx == 13) {und =5; chaos =28;} //RGBw weis farbe } void weisspiele(void) {//weis speile if (xws ==1) { //zufall getrennt weis hell+dunkel faden if (tiemes6 >= tieme6) { tiemes6 =0; xw=random(1,2); tieme7=random(10,almaxtiemew);} if (tiemes7 >= tieme7) { tiemes7 =0; xw=random(3,4); tieme6=random(10,almaxtiemew);} } if (xws ==2) { //zufall dauer getrennt weis hell faden und dann aus if (tiemes8 >= tieme8) { tiemes8 =0; xw=random(1,2); tieme9=random(1,(almaxtiemew));} if (tiemes9 >= tieme9) { tiemes9 =0; xw=random(7,8); tieme8=random(1,(almaxtiemew));} } if (xws ==4) { //zufall dauer getrennt weis an und dann aus faden if (tiemes8 >= tieme8) { tiemes8 =0; xw=random(3,4); tieme9=random(1,(almaxtiemew));} if (tiemes9 >= tieme9) { tiemes9 =0; xw=random(5,6); tieme8=random(1,(almaxtiemew));} } if (xws ==5) { //zufall getrennt weis hell+dunkel faden zufall dauer if (tiemes6 >= tieme6) { tiemes6 =0; xw=random(1,2); tieme7=random(10,almaxtiemew);} if (tiemes7 >= tieme7) { tiemes7 =0; xw=random(3,4); tieme6=random(10,almaxtiemew);} if (tiemes8 >= tieme8) { tiemes8 =0; xw=random(9,13); tieme8=random(1,(almaxtiemew));} } if (xws ==6) { //kurz qweis blitz dann lange aus zufall dauer if (tiemes9 <= (tieme9 -1)) { xw=random(5,6);} if (tiemes9 <= tieme9 && tiemes9 >= (tieme9 -(almaxtiemew)) ) { xw=7;} if (tiemes9 >= tieme9) { tiemes9 = 0; xw=8; tieme9=(almaxtiemew * 20);} } if (xws ==7) { //weis getrennt langsam nach schneller blitzend if (tiemes10 >= tieme10) { tiemes10 =0; xw=random(5,6);}// tieme11 /= 1.3; tieme10=random(10,20);} if (tiemes11 >= tieme11) { tiemes11 =0; xw=random(7,8); } //if (tieme11 <=2 ) {tieme11 = almaxtiemew;} } if (xws == 8) {xw=14;} //aus if (xws == 9) {xw=15;} //an } void spiel(void) { if (mix ==1) { //zufall mweis blitze kurz benutzen -f macht if (setzt1 >= setzc1) { setzt1 =0; xws=(1,11); setzc1=random((almintieme *3),((almaxtieme - nodark) *4 ));} if (setzt2 >= setzc2) { setzt2 =0; maxblinkw =(150,150); mixw=1; setzc2=random((almintieme *1),(almaxtieme *4 ));} } if (mixw ==1 && mixw ==2) { if (setzt3 >= setzc3) { setzt3 =0; xws=(1,10); mixw++; setzc3=random((almintieme /2),(almaxtieme/2));} } if (mixw ==3){ col4=0; col5=0; mixw =0; } if (mix ==2) { // nur daen farbe -w *macht farben if (setzt1 >= setzc1) { setzt1 =0; setz=random(0,3); int randomy[12] = {1,2,3,6}; numtx = randomy[setz]; setzc1=random((almintieme *2),((almaxtieme - nodark) *4 ));} } if (mix ==3) { // nur daen farbe -w *macht farben if (setzt1 >= setzc1) { setzt1 =0; regic1=1; setz++; int randomy[12] = {1,2,3,6}; numtx = randomy[setz]; setzc1=random((almintieme *1.5),((almaxtieme - nodark) *4 ));} if (setz >= 4) {setz = 0;} } if (mix ==4) { //rot lila blau -w *macht farben if (setzt3 >= setzc3) { setzt3 =0; setz=random(0,2); int randomy[12] = {7,8,9}; chaos =randomy[setz]; setzc3=random(almintieme,(almaxtieme *4));} if (setz >= 4) {setz = 0;} } if (mix ==5) { //rot lila blau -w *macht farben col2=0; if (setzt3 >= setzc3) { setzt3 =0; setz=random(0,2); setz++; int randomy[12] = {0,4,1,5}; chaos = randomy2[setz]; setzc3=random(almintieme,(almaxtieme *4));} if (setz >= 4) {setz = 0;} } if (mix ==6) { //blau cyan -w *macht farben col1=0; co4=100; if (setzt3 >= setzc3) { setzt3 =0; setz=random(0,2); setz++; int randomy[12] = {4,2,3,5}; chaos =randomy2[setz]; setzc3=random(almintieme,(almaxtieme *4));} if (setz >= 4) {setz = 0;} } if (mix ==7) { //nur weiße blitzerei -f *macht farben if (setzt2 >= setzc2) { setzt2 =0; maxblinkw =(150,150); mixw=1; setzc2=random((almintieme *4),(almaxtieme *20 ));} } if (mixf ==1) { //vmodizifiret farben reihenach, mit steigender veränderung -w if (setzt7 >= setzc7) { setzt7 =0; setz=random(0,6); setz++; int randomy[12] = {4,5,7,8,9,10,11}; numtx = randomy[setz]; setzc7=random((almintieme *1),((almaxtieme - nodark) *5 ));} if (setz >= 11) {setz = 0;} } if (mixf ==2) { //amodifizier farbenzufällig zufällig -w if (setzt6 >= setzc6) { setzt6 =0; setz=random(0,6); int randomy[12] = {4,5,7,8,9,10,11}; numtx = randomy[setz]; setzc6=random(almintieme,(almaxtieme *2));} } if (mixf ==3) { //weise effekte der reihe nach -f undmax =100; und =1; if (setzt8 >= setzc8) { setzt8 =0; setz=random(0,10); setz++; int randomy2[12] = {1,2,3,4,5,6,7}; xws= randomy2[setz]; setzc8=random(almintieme,(almaxtieme *2));} if (setz >= 7) {setz = 0;} } if (mix >=8) {mix = 0;} if (mixf >=8) {mix = 0;} } void spielwechsel(void) { //haupt spiel wechsel if (setzpause ==0){ if (setzt7 >= setzc7 ) { setzt7 =0; mix=random(1,7); setzc8=random((almintieme *10),(almaxtieme *50 ));} //farbspiele if (setzt8 >= setzc8 ) { setzt8 =0; mixf=random(1,3); setzc7=random((almintieme *5),(almaxtieme *30 ));} //faderspiele if (setzt9 >= setzc9 ) {setzt9 =0; xws=random(1,7); dutyfrot =random(100,150); setzc12=random((almintieme *5),(almaxtieme *6 )); } //weisspielestart if (setzt12 >= setzc12) { setzt12 =0; xws ==8; setzc9=random((almintieme *20),(almaxtieme *30 )); } //weisspielestart if (setzt10 >= setzc10 ) { setzt10 =0; almil=random(almillismin,almillismax); setzc10=random((almintieme *70),(almaxtieme *75 ));} //zeitspiele if (setzt11 >= setzc11 ) { setzt1 =0; for (uint8_t fk1=0; fk1< 26; fk1++) { chaos = fk1; chaoszeugs();} xws =8; setzc11=random((almintieme *4),(almaxtieme *5 ));} //alles neustellen //einmal kurz alle chaoswerte ändern if (mixmix != 3) { } if (setzt13 >= setzc13 && regic1==1) { setzt13 =0; regic1=0; setzc13=10; dutyfgelb =random(100,150); } //weißewr kontrollbblitz //if (setzt14 >= setzc14) { setzt14 =1; } //weitere if(regic1==1) { } if(regic1==0) {xws=8;} if (duty1 <= zudunkel && duty2 <= zudunkel && duty3 <= zudunkel) {numtx =3; dutyfuv =random(100,150); tieme1 =random(0,5); } //verhindert dunkelheit } if (mixmixc >= mixmixt) { mixmixc =0; mixmix=random(2,5); mixmixt=random((almintieme *100),(almaxtieme *150 ));} } void nichtanbleiben(void){ if (duty1 >=150) {duty1= random(maxblinkr,150);} if (duty2 >=150) {duty2= random(maxblinkg,150);;} if (duty3 >=150) {duty3= random(maxblinkb,150);;} if (duty4 >=150) {duty4= random(maxblinkw,150);;} if (duty5 >=150) {duty5= random((maxblinkw -random(0,3)),150);} if (duty1 <=0) {duty1= minblinkr;} if (duty2 <=0) {duty2= minblinkg;} if (duty3 <=0) {duty3= minblinkb;} if (duty4 <=0) {duty4= minblinkw;} if (duty5 <=0) {duty5= minblinkw;} } int allesrunter =0; void frontzeugs(void){ if (fuvc >= fuvt && fuv == 0) { fuvc = 0; dutyfuv--;} if (fblauc >= fblaut && fuv == 0) { fblauc = 0; dutyfblau--;} if (fgrunc >= fgrunt && fuv == 0) { fgrunc = 0; dutyfgrun--;} if (fgelbc >= fgelbt && fuv == 0) { fgelbc = 0; dutyfgelb--;} if (frotc >= frott && fuv == 0) { frotc = 0; dutyfrot--;} if (fuvc >= fuvt && dutyfuv <=150 && fuv == 1) { fuvc = 0; dutyfuv++;} if (fblauc >= fblaut && dutyfblau <=150 && fbl == 1) { fblauc = 0; dutyfblau++;} if (fgrunc >= fgrunt && dutyfgrun <=150 && fgr == 1) { fgrunc = 0; dutyfgrun++;} if (fgelbc >= fgelbt && dutyfgelb <=150 && fge == 1) { fgelbc = 0; dutyfgelb++;} if (frotc >= frott && dutyfrot <=150 && fro == 1) { frotc = 0; dutyfrot++;} if (lauf == 2 ) { fuvt =random(2,7); dutyfuv =lboost;} if (lauf == 3 ) { fblaut =random(2,7); dutyfblau =lboost;} if (lauf == 4 ) { fgrunt =random(2,7); dutyfgrun =lboost;} if (lauf == 5 ) { fgelbt =random(2,7); dutyfgelb =lboost;} if (lauf == 6 ) { frott =random(2,7); dutyfrot =lboost;} if (frontrunter ==1 ) { fuv =0; fbl =0; fgr=0; fge =0; fro =0; } if (lauf == 6 | lauf == 1) {lboost = random(10,50);} if (frontrunter ==0 ) {fuv =1; fbl =1; fgr=1; fge =1; fro =1; lboost = random(10,35); } if (laufa ==0) {lauf =0;} if (laufc >= lauft && laufa ==1) { laufc =0; if (lauf ==7) {laufm =1;} if (lauf ==1) {laufm =0;} if (laufm ==0) {lauf++;} if (laufm ==1) {lauf--;}} lauft = almaxtieme /6; }