jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Bataille terrestre (version child) Sam 25 Mar 2017 - 16:02 | |
| Vous vous souvenez ? J'ai dit que je trouvais qu'on ne faisait pas assez de jeux en panoramic pour les enfants. Alors, j'ai récapitulé, parmi les miens et je me suis dit que la bataille terrestre, que j'avais fait, conviendrait bien, mais je suppose que vous n'aimeriez pas que vos bambins acquièrent un langage de charretier (« je t'ai manqué, salopard ! »). Alors, j'en ai fait une version Child. C'est la même, mais cette fois avec des phrases très mignonnes. Ainsi, vous pouvez le confier sans crainte à vos enfants, petits enfants, arrière petits... - Code:
-
rem ' Bataille terrestre (Version child) - par jjn4 - Ver-140317.1.0 - 14/03/2017 dim CD% : rem Nombre de Chars Détruits dim CED% : rem Nombre de Chars Ennemis Détruits dim ECS%(25) , ECT%(25) : rem Emplacement des Chars amis et ennemis dim IO% : rem Indicateur comme quoi c`est le tour de l`Ordi de jouer dim KCH% : rem Cellules des grilles concernées dim NCP% : rem Nombre de chars placés dim NJ% : rem Niveau de Jeu dim NPJ% , NPO% : rem Nombre de Points du Joueur et de l`Ordi dim VMI% , VMJ% , VMK% , VMA$ : rem Variables à utilisation multiple label clic rem form0 width 0,1050 height 0,570 caption 0,"BATAILLE TERRESTRE (Version child) - Ver-140317.1.0"
rem Cache de début de jeu form 200 width 200,1050 height 200,570 caption 200,"Bataille terrestre - Suspens..." panel 210 parent 210,200 left 210,200 top 210,200 width 210,600 height 210,80 font_bold 210 font_size 210,20 font_name 210,"Arial" caption 210,"B A T A I L L E T E R R E S T R E" alpha 220 parent 220,200 left 220,400 top 220,280 font_size 220,180 font_name 220,"Webdings" font_color 220,100,0,0 caption 220,chr$(196) alpha 230 parent 230,200 left 230,50 top 230,90 font_size 230,100 font_name 230,"Webdings" font_color 230,125,125,0 caption 230,chr$(118) alpha 240 parent 240,200 left 240,750 top 240,100 font_size 240,200 font_name 240,"Webdings" font_color 240,0,0,255 caption 240,chr$(249) rem Construction des grilles de jeu for VMK%=0 to 1 : rem Objets 1 à 25 pour la grille du joueur for VMI%=0 to 4 : rem Objets 26 à 50 pour l`ordinateur for VMJ%=1 to 5 picture VMI%*5+VMJ%+25*VMK% left VMI%*5+VMJ%+25*VMK%,VMJ%*80-35+450*VMK% top VMI%*5+VMJ%+25*VMK%,VMI%*80+50 width VMI%*5+VMJ%+25*VMK%,76 height VMI%*5+VMJ%+25*VMK%,76 select VMK% case 0 : cursor_cross VMI%*5+VMJ%+25*VMK% case 1 : cursor_noparking VMI%*5+VMJ%+25*VMK% end_select on_click VMI%*5+VMJ%+25*VMK%,clic on_click VMI%*5+VMJ%,clic next VMJ% next VMI% next VMK%
rem Cadres d`écriture alpha 51 left 51,165 top 51,15 font_bold 51 font_size 51,12 caption 51,"TA GRILLE DE JEU" alpha 52 left 52,520 top 52,15 font_bold 52 font_size 52,12 caption 52,"LA GRILLE DE JEU DE TON ADVERSAIRE" alpha 53 left 53,45 top 53,465 font_bold 53 font_size 53,12 font_color 53,0,180,255
rem Dessins des fléches for VMI%=55 to 59 : rem Objets 55, 56, 57, 58 et 59 alpha VMI% left VMI%,8 top VMI%,(VMI%-55)*80+65 font_name VMI%,"Wingdings" font_size VMI%,30 font_color VMI%,0,0,255 caption VMI%,chr$(240) alpha VMI%+5 : rem Objets 60, 61, 62, 63 et 64 hide VMI%+5 left VMI%+5,458 top VMI%+5,(VMI%-55)*80+65 font_name VMI%+5,"Wingdings" font_size VMI%+5,30 font_color VMI%+5,0,0,255 caption VMI%+5,chr$(240) next VMI%
rem Inscription des points alpha 65 left 65,435 top 65,35 font_color 65,255,0,0 caption 65,NPJ% alpha 66 left 66,495 top 66,35 font_color 66,255,0,0 caption 66,NPO% alpha 67 left 67,446 top 67,18 font_color 67,255,0,0 caption 67,"SCORES" rem Deuxième ligne de commentaires alpha 73 left 73,45 top 73,490 font_bold 73 font_size 73,12 font_color 73,0,0,255 rem Dessin du char dans la marge alpha 80 left 80,910 top 80,20 font_bold 80 font_size 80,12 caption 80," BATAILLE"+chr$(13)+"TERRESTRE" picture 85 left 85,930 top 85,65 width 85,80 height 85,60 color 85,240,240,240 char(85) rem Affichage des boutons de jeu : rem Objets n° 90, 100, 110 et 120 for VMI%=1 to 4 button VMI%*10+80 left VMI%*10+80,910 top VMI%*10+80,VMI%*95+45 width VMI%*10+80,110 height VMI%*10+80,85 font_bold VMI%*10+80 font_size VMI%*10+80,14 font_name VMI%*10+80,"Arial" on_click VMI%*10+80,clic next VMI% caption 90,"Niveau 1" caption 100,"Rejouer" caption 110,"Aide" caption 120,"Quitter" inactive 100 midi_on midi_instrument 127 midi_volume 127 oui() rem Objets système n°200 à 240 pour le cache hide 200
end : rem ' Début des routines =========================================
sub aide() : rem Explications du jeu dim_local bai$ , cai$ , dai$ : rem Variables à utilisation multiple cai$=chr$(13) dai$=cai$+cai$ application_title " Mode d'emploi du jeu" bai$=" Tu connais la bataille navale ? Eh bien, la bataille terrestre, c'est"+cai$ bai$=bai$+"pareil, sauf que c'est sur terre, avec des chars camouflés dans la forêt."+dai$ bai$=bai$+" Chaque camp a 4 chars et doit faire sauter ceux de l'ennemi avant que"+cai$ bai$=bai$+"celui-ci ne vainque son adversaire. Les explosions qui se produisent"+cai$ bai$=bai$+"provoquent des cratères qui permettent de savoir où on a déjà tiré. Mais"+cai$ bai$=bai$+"seulement au niveau 1. Au niveau 2, il faut faire attention à ne pas tirer"+cai$ bai$=bai$+"2 fois au même endroit, parce que l'ordinateur, lui, ne s'y trompe pas." message bai$ end_sub
sub boum() : rem Tir du joueur dim_local ibo% : rem Variables à utilisation multiple 2d_target_is KCH% 2d_pen_color 255,0,0 for ibo%=1 to 70 2d_line 38-rnd(36),38-rnd(36),38+rnd(36),38+rnd(36) 2d_line 38-rnd(36),38+rnd(36),38+rnd(36),38-rnd(36) next ibo% midi_instrument 127 midi_play 50,6 pause 500 if NJ%=2 feuille(KCH%) else trou(KCH%) end_if for ibo%=26 to 50 inactive ibo% next ibo% end_sub
sub char(kcha%) : rem Dessin d`un char dim_local icha% : rem Variables à utilisation multiple 2d_target_is kcha% 2d_pen_color 135,135,0 for icha%=1 to 8 2d_line 17+icha%,48+icha%,75-icha%,48+icha% 2d_line 25-icha%,40+icha%,65+icha%,40+icha% next icha% 2d_fill_color 135,135,0 2d_rectangle 37,37,53,42 2d_rectangle 33,32,57,40 for icha%=1 to 3 2d_line 1,28+icha%,40,34+icha% next icha% 2d_fill_color 180,180,180 for icha%=1 to 5 2d_circle 19+icha%*9,50,5 next icha% end_sub
sub choix() : rem Choix des emplacements des 4 chars du joueur dim_local ich% : rem Variables à utilisation multiple NCP%=NCP%+1 if NCP%<5 caption 73,"Place tes 4 chars camouflés dans la forêt" KCH%=number_click if ECS%(KCH%)<>1 ECS%(KCH%)=1 2d_target_is KCH% 2d_pen_color 135,135,0 for ich%=1 to 8 2d_line 1+ich%,48+ich%,59-ich%,48+ich% 2d_line 9-ich%,40+ich%,49+ich%,40+ich% next ich% 2d_fill_color 135,135,0 2d_rectangle 21,37,36,42 2d_rectangle 17,32,41,40 for ich%=1 to 3 2d_line 41,33+ich%,74,27+ich% next ich% 2d_fill_color 180,180,180 for ich%=1 to 5 2d_circle 3+ich%*9,50,5 next ich% midi_instrument 120 midi_play 108,10 if NCP%=4 remonte() caption 73,"C'est à toi de tirer" for ich%=55 to 59 hide ich% show ich%+5 next ich% for ich%=1 to 25 cursor_noparking ich% cursor_cross ich%+25 active ich%+25 next ich% end_if else non() end_if end_if end_sub
clic: : rem Redirection de tous les on-click VMK%=number_click if VMK%>0 and VMK%<26 choix() end_if if VMK%>25 and VMK%<51 tir() end_if select VMK% case 90 : niveau() case 100 : oui() case 110 : aide() case 120 : quitter() end_select return
sub croix() : rem Dessin des croix if IO%=0 CED%=CED%+1 else CD%=CD%+1 end_if 2d_fill_color 255,0,0 2d_pen_color 255,0,0 2d_rectangle 35,10,41,70 2d_rectangle 20,26,56,32 end_sub
sub feuille(qfeu%) : rem Dessin des feuilles dans une cellule dim_local jfeu% : rem Variables à utilisation multiple dim_local cxfeu% , cyfeu% , rfeu% : rem Coordonnées des cercles de feuilles dim_local cfeu% : rem Couleur des feuilles 2d_target_is qfeu% color qfeu%,120,70,0 for jfeu%=1 to 90 cxfeu%=int(rnd(70))+1 cyfeu%=int(rnd(70))+1 rfeu%=int(rnd(12))+2 cfeu%=int(rnd(80))+120 2d_fill_color 0,cfeu%,0 2d_pen_color 0,cfeu%,0 2d_circle cxfeu%,cyfeu%,rfeu% next jfeu% end_sub
sub feuilles() : rem Dessin de la végétation dim_local ife% : rem Variables à utilisation multiple for ife%=1 to 25 feuille(ife%) feuille(ife%+25) next ife% end_sub
sub fin() : rem Fin du jeu dim_local kfi% , afi$ : rem Variables à utilisation multiple if CD%=4 remonte() caption 73,"Ah, cette fois, j'ai gagné ! Veux-tu rejouer ?" for kfi%=26 to 50 if ECT%(kfi%-25)=1 char(kfi%) end_if next kfi% NPO%=NPO%+1 end_if if CED%=4 afi$="Oh, tu as gagné, tu es vraiment trop fort ! " afi$=afi$+"Veux-tu rejouer ?" remonte() caption 73,afi$ NPJ%=NPJ%+1 end_if caption 65,NPJ% caption 66,NPO% active 90 active 100 end_sub
sub niveau() : rem Choix du niveau de jeu dim_local vmvi% , vmvi$ : rem Variables à utilisation Multiple vmvi$=caption$(90) vmvi%=val(right$(vmvi$,1)) if vmvi%=1 NJ%=2 caption 90,"Niveau 2" else NJ%=1 caption 90,"Niveau 1" end_if end_sub
sub non() : rem Erreur de placement de ses chars par le joueur NCP%=NCP%-1 remonte() caption 73,"Tu as déjà placé un char à cet endroit, recommence" end_sub
sub ordi() : rem Action de l`ordinateur dim_local ior% , aor$ , bor$ : rem Variables à utilisation multiple KCH%=int(rnd(25))+1 IO%=1 for ior%=1 to 9999 if ECS%(KCH%)>1 KCH%=int(rnd(25))+1 else exit_for end_if next ior% pause 2000 boum() if ECS%(KCH%)=1 croix() ECS%(KCH%)=2 if (4-CD%)>1 bor$="s" else bor$="" end_if if CD%<4 aor$="Là, je t'ai eu ! Mais rassure-toi, il te reste encore " aor$=aor$+str$(4-CD%)+" char"+bor$+". A toi" remonte() caption 73,aor$ end_if else remonte() ior%=int(rnd(5))+1 select ior% case 1 : caption 73,"Bon, eh bien c'est raté. A toi." case 2 : caption 73,"Je me demande bien où tu es caché ! A toi." case 3 : caption 73,"Ah, je croyais que c'était là ! A toi." case 4 : caption 73,"Tu es drôlement bien camouflé ! A toi." case 5 : caption 73,"Raté, tu es vraiment trop fort ! A toi." end_select ECS%(KCH%)=3 end_if if CD%>3 fin() end_if for ior%=26 to 50 active ior% next ior% end_sub
sub oui() : rem Le joueur accepte de rejouer dim_local iou% , jou% : rem Variables à utilisation multiple CD%=0 CED%=0 IO%=0 for iou%=1 to 25 ECT%(iou%)=0 ECS%(iou%)=0 next iou% for iou%=1 to 4 KCH%=int(rnd(25))+1 for jou%=1 to 5 if ECT%(KCH%)=1 KCH%=int(rnd(25))+1 end_if next jou% ECT%(KCH%)=1 next iou% for iou%=55 to 59 show iou% hide iou%+5 next iou% for iou%=1 to 25 cursor_cross iou% cursor_noparking iou%+25 color iou%,255,255,255 color iou%+25,255,255,255 next iou% NCP%=0 feuilles() inactive 100 remonte() caption 73,"Place tes 4 chars camouflés dans la forêt" end_sub
sub quitter() : rem Terminer le jeu dim_local aqu% , aqu$ : rem Variables à utilisation multiple aqu$=str$(NPJ%)+" à "+str$(NPO%)+", aïe, aïe, aïe !"+chr$(13) aqu$=aqu$+"Tu veux déjà arrêter ?" aqu%=message_confirmation_yes_no(aqu$) if aqu%=1 midi_off terminate end_if end_sub
sub remonte() : rem Remonte le texte d`une ligne caption 53,caption$(73) end_sub
sub tir() : rem Tir de la part de l`ordinateur dim_local iti% , ati$ : rem Variables à utilisation multiple inactive 90 if NCP%>3 and CD%<4 and CED%<4 KCH%=0 IO%=0 KCH%=number_click if ECT%(KCH%-25)<2 boum() if ECT%(KCH%-25)=1 croix() if CED%<4 ati$="Tu as détruit un de mes chars, il ne m'en reste plus que " ati$=ati$+str$(4-CED%)+". A moi maintenant." remonte() caption 73,ati$ end_if else remonte() iti%=int(rnd(5))+1 select iti% case 1 : caption 73,"Pas de chance ! C'est à moi maintenant !" case 2 : caption 73,"On ne peut pas toujours gagner. A moi, maintenant" case 3 : caption 73,"Ouf, j'ai eu chaud ! A moi, maintenant." case 4 : caption 73,"Ouh là là ! Tu m'as manqué de peu. A moi, maintenant." case 5 : caption 73,"Heureusement que je n'étais pas là ! A moi, maintenant." end_select end_if if ECT%(KCH%-25)=1 ECT%(KCH%-25)=2 end_if if CED%<4 ordi() else fin() end_if end_if end_if end_sub
sub trou(qtr%) : rem Dessin d`un trou 2d_target_is qtr% feuille(qtr%) 2d_fill_color 120,70,0 2d_pen_color 120,70,0 2d_circle 38,38,25 end_sub
| |
|