//c'est un peu le borldel dans le script et mal scripter mais je m'en fou :D lol //et ya probablement des tonnes de fautes si vous etes pas content corriger les :D lol //Script fait par moi Adamo if !variable_local_exists("creer") // EVENT Create du script { reset = 0 // variable reset si on la met a 1 voir plus bas ca reset le niveau nextstage = 0 //variable nextstage si on la met a 1 comme quand tout les brick sont casser le niveau change voir plus bas vie = 3 // le nombre de vie scorex = 0 // le score niveau = 1 // le niveau nbrdebrick = 30+niveau*5 // le nombre de brick quil ya dans le niveau actuel blockrestant = nbrdebrick //le nombre de brick qui reste dans le niveau actuel batte_x = 288 // la position X de la batte batte_y = 448 // la position Y de la batte balle_x = 300 // la position X de la balle balle_y = 432 // la position Y de la balle balle_speed = 4+niveau // la vitesse de la balle balle_direction = round(1+random(1)) // la direction de la balle il ny en a que 4 (diagonal) //1 = haut gauche,2 = haut droit,3 = bas gauche,4 = bas droit balle_direction2 = 0 //sert a faire changer balle_direction
for(i=0;i<nbrdebrick;i+=1) // on creer les brick au hazard de la niveau { blockx[i] = round(1+random(10))*48 // on place la position X des brick en random blocky[i] = round(3+random(7))*20 // on place la position Y des brick en random blockc[i] = make_color_rgb(random(255),random(255),random(255)) // on place la couleur des brick en random }
creer = 1 // on met la variable creer a 1 pour dire que l'initialization est terminer levent create du script arrete ici }
//ce qui suis est deja ecris plus haut if nextstage = 1 // ici comme ecris plus haut si la valeur de nextstage = 1 ca change le niveau { nbrdebrick = 30+niveau*5 blockrestant = nbrdebrick batte_x = 288 batte_y = 448 balle_x = 300 balle_y = 432 balle_speed = 4+niveau balle_direction = round(1+random(1)) balle_direction2 = 0
for(i=0;i<nbrdebrick;i+=1) { blockx[i] = round(1+random(10))*48 blocky[i] = round(3+random(7))*20 blockc[i] = make_color_rgb(random(255),random(255),random(255)) } nextstage = 0 }
if reset = 1 //ici comme ecris plus haut si la valeur de nextstage = 1 ca reset le niveau si on perd une vie { batte_x = 288 batte_y = 448 balle_x = 300 balle_y = 432 balle_direction = round(1+random(1)) balle_direction2 = 0 reset = 0 }
for(i=0;i<nbrdebrick;i+=1) // ici les collision entre la balle et les brick { if balle_x > blockx[i]-10&&balle_x < blockx[i]+50 //si la position de la balle est a la position d'une brick { if balle_y > blocky[i]-10&&balle_y < blocky[i]+21 //si la position de la balle est a la position d'une brick { if balle_direction = 1{balle_direction2 = 3} //si la direction est = a change la direction pour ... if balle_direction = 2{balle_direction2 = 4} //si la direction est = a change la direction pour ... if balle_direction = 3{balle_direction2 = 1} //si la direction est = a change la direction pour ... if balle_direction = 4{balle_direction2 = 2} //si la direction est = a change la direction pour ... blockx[i]=-50;blocky[i]=50; // Detruit la brick en lecartant tout simplement de lecran pas de possibilité de la suprimé completement //et si ya possibilité et que je suis pas au courrant bah je suis sur que c'est pas simple donc
scorex = scorex+10+niveau // a chaque fois q'une brick ce detruit on augmente le score de 10+le niveau balle_direction = balle_direction2 //ici on change la direction de la balle pour quelle rebondisse } }
if blockx[i] = -50 //ici on regarde si la brick a eter detruit en regardant si elle ce trouve a la position -50 { blockx[i] = -60 // on met a -60 pour eviter que ca calcule -50 a tout les seconde et que ca tombe a -250 brick restante blockrestant -=1 //on enleve une brick au montant de brick restante }
draw_rectangle_color(blockx[i],blocky[i],blockx[i]+45,blocky[i]+16,blockc[i],blockc[i],blockc[i],blockc[i],false) //on affiche les brick draw_rectangle(blockx[i],blocky[i],blockx[i]+45,blocky[i]+16,true) //on affiche les contour de brick }
draw_ellipse_color(balle_x,balle_y,balle_x+10,balle_y+10,c_white,c_white,false) //on affiche la balle draw_ellipse(balle_x,balle_y,balle_x+10,balle_y+10,true) // on affiche le contoure de la balle
draw_rectangle_color(batte_x,batte_y,batte_x+64,batte_y+16,c_blue,c_blue,c_blue,c_blue,false) // on affiche la batte draw_rectangle(batte_x,batte_y,batte_x+64,batte_y+16,true)// on affiche le contour de la batte
draw_text(4,18,'Vie '+string(vie)) // on affiche les vie restante draw_text(500,18,'Score '+string(scorex)) // on affiche le score draw_text(4,4,'Niveau '+string(niveau)) // on affiche le niveau actuel draw_text(500,4,'Block Restant '+string(blockrestant)) // on affiche le nombre de block restant draw_line(48,40,576,40) // on dessine le contoure du niveau draw_line(48,40,48,576) // on dessine le contoure du niveau draw_line(576,40,576,480) // on dessine le contoure du niveau batte_x = mouse_x-32 //on set la position du batte sur la souris
if mouse_x > 576-32//on empeche le batte de sortir de lecran { batte_x = 576-64//on empeche le batte de sortir de lecran }
if mouse_x < 48+32//on empeche le batte de sortir de lecran { batte_x = 48//on empeche le batte de sortir de lecran }
if balle_direction = 1 //si la direction de la balle est = a 1 { balle_y-=balle_speed // on fait aller la balle dans la direction voulu balle_x-=balle_speed // on fait aller la balle dans la direction voulu }
if balle_direction = 2 //si la direction de la balle est = a 2 { balle_y-=balle_speed // on fait aller la balle dans la direction voulu balle_x+=balle_speed // on fait aller la balle dans la direction voulu }
if balle_direction = 3 //si la direction de la balle est = a 3 { balle_x-=balle_speed // on fait aller la balle dans la direction voulu balle_y+=balle_speed // on fait aller la balle dans la direction voulu }
if balle_direction = 4 //si la direction de la balle est = a 4 { balle_x+=balle_speed // on fait aller la balle dans la direction voulu balle_y+=balle_speed // on fait aller la balle dans la direction voulu }
if balle_x > 566 // si la balle touche a la bordure du niveau a droite { if balle_direction = 2{balle_direction2 = 1} // la balle change de direction if balle_direction = 4{balle_direction2 = 3} // la balle change de direction balle_direction = balle_direction2 // la balle change de direction }
if balle_x < 50 // si la balle touche a la bordure du niveau a gauche { if balle_direction = 1{balle_direction2 = 2} // la balle change de direction if balle_direction = 3{balle_direction2 = 4} // la balle change de direction balle_direction = balle_direction2 // la balle change de direction }
if balle_y < 42 // si la balle touche a la bordure du niveau en haut { if balle_direction = 1{balle_direction2 = 3} // la balle change de direction if balle_direction = 2{balle_direction2 = 4} // la balle change de direction balle_direction = balle_direction2 // la balle change de direction }
if balle_x > batte_x&&balle_x < batte_x+64 //si la balle touche a la batte { if balle_y > batte_y-8&&balle_y < batte_y+8 //si la balle touche a la batte { if balle_direction = 3{balle_direction2 = 1} // la balle change de direction if balle_direction = 4{balle_direction2 = 2} // la balle change de direction balle_direction = balle_direction2 // la balle change de direction } }
if balle_y > 480 // si la balle sort du niveau par en bas { show_message('Vous avez perdu une vie') // on affiche un message de perte de vie if vie < 1 // on verrifie si il reste une vie { a = show_message_ext('Vous etes mort, Continuer ?','Oui','Non','') //si il n'en reste pas on demande si on quitte ou pas if a = 1{game_restart()} if a = 0{game_end()} } vie -= 1 //enleve une vie reset = 1 //reset la partie }
if blockrestant = 0 //si tout les block sont detruit { niveau+=1 // on monte le niveau de 1 scorex+=niveau*1000 //augmente le score de 1000 fois le niveau nextstage = 1 //on renitialise le niveau pour un nouveau niveau }
|