' ' Rider : (M1) ' ' paramètres : ?position = 0' de la caméra ?distance = 0' murs créés ?horizon = 200' distance de vue ?bloc = 16' taille d'un bloc (route, mur...) ?index = 0' nombre de murs ?joueur = 0 ?vitesse = 0.5 ?vitesse_min = 0.5 ?vitesse_max = 3.0 ' scène delete "light" power "glow" to 120 show fog #000 to ?horizon ' color #fff create sprite 15 as "joueur" add "joueur" frame 5, 1, 1 to 11, 2, 15 add "joueur" frame 1, 1, 2 to 15, 1, 6 zoom "joueur" to 0.15 ' goto "jeu" label "creer mur" param ?cote ?index + 1 ?objet = "mur-?index" create sprite ?bloc as ?objet ?hauteur = random ?bloc / 2 to ?bloc ?altern = random 1 to ?hauteur color #020 add ?objet box 1, 1, 1 to 8, ?hauteur, ?bloc color #8f0 add ?objet frame 1, 1, 1 to 8, ?hauteur, ?bloc add ?objet frame 1, 1, 1 to 8, ?altern, ?altern if ?cote = "gauche" move ?objet to -?bloc / 2, 0, ?distance turn z ?objet to 20 center ?objet to 8, 1, 1 else move ?objet to ?bloc / 2, 0, ?distance turn z ?objet to -20 center ?objet to 1, 1, 1 end return label "creer route" ?nom = "route-?index" create sprite ?bloc as ?nom 'add ?nom frame 1, 1, 1 to ?bloc, 1, ?bloc add ?nom line 1, 1, 1 to 1, 1, ?bloc add ?nom line 6, 1, 1 to 6, 1, ?bloc add ?nom line 11, 1, 1 to 11, 1, ?bloc add ?nom line 16, 1, 1 to 16, 1, ?bloc move ?nom to 0, 0, ?distance if (dice 1 to 10) = 1 ?nom = "toit-?index" create sprite ?bloc as ?nom add ?nom frame 1, 1, 1 to ?bloc, 1, ?bloc move ?nom to 0, 8, ?distance zoom ?nom to 2, 1, 1 end return label "creer ville" goto "creer mur", "gauche" goto "creer mur", "droite" goto "creer route" ' ajouter les obstacles : ?mode = (dice -2 to 3) if ?mode = -2 ' rien... else if ?mode < 1 ' bonus : -1 et 0 color #ff8 ?nom = "bonus-?index" create sprite 4 as ?nom add ?nom frame zoom ?nom to 0.3 ?pos = dice -1 to 1 move ?nom to ?pos * 4, 2, ?distance else if ?mode > 0 ' 1,2,3 = murs sur une des trois voies color #8f0 ?nom = "obstacle-?index" create sprite ?bloc as ?nom add ?nom frame 1, 1, 1 to ?bloc, 3, 8 zoom ?nom to 0.3 move ?nom to (?mode - 2) * 4, 2, ?distance end ?distance + ?bloc return label "gameplay" for 1 to ?index as ?i ?obstacle = "obstacle-?i" if (is ?obstacle) = 1 and [hit, ?obstacle] = 0 if (hit ?obstacle to "joueur") = 1 [hit, ?obstacle] = 1 color #f00 fill ?obstacle ?vitesse / 2 end end ?bonus = "bonus-?i" if (is ?bonus) = 1 and [hit, ?bonus] = 0 if (hit ?bonus to "joueur") = 1 [hit, ?bonus] = 1 color #fff fill ?bonus ?vitesse + 0.1 end end next limit ?vitesse min ?vitesse_min max ?vitesse_max return label "jeu" do clear screen color #fff create text ?distance as "ui" paint "ui" to "ui" move "ui" to 0, 50, 100 + ?position ?position + ?vitesse move "camera" to 0, 6, ?position target "camera" to 0, 0, ?position + 100 update if ?distance - ?position < ?horizon goto "creer ville" end goto "gameplay" if (press "left") = 1 and ?joueur > -1 ?joueur - 1 else if (press "right") = 1 and ?joueur < 1 ?joueur + 1 end ' interpolation ?joueur_a + (?joueur - ?joueur_a) / 5 move "joueur" to ?joueur_a * 4, 2, ?position + 10 loop return
