FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Clone de Alchemy de PopCap Games  Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Clone de Alchemy de PopCap Games  Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Clone de Alchemy de PopCap Games  Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Clone de Alchemy de PopCap Games  Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Clone de Alchemy de PopCap Games  Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Clone de Alchemy de PopCap Games  Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Clone de Alchemy de PopCap Games  Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Clone de Alchemy de PopCap Games  Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Clone de Alchemy de PopCap Games  Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Clone de Alchemy de PopCap Games  Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Clone de Alchemy de PopCap Games  Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Clone de Alchemy de PopCap Games  Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Clone de Alchemy de PopCap Games  Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Clone de Alchemy de PopCap Games  Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Clone de Alchemy de PopCap Games  Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Clone de Alchemy de PopCap Games

Aller en bas 
3 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Clone de Alchemy de PopCap Games  Empty
MessageSujet: Clone de Alchemy de PopCap Games    Clone de Alchemy de PopCap Games  EmptySam 9 Avr 2011 - 9:48

J'ai réalisé un clone du jeu Alchemy (payant) de PopCap Games. J'ai repris les règles, mais aucun graphisme. Le programme fournit des pions, les uns après les autres? Le but consiste à remplir entièrement le plan de jeu pour passer au niveau suivant. Une ligne ou une colonne entièrement pleine s'efface automatiquement, en gardant la marque d'occupation. Chaque cellule peut être réutilisée plusieurs fois, mais doit avoir été occupée au moins une fois. Le premier pion fourni est un joker qui peut être placé n'importe où; les pièce suivantes doivent toucher au moins une autre pièce horizontalement ou verticalement, mais en reproduisant le même motif ou la même couleur. Les pièces peuvent être dirigées par le clavier: flèches, Entrée pour fixer la pièce dans une case, ou BackSpace pour l'ignorer et passer à la suivante. Les pièces peuvent aussi être dirigées à la souris: un clic gauche dans une case fixe la pièce dans cette case, un clic droit jette la pièce. Si l'on tente de fixer une pièce dans une case invalide, elle clignote brièvement, et il y a 3 beeps. On ne peut jeter qu'au maximum 4 pièces à la suite avant de perdre la partie.

Le programme est fourni en deux parties: le jeu lui-même( Alchemy.bas), et un outil de génération de l'environnement graphique (Construction des elements graphiques.bas).

Alchemy.bas:
Code:
' ALCHEMY

label start, nouveau_pion, pion_suivant, erreur, attente
label test_haut, test_bas, test_gauche, test_droite, sauter, jeter
label tester_ligne, tester_colonne, effacer_plan, effacer_tout
label effacer_ligne, effacer_colonne

dim n_objet%                              : ' dernier numéro d'objet défini
dim n_sprite%                              : ' dernier numéro de sprite défini
dim plan_piece%(8,9), plan_couleur%(8,9)  : ' plan de jeu
dim plan_sprite%(8,9)                      : ' plan de jeu, numéros des sprites
dim plan_purge%(8,9)                      : ' plan de jeu, cellules purgées
dim couleur%(10,3)                        : ' 10 couleurs RGB
dim o_plan%                                : ' numéro d'objet du plan
dim o_start%                              : ' numéro d'objet bouton démarrer
dim o_sprite%                              : ' numéro d'objet pour modifier le sprite
dim o_jauge%                              : ' numéro d'objet de la jauge d'échecs
dim o_niveau%                              : ' numéro d'objet pour affichage du niveau
dim o_effacer%                            : ' numéro d'objet du bouton effacer
dim o_comment%                            : ' numéro d'objet du mode d'emploi
dim pion%                                  : ' numéro du pion à générer
dim max_pion%                              : ' nombre maxi de pions définis
dim pion_fichier$(10)                      : ' noms des images des pions
dim pion_type%(10)                        : ' type du pion
'                                              1 = joker
'                                              2 = bombe
'                                              n>2: pions réels
dim lig%, col%                            : ' position du sprite actuel
dim niveau%                                : ' niveau de jeu
dim n_couleurs%                            : ' nombre de couleurs à utiliser
dim n_pions%                              : ' nombre de pions à utiliser
dim couleurs%(30,3)                        : ' couleurs R,G,B
dim r%, g%, b%                            : ' couleurs sélectionnées
dim couleur_pion%                          : ' indice de la couleur actuelle du sprite
dim ok%                                    : ' flag emplacement valide
dim n_ok%                                  : ' nombre de côtés valides
dim ok_ligne%, ok_colonne%                : ' flags ligne/colonne pleine
dim compteur%                              : ' compteur des cellules restant à purger
dim echecs%                                : ' compteur d'échecs (maxi 4 autorisés)
dim n_joker%                              : ' compteur de joker
dim frequence_joker%                      : ' frequence du joker (1/...)
dim couleurs_niveau%(10)                  : ' nombre de couleurs par niveau
dim pions_niveau%(10)                      : ' nombre de pions par niveau
dim i%, j%, debut%, s$

data 9
data "joker.bmp","bombe.bmp"
data "cercle.bmp","carre.bmp","losange.bmp","croix.bmp"
data "fleche.bmp","smiley.bmp"
data "Triangle.bmp"
data 255,0,0                              : ' couleur 1
data 0,255,0                              : ' couleur 2
data 0,0,255                              : ' couleur 3
data 255,255,0                            : ' couleur 4
data 255,0,255                            : ' couleur 5
data 0,255,255                            : ' couleur 6
data 255,0,127                            : ' couleur 7
data 255,127,0                            : ' couleur 8
data 0,255,127                            : ' couleur 9
data 127,255,0                            : ' couleur 10
data 0,127,255                            : ' couleur 11
data 127,0,255                            : ' couleur 12
data 6,8,10,12                            : ' couleurs par niveau
data 6,8,9,9                              : ' nombre de pions par niveau

