Tuli mutkia matkaan. Pallo käyttäytyy aivan omituisesti. Taustaa: Minulla on muistissa värikartta-kuva, josta luetaan väriarvot muistiin ja tarkastetaan sitten...
Xs#=(Power*Sin(xAngle)) Ys#=(Power*-Cos(yAngle)) Bx=Bx+Xs By=By+Ys
Pallo liikkuu tuolla koodinpätkällä.
;vasen reuna If cnt(1) And cnt(8) And cnt(7) If xs<0 xAngle=-xAngle EndIf Goto skip EndIf
Tuo tarkistus toimii oikein...
;oikea yläkulma If cnt(3) If xs>0 If ys=>0 Or ys<=0 xangle=xangle+90 yangle=yangle+90 EndIf Goto skip EndIf If ys<0 If xs=>0 Or xs<=0 xangle=xangle-90 yangle=yangle-90 EndIf Goto skip EndIf EndIf
Tämä ei toimi... En tiedä osaako kukaan sanoa tuosta, mikä on vikana, mutta ainahan voi yrittää.
xs, ys - X ja Y nopeus Power - vähenee koko ajan, kun on lyöty Cnt() - ottaa muistiin väripisteen.. pallon ympärillä 8 kpl.
1 2 3 8 x 4 (x esittää palloa, ympärille pisteet mistä tarkastetaan väri) 7 6 5
Jos en nyt ymmärrä ongelmaa aivan väärin, niin sinun pitäisi antaa nuo kulmat radiaaneissa.
tuo 90 lisäys ja vähennys viittaisi minusta asteisiin.
90 on radiaaneissa siis ½ * pii.
edit: Asteet muutat radiaaneiksi näin: aste * (pii/180).
Muista myös muuttaa nykyinen muuttuja double muotoon.
Yritä muuten kiertää Goto niin voit saada koodista selkeämpää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.