"For" Logic Error 
	 
	
		| Author | 
		Message | 
	 
		 
		Das
 
 
 
    
		 | 
		
		
			
				  Posted: Fri Jan 18, 2008 11:33 pm    Post subject: "For" Logic Error  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				I have a for repetition struture that repeats twice.  It contains many if structures inside.  However, sometimes a part of the 2nd loop does not occur.  What is the problem?  By the way, I know that esif exists.  I just forgot at streamlining isn't supposed to take extra effort.
 
 
Obviously, it's a game.
 
 
 for cardUse:1..2
 
        
 
        if cardSelect(cardUse)="Shine" then
 
            randint (dmg,30,40)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "You use Shine!"
 
            put "Inflicted ",dmg," damage!"
 
        end if
 
    
 
        if cardSelect(cardUse)="Freeze" then
 
            randint (dmg,30,40)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "You use Freeze!"
 
            put "Inflicted ",dmg," damage!"
 
        end if
 
        
 
        if cardSelect(cardUse)="Sear" then
 
            randint (dmg,45,57)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "You use Sear!"
 
            put "Inflicted ",dmg," damage!"
 
        end if
 
        
 
        if cardSelect(cardUse)="Repair" then
 
            randint (dmg,33,51)
 
            hp:=hp+dmg
 
            put " "
 
            put "You use Repair!"
 
            put "Healed ",dmg," health!"
 
        end if
 
        
 
        if cardSelect(cardUse)="Punch" then
 
            randint (dmg,23,30)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "Punched!"
 
            put "Inflicted ",dmg," damage!"
 
        end if
 
        
 
        if cardSelect(cardUse)="Shock" then
 
            randint (dmg,18,24)
 
            ehp:=ehp-dmg-baseDmg
 
            eStat:=true
 
            put " "
 
            put "You use Shock!"
 
            put "Inflicted ",dmg," damage!"
 
            put "Paralyzed the enemy!"
 
        end if
 
        
 
        if cardSelect(cardUse)="Atk+" then
 
            baseDmg:=baseDmg+5
 
            put " "
 
            put "You use Attack Up!"
 
            put "Attack Power increased!"
 
        end if
 
              
 
        if cardSelect(cardUse)="Typhoon" then
 
            randint (dmg,23,30)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "You use Typhoon!"
 
            put "Inflicted ",dmg," damage!"
 
        end if
 
        
 
        
 
        if cardSelect(cardUse)="Blaze" then
 
            randint (dmg,12,15)
 
            randint (hit,2,4)
 
            for strike:1..hit
 
                ehp:=ehp-dmg*hit-baseDmg
 
            end for
 
            put " "
 
            put "You use Blaze!"
 
            put "Inflicted ",dmg," damage with ",hit," hits!"
 
        end if
 
        
 
        
 
        if cardSelect(cardUse)="Medicine" then
 
            randint (dmg,46,64)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "You use Medicine!"
 
            put "Healed ",dmg," health!"
 
        end if
 
        
 
        
 
        if cardSelect(cardUse)="Static" then
 
            randint (dmg,25,31)
 
            randint (hit,1,2)
 
            ehp:=ehp-dmg-baseDmg
 
            put " "
 
            put "You use Static!"
 
            put "Inflicted ",dmg," damage!"
 
            if hit=2 then
 
                eStat:=true
 
                put "Paralyzed the enemy!"
 
            end if
 
        end if
 
        
 
        if cardSelect(cardUse)="Magnum Quake" then
 
            randint (dmg,1,46)
 
            ehp:=ehp-dmg-baseDmg
 
            hp:=hp-dmg div 3
 
            put " "
 
            put "You use Magnum Quake!"
 
            put "Inflicted ",dmg," damage!"
 
            put "You took ",dmg div 3," damage!"      
 
        end if
 
        
 
        if cardSelect(cardUse)="Sol Beam" then
 
            ehp:=ehp-35-baseDmg
 
            put " "
 
            put "You use Sol Beam!"
 
            put "Inflicted ",dmg," damage!"
 
        end if
 
       
 
       if cardSelect(cardUse)="Drain" then
 
            randint (dmg,25,36)
 
            ehp:=ehp-dmg-baseDmg
 
            hp:=hp+dmg
 
            put " "
 
            put "You use Drain!"
 
            put "Inflicted ",dmg," damage!"
 
            put "Stole ",dmg," HP!"
 
        end if
 
        
 
        if cardSelect(cardUse)="Dark Sacrifice" then
 
            randint(dmg,70,85)
 
            ehp:=ehp-dmg
 
            hp:=hp-(dmg div 2)
 
            put "You use Dark Sacrifice!"
 
            put "You take ",dmg div 2," damage!"
 
            put "Inflicted ",dmg," damage!"
 
                  
 
        end if
 
        
 
        put " "
 
        
 
    end for | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
		 
		Sponsor Sponsor 
		 
  
		 | 
		
 | 
	 
	 
		  | 
	 
				 
		Saad
 
  
 
    
		 | 
		
		
			
				  Posted: Sat Jan 19, 2008 12:08 am    Post subject: RE:"For" Logic Error  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| Which part doesn't occur?, If you mean the second iteration then your wrong, the second times occurs, its probably that none of the if statements are true | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		 | 
	 
 
	
	
	 
	
	 |