alpha 9999 : left 9999,10 : top 9999,500

read max_pion%
for i%=1 to max_pion%
    read pion_fichier$(i%)
next i%
for i%=1 to 12
    for j%=1 to 3
        read couleurs%(i%,j%)
    next j%
next i%
for i%=1 to 4
    read couleurs_niveau%(i%)
next i%
for i%=1 to 4
    read pions_niveau%(i%)
next i%

width 0,1000 : height 0,600

n_objet% = n_objet% + 1
o_plan% = n_objet%
scene2d o_plan% : top o_plan%,100 : left o_plan%,100
width o_plan%,455 : height o_plan%,405
sprite_target_is o_plan%
file_load o_plan%,"plan_initial.bmp"

n_objet% = n_objet% + 1
o_start% = n_objet%
button o_start% : top o_start%,10 : left o_start%,10 : caption o_start%,"Démarrer"
on_click o_start%,start

n_objet% = n_objet% + 1
o_effacer% = n_objet%
button o_effacer% : top o_effacer%,10 : left o_effacer%,150 : caption o_effacer%,"Effacer"
on_click o_effacer%,effacer_plan

n_objet% = n_objet% + 1
o_sprite% = n_objet%
picture o_sprite% : hide o_sprite%
width o_sprite%,45 : height o_sprite%,45

n_objet% = n_objet% + 1
o_jauge% = n_objet%
track_bar o_jauge% : top o_jauge%,300 : left o_jauge%,30
vertical o_jauge% : min o_jauge%,0 : max o_jauge%,4
position o_jauge%,4

n_objet% = n_objet% + 1
o_niveau% = n_objet%
alpha o_niveau% : top o_niveau%,60 : left o_niveau%,200
font_size o_niveau%,12 : font_bold o_niveau%

n_objet% = n_objet% + 1
o_comment% = n_objet%
alpha o_comment% : top o_comment%,100 : left o_comment%,570
font_bold o_comment% : font_size o_comment%,10
s$ = "Le but du jeu est d'occuper au moins une fois,"+chr$(13)
s$ = s$ + "chaque case par un des pions proposés."+chr$(13)+chr$(13)
s$ = s$ + "La premier pion est un joker."+chr$(13)
s$ = s$ + "Placez-le dans n'importe quelle case."+chr$(13)
s$ = s$ + "Les pions suivants doivent être placés"+chr$(13)
s$ = s$ + "de sorte à toucher au moins un autre"+chr$(13)
s$ = s$ + "pion, mais ayant soit la même forme,"+chr$(13)
s$ = s$ + "soit la même couleur."+chr$(13)+chr$(13)
s$ = s$ + "Les pions peuvent être déplacés, soit"+chr$(13)
s$ = s$ + "par les flèches et fixés par Entrée,"+chr$(13)
s$ = s$ + "soit en le plaçant par un clic gauche"+chr$(13)
s$ = s$ + "directement dans une cellule."+chr$(13)
s$ = s$ + "Un pion non utilisable peut être jeté"+chr$(13)
s$ = s$ + "par un click droit. On peut jeter au"+chr$(13)
s$ = s$ + "maximum 4 pions avant de perdre la partie."+chr$(13)
s$ = s$ + "Une bombe noire permet de supprimer un pion"+chr$(13)
s$ = s$ + "déjà placé."+chr$(13)+chr$(13)
s$ = s$ + "Une ligne ou une colonne entièrement pleine"+chr$(13)
s$ = s$ + "s'efface automatiquement; laissant une"+chr$(13)
s$ = s$ + "trace visuelle. Lorsque toutes les cellules"+chr$(13)
s$ = s$ + "ont été utilisées, le programme passe au"+chr$(13)
s$ = s$ + "niveau suivant."+chr$(13)+chr$(13)
s$ = s$ + " La touche Echap permet de quitter la phase de jeu."
caption o_comment%,s$

niveau% = 1
echecs% = 1

end

start:
inactive o_effacer%
if compteur%=0 then compteur% = 8*9
set_focus 0
caption o_niveau%,"Niveau "+str$(niveau%)
if compteur%=8*9 then debut% = 1
n_couleurs% = couleurs_niveau%(niveau%)
n_pions% = pions_niveau%(niveau%)
position o_jauge%,4-echecs%
frequence_joker% = 10
lig% = 1
col% = 1

nouveau_pion:
n_sprite% = n_sprite% + 1
sprite n_sprite%
' lig% = 1
' col% = 1
gosub pion_suivant
if debut%=1 then pion% = 1
' message str$(pion%)+" "+pion_fichier$(pion%)
file_load o_sprite%,pion_fichier$(pion%)
if pion%>2
    2d_target_is o_sprite%
    2d_flood 23,23,r%,g%,b%
end_if
file_save o_sprite%,"sprite.bmp"
sprite_file_load n_sprite%,"sprite.bmp"
if lig%=8
    i% = -20
else
    i% = 20
end_if
if col%=9
    j% = -20
