The loop function is called in an endless loop, so
In this routine, the “if (analogRead(cpufiredmillion) > 200) & if analogRead(cpufiredfunhouse) > 200” should only happen one time
does not seem like a realistic expectation.
Inside the loop() function, you have two while loops. The while statement says “as long as some condition is true, execute this block of code, over and over”.
The first while loop will execute as long as the value read from the “ballinmillion” pin is greater than 500. Now, ballinmillion might suggest to you what kind of sensor is attached to the pin, but it does not mean anything to me.
During that while loop, you read an analog value from the “cpufiredmillion” sensor. Again, that name does not begin to suggest what kind of sensor that might be, so I went back and read the comments to try to figure it out. That didn’t take long, as there weren’t any.
If the value read from the cpufiredmillion pin is greater than 200, you set the openmillion (whatever that is) pin HIGH, and delay for about 1/6 of a second. You did not set the openmillion pin to be an OUTPUT pin. You did set some numbered pins to OUTPUT. Whether they were the right pins, I didn’t bother checking. If you are going to use names for the pins, use them everywhere.
If the value read from the cpufiremillion pin is not greater than 200, and the value read from the pleasefiremillion pin is greater than 300, you set the firemillion pin HIGH for 1/6 of a second, then set it LOW. Then, you set the openmillion pin LOW.
The strange names and complete lack of comments makes it difficult to tell what is really supposed to be happening.
If you add comments, explain the names, and use the correct names in the pinMode statements, I’ll look at the code again.