Your picture :
This seems to be a standard module, I don't think it comes with a predefined IP address. To force a static IP, try
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
IPAddress ip(192,168,1,200); // <-- static IP here
IPAddress gateway(192,168,1,254); // <-- verify this
IPAddress subnet(255,255,255,0);
WiFi.config(ip, gateway, subnet);
If it doesn't work, try changing the order of begin and config :
IPAddress ip(192,168,1,200); // <-- static IP here
IPAddress gateway(192,168,1,254);
IPAddress subnet(255,255,255,0);
WiFi.config(ip, gateway, subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
There is actually a difference, if I remember well, in the order of the arguments of the config, between ESP8266 and Arduino + Wifi shield. If the above does not work, try what is proposed here :
//Static IP address configuration
IPAddress staticIP(192, 168, 43, 90); //ESP static ip
IPAddress gateway(192, 168, 43, 1); //IP Address of your WiFi Router (Gateway)
IPAddress subnet(255, 255, 255, 0); //Subnet mask
IPAddress dns(8, 8, 8, 8); //DNS
WiFi.config(staticIP, subnet, gateway, dns);
WiFi.begin(ssid, password);
Here, the subnet and gateway are switched, and I'm not sure which one is the correct order...