else
    j% = 20
end_if
sprite_position n_sprite%,(col%-1)*50+j%,(lig%-1)*50+i%
repeat
    if mouse_left_down(o_plan%)=1
        i% = mouse_x_position(o_plan%)
        j% = mouse_y_position(o_plan%)
        repeat : until mouse_left_down(o_plan%)=0
        lig% = int((j%-5)/50) + 1
        col% = int((i%-5)/50) + 1
        sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
caption 9999,str$(lig%)+","+str$(col%)
        goto sauter
    end_if
    if mouse_right_down(o_plan%)=1
        repeat : until mouse_right_down(o_plan%)=0
        goto jeter
    end_if
    i% = scancode
    if i%>0
        while scancode>0 : end_while
        select i%
            case 37
                if col%>1
                    col% = col% - 1
                    sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
                end_if
            case 38
                if lig%>1
                    lig% = lig% - 1
                    sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
                end_if
            case 39
                if col%<9
                    col% = col% + 1
                    sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
                end_if
            case 40
                if lig%<8
                    lig% = lig% + 1
                    sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
                end_if
            case 8
jeter:
                sprite_delete n_sprite%
                echecs% = echecs% + 1
                position o_jauge%,4-echecs%
                if echecs%>4
                    i% = message_error_ok("Dommage ! Vous avez perdu !")
                    gosub effacer_plan
                    return
                end_if
                n_sprite% = n_sprite% - 1
                goto nouveau_pion
            case 13
sauter:
                if pion%=2
                    if plan_piece%(lig%,col%)=0
                        gosub erreur
                        goto attente
                    else
                        sprite_delete n_sprite%
                        n_sprite% = n_sprite% - 1
                        sprite_file_load plan_sprite%(lig%,col%),"purge.bmp"
                        sprite_position plan_sprite%(lig%,col%),(col%-1)*50+5,(lig%-1)*50+5
                        plan_piece%(lig%,col%) = 0
                        goto nouveau_pion
                    end_if
                end_if
                if plan_piece%(lig%,col%)>0
                    gosub erreur
                else
                    ok% = 1
                    n_ok% = 0
                    if debut%=0
                        gosub test_haut
                        gosub test_bas
                        gosub test_gauche
                        gosub test_droite
                    else
                        debut% = 0
                        n_ok% = 1
                    end_if
                    if (ok%=1) and (n_ok%>0)
                        plan_piece%(lig%,col%) = pion%
                        plan_couleur%(lig%,col%) = couleur_pion%
                        if plan_sprite%(lig%,col%)>0 then sprite_delete plan_sprite%(lig%,col%)
                        plan_sprite%(lig%,col%) = n_sprite%
                        if echecs%>0
                            echecs% = echecs% - 1
                            position o_jauge%,4-echecs%
                        end_if
                        if plan_purge%(lig%,col%)=0
                            plan_purge%(lig%,col%) = 1
                            compteur% = compteur% - 1
                            if compteur%=0
                                message "Bravo ! Vous avez gagné !"
                                niveau% = niveau% + 1
                                caption o_niveau%,"Niveau "+str$(niveau%)
                                gosub effacer_tout
                                goto start
                            end_if
                        end_if
                        gosub tester_ligne
                        gosub tester_colonne
                        if ok_ligne%=1 then gosub effacer_ligne
                        if ok_colonne%=1 then gosub effacer_colonne
                        goto nouveau_pion
                    end_if
                    gosub erreur
                end_if
        end_select
    end_if
attente:
until i%=27
sprite_delete n_sprite%
message "Dommage. La partie est arrêtée."
active o_effacer%
return

effacer_plan:
gosub effacer_tout
niveau% = 1
return

effacer_tout:
for i%=1 to 8
    for j%=1 to 9
        plan_piece%(i%,j%) = 0
        plan_couleur%(i%,j%) = 0
        plan_purge%(i%,j%) = 0
        if plan_sprite%(i%,j%)>0
            sprite_delete plan_sprite%(i%,j%)
            plan_sprite%(i%,j%) = 0
        end_if
        n_sprite% = 0
        compteur% = 0
    next j%
next i%
echecs% = 0
position o_jauge%,4-echecs%
return

tester_ligne:
ok_ligne% = 1
for i%=1 to 9
    if plan_piece%(lig%,i%)=0 then ok_ligne% = 0
next i%
return

tester_colonne:
ok_colonne% = 1
for i%=1 to 8
    if plan_piece%(i%,col%)=0 then ok_colonne% = 0
next i%
return

effacer_ligne:
for i%=1 to 9
    sprite_file_load plan_sprite%(lig%,i%),"purge.bmp"
    sprite_position plan_sprite%(lig%,i%),(i%-1)*50+5,(lig%-1)*50+5
    plan_piece%(lig%,i%)= 0
next i%
return

effacer_colonne:
for i%=1 to 8
    sprite_file_load plan_sprite%(i%,col%),"purge.bmp"
    sprite_position plan_sprite%(i%,col%),(col%-1)*50+5,(i%-1)*50+5
    plan_piece%(i%,col%)= 0
next i%
return


test_haut:
if lig%=1 then return
if plan_piece%(lig%-1,col%)=0 then return
n_ok% = n_ok% + 1
if pion%=1
    if plan_piece%(lig%-1,col%)>0 then return
