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
EndIfTuo 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
EndIfTä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.