Eli siis miten minä saisin silleen, että kone arpoo minkälainen hirviö ja monta niitä tulee pelialueelle esim. 10 sekunnin välein. Omat yritykseni ovat suoraansanoen kauheita.
Miten olet toteuttanut pelialueen ja hirviöt? Ilman tätä tietoa vastaaminen on mahdotonta.
Näin on. Ja kumpi kieli on kyseessä?
Visual basic on kieli. pictureboxi on se pelialue .siinä motuulissa on hirviöitten tieto aliohjelmis, ja hirviöt ladataan aina noihin image kontrolleihin, joita on nimetty enemy1, enemy2 jne..
Ensinnäkin kannattaa tehä image kontrollereista taulukko (en tosin tiedä millaisia image kontrollerit ovat, mutta pitäisi onnistua index-arvoa muuttamalla).
Sitten vain
for i=0 to hirvioita hirvio(i).top = int(rnd * pelialueenkorkeus) hirvio(i).left = int(rnd * pelialueenleveys) next
Johonkin tohon tapaan, en ole VB:tä pitkään aikaan käyttänyt.
10s välein saat tehtyä timerillä, jonka interval on 10000.
Sinun kannattaa luoda jonkinlainen taulukko, jossa on jokaisen hirviön tunnusnumero ja sijainti pelialueella. Kun luot uuden hirviön, panet sen tiedot taulukon seuraavaan vapaaseen kohtaan. Kun hirviö menee pois, tyhjennät sen kohdan taulukosta. Kun on näytön päivityksen aika, siirrät kunkin kuvakontrollin oikeaan paikkaan hirviötaulukon mukaan. Kontrollit pitää järjestää taulukkoon, jotta niihin pystyy viittaamaan helposti. Toinen ja melkein aina parempi tapa on luopua kontrolleista ja piirtää hirviöt suoraan ruudulle vaikkapa WinAPIn BitBlt-funktion avulla.
Kontrollien järjestäminen taulukoihin (kappale "Ohjaintaulukot"):
https://www.ohjelmointiputka.net/oppaat/opas.
Grafiikan toteutus BitBlt-funktion avulla:
https://www.ohjelmointiputka.net/oppaat/opas.
Aihe on jo aika vanha, joten et voi enää vastata siihen.