else
    if plan_piece%(lig%-1,col%)=1 then return
    if plan_piece%(lig%-1,col%)=pion% then return
    if plan_couleur%(lig%-1,col%)=couleur_pion% then return
end_if
ok% = 0
return

test_bas:
if lig%=8 then return
if plan_piece%(lig%+1,col%)=0 then return
n_ok% = n_ok% + 1
if pion%=1
    if plan_piece%(lig%+1,col%)>0 then return
else
    if plan_piece%(lig%+1,col%)=1 then return
    if plan_piece%(lig%+1,col%)=pion% then return
    if plan_couleur%(lig%+1,col%)=couleur_pion% then return
end_if
ok% = 0
return

test_gauche:
if col%=1 then return
if plan_piece%(lig%,col%-1)=0 then return
n_ok% = n_ok% + 1
if pion%=1
    if plan_piece%(lig%,col%-1)>0 then return
else
    if plan_piece%(lig%,col%-1)=1 then return
    if plan_piece%(lig%,col%-1)=pion% then return
    if plan_couleur%(lig%,col%-1)=couleur_pion% then return
end_if
ok% = 0
return

test_droite:
if col%=9 then return
if plan_piece%(lig%,col%+1)=0 then return
n_ok% = n_ok% + 1
if pion%=1
    if plan_piece%(lig%,col%+1)>0 then return
else
    if plan_piece%(lig%,col%+1)=1 then return
    if plan_piece%(lig%,col%+1)=pion% then return
    if plan_couleur%(lig%,col%+1)=couleur_pion% then return
end_if
ok% = 0
return

erreur:
beep
sprite_hide n_sprite%
wait 300
beep
sprite_show n_sprite%
wait 300
beep
sprite_hide n_sprite%
wait 300
beep
sprite_show n_sprite%
return

pion_suivant:
couleur_pion% = 0
repeat
    pion% = int(rnd(n_pions%+0.999))
    if (pion%>0) and (pion%<3)
        n_joker% = n_joker% + 1
        if n_joker%=frequence_joker%
            n_joker% = 0
            return
        end_if
        pion% = 0
    end_if
until pion%>0
repeat
    i% = int(rnd(n_couleurs%+0.999))
until i%>0
r% = couleurs%(i%,1)
g% = couleurs%(i%,2)
b% = couleurs%(i%,3)
couleur_pion% = i%
return

Construction des elements graphiques.bas
Code:

dim w%,h%
dim l%,c%,r%,g%,b%

data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,0,128
data 128,0,128
data 255,0,0
data 128,0,128
data 128,0,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,0,128
data 128,0,128
data 255,0,0
data 128,0,128
data 128,0,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 255,0,0
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 255,0,0
data 255,0,0
data 255,0,0
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 255,0,0
data 255,0,0
data 255,0,0
data 255,0,0
data 255,0,0
data 255,0,0
data 255,0,0
data 255,0,0
data 255,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 255,0,0
data 255,0,0
data 255,0,0
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 255,0,0
data 128,0,128
data 128,0,128
data 128,0,128
data 128,0,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,0,128
data 128,0,128
data 255,0,0
data 128,0,128
data 128,0,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,0,128
data 128,0,128
data 255,0,0
data 128,0,128
data 128,0,128
data 128,128,128
data 0,255,255
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,0,128
data 128,128,128
data 128,0,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 128,128,128
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,255,255
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,255,255
data 128,128,128
data 0,255,255
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 0,0,0
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128
data 128,128,128


picture 10 : top 10,10 : left 10,10
w% = 9*45+10*5
h% = 8*45+9*5
width 10,w%
height 10,h%

2d_target_is 10
color 10,230,230,230
2d_pen_color 210,210,210
2d_fill_color 210,210,210

for l%=1 to 9
    2d_rectangle 1,1+(l%-1)*50,w%-2,3+(l%-1)*50
next l%
for c%=1 to 10
    2d_rectangle 1+(c%-1)*50,1,3+(c%-1)*50,h%-2
next c%

2d_pen_color 250,250,250
2d_line 0,0,w%,0
2d_line 0,0,0,h%
for l%=2 to 9
    for c%=1 to 9
        2d_line (c%-1)*50+4,(l%-1)*50,(c%-1)*50+45+5,(l%-1)*50
    next c%
next l%
for l%=1 to 8
    for c%=2 to 10
        2d_line (c%-1)*50,(l%-1)*50+4,(c%-1)*50,(l%-1)*50+45+5+1
    next c%
next l%

2d_pen_color 150,150,150
2d_line 0,8*50+3,w%-1,8*50+3
2d_line 9*50+3,0,9*50+3,h%-1
for l%=1 to 8
    for c%=1 to 9
        2d_line (c%-1)*50+3,(l%-1)*50+3,(c%-1)*50+50,(l%-1)*50+3
    next c%
next l%
for l%=1 to 8
    for c%=1 to 9
        2d_line (c%-1)*50+3,(l%-1)*50+4,(c%-1)*50+3,(l%-1)*50+50
    next c%
next l%

file_save 10,"plan_initial.bmp"
2d_target_is 0
delete 10

' -------------- construction des pions
picture 10 : top 10,10 : left 10,10
width 10,45 : height 10,45
2d_target_is 10

' purge: image d'une cellule purgée
2d_clear
' 2d_flood 1,1,243,247,124
2d_flood 1,1,183,238,218
file_save 10,"purge.bmp"

