Adamo Utilisateur confirmé: Rang ***
Messages : 681 Localisation : Quebec
| Sujet: Casse brick en un script lol Mar 20 Mai 2008 - 16:39 | |
| A mettre de dans l'event DRAW si quelqun a envie de tester lol - Code:
-
//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 }
jai mis des commentaire meme si c'est pas tres utiles mes commentaire lol de toute facon je crois pas que quelqun veulent etudier ce script qui est tres simple et bourré d'erreur lol |
|
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Casse brick en un script lol Mar 20 Mai 2008 - 17:10 | |
| Haha Cool |
|
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Casse brick en un script lol Mar 20 Mai 2008 - 19:29 | |
| lol j'adore ^^ Belle performance |
|
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Casse brick en un script lol Mar 20 Mai 2008 - 20:22 | |
| 31598 !!! j'adore ce jeu ! il est géant, pi en plus, il rame pas :gniah: franchement, bravo, c'est un bel exploit |
|
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Casse brick en un script lol Mar 20 Mai 2008 - 20:24 | |
| woaw c'est vraiment sympa ! |
|
Invité Invité
| Sujet: Re: Casse brick en un script lol Mar 5 Aoû 2008 - 23:18 | |
| lol c'est la première fois que je vois ce topic bravo !
en,fait ça me rapelle un peu un jeu qui s'apellai hangman ou scriptgame, bast l'a posté fort longtemps et il a été crée par un natif de gm lol |
|
edi9999 Utilisateur confirmé: Rang *****
Messages : 2480 Localisation : France Projet Actuel : theatre flashy
| Sujet: Re: Casse brick en un script lol Mar 5 Aoû 2008 - 23:30 | |
| lol pas mal,c'est pratique pour donner son jeu a quelqun. |
|
shadow_the_killer Utilisateur confirmé: Rang ****
Messages : 1272 Localisation : Québec\Canada Projet Actuel : Chrono Trigger
| Sujet: Re: Casse brick en un script lol Mer 6 Aoû 2008 - 1:39 | |
| pas mal 104970 avec -36 vie ^^ |
|
Contenu sponsorisé
| Sujet: Re: Casse brick en un script lol | |
| |
|