No se el lenguaje de programacion que has usado,o como lo has hecho,pero te lo explico con palabras:
-Cada vez que pulsas,"gatitos" aumenta en uno.
gatitos=0 //valor para empezar a contar
gatitos=gatitos+1// va aumentando y se almacena en gatitos
-Cuando entra en el bucle,el valor de gatitos es mas o menos 122.
-mas_gatitos=0 //valor de inico
-Dentro del bucle:
gatitos=gatitos +1 //122,123,124.....
mas_gatitos=gatitos //mas_gatitos coje el valor de gatitos (ej:127)
gatitos=mas_gatitos //devuelve el valor a gatitos,es decir ej:127
Al repetirse el bucle,el valor que entra ya no es 122 como antes,sino 127 y seguira sumando a partir de ese valor,127,128....
-La idea general para que lo entiendas es que cada vez que se repita el bucle,el valor de entrada de gatitos tiene que ser igual al de la salida,exceptuando la primera vez que es antes del bucle!
-Ej:gatitos=122;
bucle:vamos sumando uno a gatitos,123,124,125....hasta 128
cuando se repita el bucle,gatitos tiene que entrar con 128 para seguir sumando,de ahi lo del cambio con mas_gatitos,para mantener el valor.
Aplicalo a tu programa,y espero te funcione.
Sobretodo,quedate con la idea general.
Espero haberte ayudado,perdon por la tardanza!!
PD
on alguna condicion para salir del programa que sino se hace eterno,como por ejemplo cuando gatitos=150,que se salga del bucle y termine el programa,diciendo,nose,asesino de gatitos o algo asi.