' pion 1: joker
2d_clear
2d_pen_color 1,0,0
2d_fill_color 1,0,0
for l%=0 to 44
    for c%=0 to 44
        read r% : read g% : read b%
        2d_pen_color r%,g%,b%
        2d_point c%,l%
    next c%
next l%
file_save 10,"joker.bmp"

' pion 2 : bombe
2d_clear
2d_pen_color 1,0,0
2d_fill_color 1,0,0
2d_circle 20,25,12
2d_poly_from 26,16
2d_poly_to 32,10
2d_poly_to 33,13
2d_poly_to 28,20
2d_flood 31,15,1,0,0
2d_pen_color 247,247,25
2d_point 35,11
2d_point 34,9
2d_point 37,10
2d_point 38,12
2d_point 38,8
2d_point 37,6
2d_point 36,3
2d_flood 1,1,0,0,0
file_save 10,"bombe.bmp"

' pion 3: cercle
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_circle 22,22,18
2d_flood 1,1,0,0,0
file_save 10,"cercle.bmp"

' pion 4: carré
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_rectangle 8,8,36,36
2d_flood 1,1,0,0,0
file_save 10,"carre.bmp"

' pion 5: losange
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_poly_from 8,22
2d_poly_to 22,8
2d_poly_to 36,22
2d_poly_to 22,36
2d_poly_to 8,22
2d_flood 1,1,0,0,0
2d_flood 22,22,255,0,0
file_save 10,"losange.bmp"

' pion 6: croix
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_poly_from 8,20
2d_poly_to 20,20
2d_poly_to 20,8
2d_poly_to 24,8
2d_poly_to 24,20
2d_poly_to 36,20
2d_poly_to 36,24
2d_poly_to 24,24
2d_poly_to 24,36
2d_poly_to 20,36
2d_poly_to 20,24
2d_poly_to 8,24
2d_poly_to 8,20
2d_flood 1,1,0,0,0
2d_flood 22,22,255,0,0
file_save 10,"croix.bmp"

' pion 7: flèche
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_poly_from 32,8
2d_poly_to 29,4
2d_poly_to 40,4
2d_poly_to 40,15
2d_poly_to 36,11
2d_poly_to 10,37
2d_poly_to 6,34
2d_poly_to 32,8
2d_flood 1,1,0,0,0
2d_flood 22,22,255,0,0
file_save 10,"fleche.bmp"

' pion 8: smiley
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_circle 22,22,18
2d_fill_color 255,255,255
2d_circle 15,17,5
2d_circle 29,17,5
2d_rectangle 16,27,28,33
2d_flood 1,1,0,0,0
file_save 10,"smiley.bmp"

' pion 9: triangle
2d_clear
2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_poly_from 8,36
2d_poly_to 22,8
2d_poly_to 36,36
2d_poly_to 8,36
2d_flood 1,1,0,0,0
2d_flood 22,22,255,0,0
file_save 10,"triangle.bmp"


end
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Clone de Alchemy de PopCap Games  Empty
MessageSujet: Génial !, tout simplement Génial !   Clone de Alchemy de PopCap Games  EmptySam 9 Avr 2011 - 13:08

Un jeu simple pour se vider le cerveau, c'est tout simplement Génial !

une petite précision : Lancer "Construction des elements graphiques.bas" en premier pour la création de l'environnement graphique avant de lancer "Alchemy.bas".

Pour ceux d'entre nous qui lancent depuis l'éditeur , une petite fonction au lancement pour la construction des graphiques et de destruction des fichiers après fermeture serait la bienvenue pour n'avoir que le fichier Alchemy.bas à ouvrir. Mais c'est un détail.

cheers cheers cheers cheers cheers cheers cheers cheers cheers cheers cheers
Revenir en haut Aller en bas
Invité
Invité




Clone de Alchemy de PopCap Games  Empty
MessageSujet: Re: Clone de Alchemy de PopCap Games    Clone de Alchemy de PopCap Games  EmptySam 9 Avr 2011 - 19:30

Klaus,,
un maître. je pense la même chose pour BDR
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Clone de Alchemy de PopCap Games  Empty
MessageSujet: Re: Clone de Alchemy de PopCap Games    Clone de Alchemy de PopCap Games  EmptySam 9 Avr 2011 - 19:35

Heureux que cela vous plaise ! J'avoue être un "drogué" de ce jeu, et je continuerai à dessiner de nouveaux pions pour augmenter le nombre de niveaux possibles.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Clone de Alchemy de PopCap Games  Empty
MessageSujet: Re: Clone de Alchemy de PopCap Games    Clone de Alchemy de PopCap Games  EmptySam 23 Avr 2011 - 11:58

Bonjour,

Jeu génial Smile
Comme j'aime bien les scores, j'ai rajouté 5 lignes dans le code pour en afficher un. Je mets le source, mais bon, c'est complètement le source de Klaus.
PS: j'ai mis un peu les lignes " à ma sauce" car je suis une grosse faignasse pour me balader dans les lignes, après c'est sans doute moins clair à déchiffrer que le source original de Klaus ...


Code:

' ALCHEMY

label start, nouveau_pion, pion_suivant, erreur, attente, effacer_ligne, effacer_colonne, effacer_plan, effacer_tout
label test_haut, test_bas, test_gauche, test_droite, sauter, jeter, tester_ligne, tester_colonne

dim n_objet%                              : ' dernier numéro d'objet défini
dim n_sprite%                              : ' dernier numéro de sprite défini
dim plan_piece%(8,9), plan_couleur%(8,9)  : ' plan de jeu
dim plan_sprite%(8,9)                      : ' plan de jeu, numéros des sprites
dim plan_purge%(8,9)                      : ' plan de jeu, cellules purgées
dim couleur%(10,3)                        : ' 10 couleurs RGB
dim o_plan%                                : ' numéro d'objet du plan
dim o_start%                              : ' numéro d'objet bouton démarrer
dim o_sprite%                              : ' numéro d'objet pour modifier le sprite
dim o_jauge%                              : ' numéro d'objet de la jauge d'échecs
dim o_niveau%                              : ' numéro d'objet pour affichage du niveau
dim o_effacer%                            : ' numéro d'objet du bouton effacer
dim o_comment%                            : ' numéro d'objet du mode d'emploi
dim pion%                                  : ' numéro du pion à générer
dim max_pion%                              : ' nombre maxi de pions définis
dim pion_fichier$(10)                      : ' noms des images des pions
dim pion_type%(10)                        : ' type du pion ( 1 = joker ;  2 = bombe ; >2: pions réels)
dim lig%, col%                            : ' position du sprite actuel
dim niveau%                                : ' niveau de jeu
dim n_couleurs%                            : ' nombre de couleurs à utiliser
dim n_pions%                              : ' nombre de pions à utiliser
dim couleurs%(30,3)                        : ' couleurs R,G,B
dim r%, g%, b%                            : ' couleurs sélectionnées
dim couleur_pion%                          : ' indice de la couleur actuelle du sprite
dim ok%                                    : ' flag emplacement valide
dim n_ok%                                  : ' nombre de côtés valides
dim ok_ligne%, ok_colonne%                : ' flags ligne/colonne pleine
dim compteur%                              : ' compteur des cellules restant à purger
dim echecs%                                : ' compteur d'échecs (maxi 4 autorisés)
dim n_joker%                              : ' compteur de joker
dim frequence_joker%                      : ' frequence du joker (1/...)
dim couleurs_niveau%(10)                  : ' nombre de couleurs par niveau
dim pions_niveau%(10)                      : ' nombre de pions par niveau
dim i%, j%, debut%, s$, chem$
dim score%

data 9
data "joker.bmp","bombe.bmp", "cercle.bmp","carre.bmp","losange.bmp","croix.bmp", "fleche.bmp","smiley.bmp", "Triangle.bmp" : ' Nom des pions
data 255,0,0, 0,255,0,0,0,255,255,255,0,255,0,255,0,255,255,255,0,127,255,127,0,0,255,127,127,255,0,0,127,255,127,0,255 : ' couleur 1 à 12
data 6,8,10,12                            : ' couleurs par niveau
data 6,8,9,9                              : ' nombre de pions par niveau

alpha 9999 : left 9999,10 : top 9999,500
chem$="C:\Program Files\Panoramic Editor V 0.9.20\sources\Alchemy\"
read max_pion%
for i%=1 to max_pion% : read pion_fichier$(i%) :next i%
for i%=1 to 12
    for j%=1 to 3: read couleurs%(i%,j%): next j%
next i%
for i%=1 to 4: read couleurs_niveau%(i%) : next i%
for i%=1 to 4: read pions_niveau%(i%) : next i%

width 0,1000 : height 0,600

n_objet% = n_objet% + 1 : o_plan% = n_objet%
scene2d o_plan% : top o_plan%,100 : left o_plan%,100 : width o_plan%,455 : height o_plan%,405 :sprite_target_is o_plan%
file_load o_plan%,chem$+"plan_initial.bmp"

n_objet% = n_objet% + 1 : o_start% = n_objet% : button o_start% : top o_start%,10 : left o_start%,10 : caption o_start%,"Démarrer"
on_click o_start%,start
n_objet% = n_objet% + 1 : o_effacer% = n_objet% : button o_effacer% : top o_effacer%,10 : left o_effacer%,150 : caption o_effacer%,"Effacer"
on_click o_effacer%,effacer_plan
n_objet% = n_objet% + 1 : o_sprite% = n_objet% : picture o_sprite% : hide o_sprite% : width o_sprite%,45 : height o_sprite%,45
n_objet% = n_objet% + 1 : o_jauge% = n_objet% : track_bar o_jauge% : top o_jauge%,300 : left o_jauge%,30 : vertical o_jauge% : min o_jauge%,0 : max o_jauge%,4 : position o_jauge%,4
n_objet% = n_objet% + 1 : o_niveau% = n_objet% : alpha o_niveau% : top o_niveau%,60 : left o_niveau%,200 : font_size o_niveau%,12 : font_bold o_niveau%
n_objet% = n_objet% + 1 : o_comment% = n_objet% : alpha o_comment% : top o_comment%,100 : left o_comment%,570 : font_bold o_comment% : font_size o_comment%,10
s$ = "Le but du jeu est d'occuper au moins une fois,"+chr$(13) + "chaque case par un des pions proposés."+chr$(13)+chr$(13) + "La premier pion est un joker."+chr$(13)
s$ = s$ + "Placez-le dans n'importe quelle case."+chr$(13) + "Les pions suivants doivent être placés"+chr$(13)+ "de sorte à toucher au moins un autre"+chr$(13)+ "pion, mais ayant soit la même forme,"+chr$(13)
s$ = s$ + "soit la même couleur."+chr$(13)+chr$(13) + "Les pions peuvent être déplacés, soit"+chr$(13) + "par les flèches et fixés par Entrée,"+chr$(13) + "soit en le plaçant par un clic gauche"+chr$(13)
s$ = s$ + "directement dans une cellule."+chr$(13)+ "Un pion non utilisable peut être jeté"+chr$(13) + "par un click droit. On peut jeter au"+chr$(13) + "maximum 4 pions avant de perdre la partie."+chr$(13)
s$ = s$ + "Une bombe noire permet de supprimer un pion"+chr$(13)+ "déjà placé."+chr$(13)+chr$(13)+ "Une ligne ou une colonne entièrement pleine"+chr$(13)+ "s'efface automatiquement; laissant une"+chr$(13)
s$ = s$ + "trace visuelle. Lorsque toutes les cellules"+chr$(13) + "ont été utilisées, le programme passe au"+chr$(13) + "niveau suivant."+chr$(13)+chr$(13) + " La touche Echap permet de quitter la phase de jeu."
caption o_comment%,s$

niveau% = 1:echecs% = 1:end

start:
inactive o_effacer% : if compteur%=0 then compteur% = 8*9
set_focus 0
score% = 0
caption o_niveau%,"Niveau "+str$(niveau%) + "    Score : " + str$(score%)
if compteur%=8*9 then debut% = 1
n_couleurs% = couleurs_niveau%(niveau%) : n_pions% = pions_niveau%(niveau%)
position o_jauge%,4-echecs%
frequence_joker% = 10 : lig% = 1 : col% = 1

nouveau_pion:
n_sprite% = n_sprite% + 1
sprite n_sprite%
gosub pion_suivant
if debut%=1 then pion% = 1
' message str$(pion%)+" "+pion_fichier$(pion%)
file_load o_sprite%,chem$+pion_fichier$(pion%)
if pion%>2 then 2d_target_is o_sprite% : 2d_flood 23,23,r%,g%,b%
file_save o_sprite%,chem$+"sprite.bmp"
sprite_file_load n_sprite%,chem$+"sprite.bmp"
if lig%=8 then i% = -20 : else : i% = 20
if col%=9 then j% = -20 : else : j% = 20
sprite_position n_sprite%,(col%-1)*50+j%,(lig%-1)*50+i%
sprite_show n_sprite%
repeat
    if mouse_left_down(o_plan%)=1
        i% = mouse_x_position(o_plan%): j% = mouse_y_position(o_plan%)
        repeat : until mouse_left_down(o_plan%)=0
        lig% = int((j%-5)/50) + 1: col% = int((i%-5)/50) + 1 : sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
        caption 9999,str$(lig%)+","+str$(col%)
        goto sauter
    end_if
    if mouse_right_down(o_plan%)=1 then repeat : until mouse_right_down(o_plan%)=0 : goto jeter
    i% = scancode
    if i%>0
        while scancode>0 : end_while
        select i%
            case 37 : if col%>1 then col% = col% - 1 : sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
            case 38 : if lig%>1 then lig% = lig% - 1 : sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
            case 39 : if col%<9 then col% = col% + 1 : sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5
            case 40 : if lig%<8 then lig% = lig% + 1 : sprite_position n_sprite%,(col%-1)*50+5,(lig%-1)*50+5

            case 8
jeter:
                sprite_delete n_sprite%
                echecs% = echecs% + 1
                position o_jauge%,4-echecs%
                if echecs%>4
                    i% = message_error_ok("Dommage ! Vous avez perdu !")
                    gosub effacer_plan
                    return
                end_if
                n_sprite% = n_sprite% - 1
                goto nouveau_pion

            case 13
sauter:
                if pion%=2
                    if plan_piece%(lig%,col%)=0
                        gosub erreur
                        goto attente
                    else
                        sprite_delete n_sprite%
                        n_sprite% = n_sprite% - 1
                        sprite_file_load plan_sprite%(lig%,col%), chem$+"purge.bmp"
                        sprite_position plan_sprite%(lig%,col%),(col%-1)*50+5,(lig%-1)*50+5
                        plan_piece%(lig%,col%) = 0
                        goto nouveau_pion
                    end_if
                end_if
                if plan_piece%(lig%,col%)>0
                    gosub erreur
                else
                    ok% = 1
                    n_ok% = 0
                    if debut%=0
                        gosub test_haut : gosub test_bas : gosub test_gauche : gosub test_droite
                    else
                        debut% = 0: n_ok% = 1
                    end_if
                    if (ok%=1) and (n_ok%>0)
                        plan_piece%(lig%,col%) = pion%
                        plan_couleur%(lig%,col%) = couleur_pion%
                        if plan_sprite%(lig%,col%)>0 then sprite_delete plan_sprite%(lig%,col%)
                        plan_sprite%(lig%,col%) = n_sprite%
                        if echecs%>0
                            echecs% = echecs% - 1
                            position o_jauge%,4-echecs%
                        end_if
                        if plan_purge%(lig%,col%)=0
                            plan_purge%(lig%,col%) = 1
                            compteur% = compteur% - 1
                            if compteur%=0
                                message "Bravo ! Vous avez gagné !"
                                niveau% = niveau% + 1
                                caption o_niveau%,"Niveau "+str$(niveau%)
                                gosub effacer_tout
                                goto start
                            end_if
                        end_if
                        gosub tester_ligne
                        gosub tester_colonne
                        if ok_ligne%=1 then gosub effacer_ligne
                        if ok_colonne%=1 then gosub effacer_colonne
                        goto nouveau_pion
                    end_if
                    gosub erreur
                end_if
        end_select
    end_if
   
attente:
  until i%=27
  sprite_delete n_sprite%
  message "Dommage. La partie est arrêtée."
  active o_effacer%
return

effacer_plan:
  gosub effacer_tout
  niveau% = 1
return

effacer_tout:
  for i%=1 to 8
    for j%=1 to 9
        plan_piece%(i%,j%) = 0 : plan_couleur%(i%,j%) = 0 : plan_purge%(i%,j%) = 0
        if plan_sprite%(i%,j%)>0 then sprite_delete plan_sprite%(i%,j%) : plan_sprite%(i%,j%) = 0
        n_sprite% = 0 : compteur% = 0
    next j%
  next i%
  echecs% = 0 : position o_jauge%,4-echecs%
return

tester_ligne:
  ok_ligne% = 1
  for i%=1 to 9
    if plan_piece%(lig%,i%)=0 then ok_ligne% = 0
  next i%
return

tester_colonne:
  ok_colonne% = 1
  for i%=1 to 8
    if plan_piece%(i%,col%)=0 then ok_colonne% = 0
  next i%
return

effacer_ligne:
  for i%=1 to 9
    sprite_file_load plan_sprite%(lig%,i%),chem$+"purge.bmp"
    sprite_position plan_sprite%(lig%,i%),(i%-1)*50+5,(lig%-1)*50+5
    plan_piece%(lig%,i%)= 0
  next i%
    score%=score%+10
    caption o_niveau%,"Niveau "+str$(niveau%) + "    Score : " + str$(score%)
return

effacer_colonne:
  for i%=1 to 8
    sprite_file_load plan_sprite%(i%,col%),chem$+"purge.bmp"
    sprite_position plan_sprite%(i%,col%),(col%-1)*50+5,(i%-1)*50+5
    plan_piece%(i%,col%)= 0
  next i%
    score%=score%+10
    caption o_niveau%,"Niveau "+str$(niveau%) + "    Score : " + str$(score%)
return


test_haut:
  if lig%=1 then return
  if plan_piece%(lig%-1,col%)=0 then return
  n_ok% = n_ok% + 1
  if pion%=1
    if plan_piece%(lig%-1,col%)>0 then return
  else
    if plan_piece%(lig%-1,col%)=1 then return
    if plan_piece%(lig%-1,col%)=pion% then return
    if plan_couleur%(lig%-1,col%)=couleur_pion% then return
  end_if
  ok% = 0
return

test_bas:
  if lig%=8 then return
  if plan_piece%(lig%+1,col%)=0 then return
  n_ok% = n_ok% + 1
  if pion%=1
    if plan_piece%(lig%+1,col%)>0 then return
  else
    if plan_piece%(lig%+1,col%)=1 then return
    if plan_piece%(lig%+1,col%)=pion% then return
    if plan_couleur%(lig%+1,col%)=couleur_pion% then return
  end_if
  ok% = 0
return

test_gauche:
  if col%=1 then return
  if plan_piece%(lig%,col%-1)=0 then return
  n_ok% = n_ok% + 1
  if pion%=1
    if plan_piece%(lig%,col%-1)>0 then return
  else
    if plan_piece%(lig%,col%-1)=1 then return
    if plan_piece%(lig%,col%-1)=pion% then return
    if plan_couleur%(lig%,col%-1)=couleur_pion% then return
  end_if
  ok% = 0
return

test_droite:
  if col%=9 then return
  if plan_piece%(lig%,col%+1)=0 then return
  n_ok% = n_ok% + 1
  if pion%=1
    if plan_piece%(lig%,col%+1)>0 then return
  else
    if plan_piece%(lig%,col%+1)=1 then return
    if plan_piece%(lig%,col%+1)=pion% then return
    if plan_couleur%(lig%,col%+1)=couleur_pion% then return
  end_if
  ok% = 0
return

erreur:
  beep : sprite_hide n_sprite% : wait 100 : beep : sprite_show n_sprite% : wait 100
  beep : sprite_hide n_sprite% : wait 100 : beep : sprite_show n_sprite%
return

pion_suivant:
  couleur_pion% = 0
  repeat
    pion% = int(rnd(n_pions%+0.999))
    if (pion%>0) and (pion%<3)
        n_joker% = n_joker% + 1
        if n_joker%=frequence_joker% then n_joker% = 0 : return
        pion% = 0
    end_if
  until pion%>0
  repeat : i% = int(rnd(n_couleurs%+0.999)) : until i%>0
  r% = couleurs%(i%,1): g% = couleurs%(i%,2) : b% = couleurs%(i%,3) : couleur_pion% = i%
return
Revenir en haut Aller en bas
Contenu sponsorisé





Clone de Alchemy de PopCap Games  Empty
MessageSujet: Re: Clone de Alchemy de PopCap Games    Clone de Alchemy de PopCap Games  Empty

Revenir en haut Aller en bas
 
Clone de Alchemy de PopCap Games
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Clone Début - Tableur
» Clone de la fonction MESSAGE_INPUT$() de Panoramic
» Clone de la fonction MESSAGE_INPUT() de Panoramic

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les jeux faits avec Panoramic-
Sauter vers: