Mars 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Calendrier |
|
| | Panoramic pour Android : instantané du développement | |
| | |
Auteur | Message |
---|
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Panoramic pour Android : instantané du développement Ven 14 Nov 2014 - 17:24 | |
| Là, je laisse Jack répondre. J'ai voulu installer Andy sur mon poste au boulot mais notre politique de sécurité ne me laisse pas faire ... | |
| | | Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: Panoramic pour Android : instantané du développement Ven 14 Nov 2014 - 20:00 | |
| @Klaus: je ne pense pas qu'il y ait des options à positionner. Panoramic a fonctionné immédiatement sur plusieurs SmartPhones sans option particulière. J'utilise quelquefois l'émulateur fourni avec Android SDK, et avec lequel Panoramic pour Android fonctionne : AVD Manager (Android Virtual Device). @Jicehel: tu étais le premier utilisateur de Panoramic pour Android. Maintenant tu es le premier à avoir programmé un jeu pour Android avec Panoramic. Il y avait un bug sur 2D_CIRCLE, en fait cette commande créait un cercle plein et non pas la circonférence. Cependant, l'exemple 3 qui est fourni ne fonctionne plus ! Voici la version de Panoramic qui fait tourner ton jeu: http://www.datafilehost.com/d/1aed7de2Elle possède en outre un début de documentation intégrée. _________________ username : panoramic@jack-panoramic password : panoramic123
Dernière édition par Jack le Sam 15 Nov 2014 - 6:15, édité 2 fois | |
| | | papydall
Nombre de messages : 6985 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Panoramic pour Android : instantané du développement Sam 15 Nov 2014 - 0:07 | |
| @Jack Voulant télécharger à partir du site mentionné dans ton poste ci-haut, mon anti-virus Avira me signale - Citation :
Remarque relative à la sécurité L’accès au fichier ‘C:\Users\acer\Desktop\Download.exe’ Contenant le virus ou programme indésirable ‘TR/Cript.XPACK.Gen8’ a été bloqué.
| |
| | | Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: Panoramic pour Android : instantané du développement Sam 15 Nov 2014 - 5:56 | |
| Je n'avais pas essayé le téléchargement ... J'ai désactivé tous les liens. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Panoramic pour Android : instantané du développement Sam 15 Nov 2014 - 9:06 | |
| Jack, ça doit marcher, je pense si tu mets les versions sur le webdav et qu'on le copie sur le pc puis qu'on le transfert en usb dans download ? Je n'ai pas essayé mais si on créé un repertoire Panoramic sur notre téléphone, ça devrait marcher aussi, non ? | |
| | | Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Panoramic pour Android : instantané du développement Sam 15 Nov 2014 - 9:08 | |
| Il ne faut pas paniquer, il fallait juste décocher la case pour télécharger en utilisant le "downloader" pour que ça marche bien. C'est le programme downloader.exe qui est douteux. Si on télécharge directement, il n'y a pas de problème. | |
| | | Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: Panoramic pour Android : instantané du développement Sam 15 Nov 2014 - 19:01 | |
| Voici la dernière version de Panoramic pour Android : http://www.filedropper.com/panoramicElle est aussi sur mon Webdav. Elle possède un début de documentation (touche DOC) Les commandes de dessin suivantes sont terminées et testées : 2D_LINE 2D_POLY_FROM 2D_POLY_TO 2D_CIRCLE 2D_RECTANGLE 2D_CLEAR 2D_PEN_WIDTH 2D_PEN_COLOR _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | papydall
Nombre de messages : 6985 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Panoramic pour Android : instantané du développement Dim 16 Nov 2014 - 2:15 | |
| @Jack J’ai téléchargé sur ton Webdav ESSAIS_ANDROID juste pour voir. Comme je ne dispose ni de Smartphone ni de tablette sous Androïd, j’ai étudié le fichier ESSAIS_ANDROID\assets\internal/03_checkerboard.txt qui représente un code Panoramic de tracé d’un damier. Je me suis donné la liberté (ai-je le droit !?) de recoder le programme à ma manière : Pas de LABEL ni de GOSUB ; uniquement des SUB. J’ai également optimisé les sous programmes : draw the frame of board draw the black squares draw white pawns draw red pawn Et ça donne ceci : - Code:
-
rem ============================================================================ rem 03_checkerboard.txt rem Auteur Jack rem Recodé par Papydall rem ============================================================================
Init() Draw_Black_Squares() Draw_White_Pawns() Draw_Red_Pawn() end
rem ============================================================================ SUB Init()
dim x,y,case1,case2,bord,rayon color 0,255,255,255 case1 = 50 : bord = 5 picture 1 : width 1,420:height 1,440 : 2D_target_is 1 2d_rectangle bord,bord,8*case1+bord,8*case1+bord : ' draw the frame of board END_SUB rem ============================================================================ ' draw the black squares SUB Draw_Black_Squares() 2d_fill_color 0,0,0 for x = 1 to 7 step 2 : Case(x,0) : Case(x,2) : Case(x,4) : Case(x,6) : next x for x = 0 to 6 step 2 : Case(x,1) : Case(x,3) : Case(x,5) : Case(x,7) : next x END_SUB rem ============================================================================ SUB Case(x,y) dim_local i for i=0 to case1 2D_poly_from i+bord+x*case1,bord+y*case1 2D_poly_to i+bord+x*case1,bord+(y+1)*case1 next i END_SUB rem ============================================================================ ' draw white pawns SUB Draw_White_Pawns() rayon = case1 / 2.7 : case2 = case1 / 2 2d_fill_color 255,255,255 for x = 1 to 7 step 2 : Pawn(x,0) : Pawn(x,2) : next x for x = 0 to 6 step 2 : Pawn(x,1) : next x END_SUB rem ============================================================================ ' Draw red pawn SUB Draw_Red_Pawn() 2d_fill_color 255,20,20 for x = 1 to 7 step 2 : Pawn(x,6) : next x for x = 0 to 6 step 2 : Pawn(x,5) : Pawn(x,7) : next x END_SUB rem ============================================================================ ' draw pawn in case (x,y) SUB Pawn(x,y) 2d_circle bord +(2*x+1)*case2, bord +(2*y+1)*case2, rayon END_SUB rem ============================================================================
| |
| | | Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: Panoramic pour Android : instantané du développement Dim 16 Nov 2014 - 4:01 | |
| Merci d'avoir remis ce code au gout du jour avec des subs. Le dessin du damier venait d'un jeu complet de dames contre l'ordinateur, que j'avais codé début 2007 en adaptant un code pour TRS80 de 1978 ! Le voici : - Code:
-
rem 2007/02/21 rem CHECKERS
dim xm,ym,x,y dim case,case2,bord,rayon dim A(64) dim AA,B,C,F,G,H,I,J,K,L,N,Q,R,S,T
label player,player_from,player_to,cont1,cont2 label man,square,move label AB1,AB2,AB3,CD,CAS label draw,IA,IA2,IA3,IA4,IA5,IA6 label SP1,SP2,SP3,SP4,TP1,TP2,TP3,TP4,TP5,TP6
left 0,100:top 0,0:width 0,510:height 0,550 caption 0,"C H E C K E R S" rem white background color 0,255,255,255:display
picture 1:left 1,35:top 1,33:width 1,410:height 1,410
rem picture 1:width 1,410:height 1,410
color 1,230,230,230:display
rem memory of play list 2:top 2,35:left 2,455:height 2,410:width 0,610
rem draw checkboard 8x8 case=50:rem size of a square bord=5: rem shift rayon=case/2.7 case2=case/2
rem read internal code for N=1 to 64 read A(N) next N data 99,1,99,1,99,1,99,1,1,99,1,99,1,99,1,99,99,1,99,1,99,1 data 99,1,0,99,0,99,0,99,0,99,99,0,99,0,99,0,99,0,-1,99,-1,99 data -1,99,-1,99,99,-1,99,-1,99,-1,99,-1,-1,99,-1,99,-1,99,-1,99 rem 99 = white square rem 2 = square with computer's king rem 1 = square with computer's man rem 0 = empty square rem -1 = square with player's man rem -2 = square with player's king
rem draw frame of board 2d_target_is 1 2d_poly_from bord,bord 2d_poly_to 8*case+bord,bord 2d_poly_to 8*case+bord,8*case+bord 2d_poly_to bord,8*case+bord 2d_poly_to bord,bord
rem draw the board for n=1 to 64 gosub draw next n
rem move explanation alpha 3:left 3,150:top 3,450:width 3,48:height 3,13 caption 3,"FROM : click on man, then TO : click on empty square"
rem to terminate check 4:left 4,400:top 4,480:caption 4,"Terminate"
rem column names alpha 5:left 5,60:top 5,15:width 5,25:height 5,13:caption 5,"A" alpha 6:left 6,60+50:top 6,15:width 6,25:height 6,13:caption 6,"B" alpha 7:left 7,60+2*50:top 7,15:width 7,25:height 7,13:caption 7,"C" alpha 8:left 8,60+3*50:top 8,15:width 8,25:height 8,13:caption 8,"D" alpha 9:left 9,60+4*50:top 9,15:width 9,25:height 9,13:caption 9,"E" alpha 10:left 10,60+5*50:top 10,15:width 10,25:height 10,13:caption 10,"F" alpha 11:left 11,60+6*50:top 11,15:width 11,25:height 11,13:caption 11,"G" alpha 12:left 12,60+7*50:top 12,15:width 12,25:height 12,13:caption 12,"H"
rem lines names alpha 13:left 13,20:top 13,57+7*50:caption 13,"8" alpha 14:left 14,20:top 14,57+6*50:caption 14,"7" alpha 15:left 15,20:top 15,57+5*50:caption 15,"6" alpha 16:left 16,20:top 16,57+4*50:caption 16,"5" alpha 17:left 17,20:top 17,57+3*50:caption 17,"4" alpha 18:left 18,20:top 18,57+2*50:caption 18,"3" alpha 19:left 19,20:top 19,57+50:caption 19,"2" alpha 20:left 20,20:top 20,57:caption 20,"1"
rem display move to play alpha 21:left 21,150:top 21,480:width 21,48:height 21,13
player: caption 21,"FROM ?" gosub player_from gosub IA goto player
end
player_from: if mouse_left_up(1)=1 xm=mouse_x_left_up(1) xm=xm-bord if xm<0 then xm=0 xm=int(xm/case)+1 if xm>8 then xm=8 rem xm=column number
ym=mouse_y_left_up(1) ym=ym-bord if ym<0 then ym=0 ym=int(ym/case)+1 if ym>8 then ym=8 rem ym=line number
f=xm+8*(ym-1) n=f gosub move item_add 2,"PLAYER :" item_add 2,"FROM "+chr$(65+x)+str$(y+1) wait 100 caption 21,"TO ?" goto cont1 end_if wait 100 if checked(4)=1 then terminate goto player_from
cont1: Q=1: rem illegal move?
rem F=0 means end by operator if (F=0) then end
rem F must be inside the checkboard if (F<1) or (F>64) then goto player_from
player_to: if mouse_left_up(1)=1 xm=mouse_x_left_up(1) xm=xm-bord if xm<0 then xm=0 xm=int(xm/case)+1 if xm>8 then xm=8 rem xm=column number
ym=mouse_y_left_up(1) ym=ym-bord if ym<0 then ym=0 ym=int(ym/case)+1 if ym>8 then ym=8 rem ym=line number
t=xm+8*(ym-1) n=t gosub move item_add 2,"TO "+chr$(65+x)+str$(y+1) goto cont2 end_if
wait 200 if checked(4)=1 then terminate goto player_to
cont2: if (T=0) and (Q=0) then return: rem answer 0 then 0 to terminate
rem T must be inside the checkboard if (T<1) or (T>64) then goto player_to
gosub CD:rem check if move is legal, result in Q
if Q=0 then item_add 2,"ILLEGAL MOVE ": goto player_from
rem here move is legal
rem update internal board A(T)=A(F) A(F)=0
rem update squares N=F gosub draw N=T gosub draw
rem draw if king if T<9 A(T)=-2 N=T gosub draw end_if
if (ABS(T-F)=7) or (ABS(T-F)=9) then return
N=(T+F)/2 A(N)=0 gosub draw if A(T)=-1 then goto AB2 for B=7 to 9 step 2 G=T+B if (G>64) or ((G+B)>64) then goto AB1 if ((A(G)=1) or (A(G)=2)) and (A(G+B)=0) F=T Q=0 caption 21,"TO ?" goto player_to end_if
AB1: next B
AB2: for B=-9 to -7 step 2 G=T+B if (G<0) or ((G+B)<0) then goto AB3 if ((A(G)=1) or (A(G)=2)) and (A(G+B)=0) F=T Q=0 caption 21,"TO ?" goto player_to end_if
AB3: next B return
CD: rem analyse if move is legal (result in Q) Q=0 if (A(F)>-1) or (A(T)<>0) then return: rem illegal if A(F)=-2 for B=-9 to -7 step 2 gosub CAS next B end_if for B=7 to 9 step 2 gosub CAS next B return
CAS: if ((F-T)=B) or (((F-T)=(2*B)) and ((A(INT((F+T)/2))=1) or (A(INT((F+T)/2))=2))) then Q=1 return
draw: rem draw A(N) gosub move
if a(n)=0 2d_fill_color 0,0,0 gosub square end_if
if a(n)=2 2d_fill_color 0,0,0 gosub square 2d_fill_color 255,255,255 gosub man 2d_fill_color 255,20,20 2d_circle bord+(2*x+1)*case2,bord+(2*y+1)*case2,rayon/2 end_if
if a(n)=1 2d_fill_color 0,0,0 gosub square 2d_fill_color 255,255,255 gosub man end_if
if a(n)=-1 2d_fill_color 0,0,0 gosub square 2d_fill_color 255,20,20 gosub man end_if
if a(n)=-2 2d_fill_color 0,0,0 gosub square 2d_fill_color 255,20,20 gosub man 2d_fill_color 255,255,255 2d_circle bord+(2*x+1)*case2,bord+(2*y+1)*case2,rayon/2 end_if
return
IA: rem artificial intelligence Q=-99 for I=1 to 64 if (A(I)<1) or (A(I)>2) then goto IA2 if A(I)=2 for B=-9 to -7 step 2 gosub SP1 next B end_if
for B=7 to 9 step 2 gosub SP1 next B
IA2: next I if Q=-99 then end:rem finished
IA3: A(T)=A(F) A(F)=0 N=F gosub move item_add 2,"COMPUTER:" item_add 2,"FROM "+chr$(65+x)+str$(y+1)
gosub draw N=T gosub move item_add 2,"TO "+chr$(65+x)+str$(y+1)
gosub draw if T>56 A(T)=2 N=T gosub draw end_if if (ABS(F-T)<>14) and (ABS(F-T)<>18) then return N=(T+F)/2 A(N)=0 gosub draw if A(T)=1 then goto IA5 for B=-9 to -7 step 2 C=T+B if (C<0) or ((C+B)<0) then goto IA4 if (A(C)<0) and (A(C+B)=0) then F=T : T=C+B : goto IA3
IA4: next B
IA5: for B=7 to 9 step 2 C=T+B if (C>64) or ((C+B)>64) then goto IA6 if (A(C)<0) and (A(C+B)=0) then F=T : T=C+B : goto IA3
IA6: next B return
SP1: R=-99 J=I+B K=0 if (J<0) or (J>64) then goto SP4 if A(J)=0 then R=0 : L=J if ((J+B)<0) or ((J+B)>64) then goto SP2 if (A(J+B)=0) and (A(J)<0) then R=5 : K=1 : L=J+B
SP2: if R=-99 then goto SP4 if A(I)=2 then R=R-1 : goto SP3 if I<9 then R=R-2 if L>47 then R=R+3 if L>56 then R=R+3
SP3: for AA=7 to 9 step 2 gosub TP1 next AA C=RND(10)/10 if (R>Q) or ((R=Q) and (C>0.4)) then Q=R : F=I : T=L
SP4: return
TP1: G=I+AA : H=I-AA : if (G>64) or ((G+AA)>64) then goto TP2 if ((A(G)=1) or (A(G)=2)) and (A(G+AA)<0) then R=R-8 if H<0 then goto TP3 if (A(G)<0) and (A(H)=0) then R=R+4 if (A(H)=-2) and (A(G)=0) then R=R+4
TP2: if (H<0) or ((H-AA)<0) then goto TP3 if ((A(H)=1) or (A(H)=2)) and (A(H-AA)=-2) then R=R-8
TP3: S=R:G=L+AA:H=L-AA:if G>64 then goto TP5 if H<0 then goto TP4 if (A(G)<0) and ((A(H)=0) or (I=H)) then R=R-10:goto TP4 if (A(H)=-2) and ((A(G)=0) or (I=G)) then R=R-10
TP4: if (G+AA)>64 then goto TP5 if (A(G)<0) and (A(G+AA)=0) then R=R+5+K*10
if ((A(G)=1) or (A(G)=2)) and (A(G+AA)<0) then R=R+4:S=S+4
TP5: if (H<0) or ((H-AA)<0) then goto TP6 if ((A(H)=1) or (A(H)=2)) and (A(H-AA)=-2) then R=R+4:S=S+4
TP6: if R>S then R=S return
end
man: rem draw man in (x,y) 2d_circle bord+(2*x+1)*case2,bord+(2*y+1)*case2,rayon return
square: 2d_rectangle bord+x*case,bord+y*case,bord+(x+1)*case,bord+(y+1)*case return
move: rem display the player's move rem x and y from n if n=2 then x=1:y=0 if n=4 then x=3:y=0 if n=6 then x=5:y=0 if n=8 then x=7:y=0 if n=9 then x=0:y=1 if n=11 then x=2:y=1 if n=13 then x=4:y=1 if n=15 then x=6:y=1 if n=18 then x=1:y=2 if n=20 then x=3:y=2 if n=22 then x=5:y=2 if n=24 then x=7:y=2 if n=25 then x=0:y=3 if n=27 then x=2:y=3 if n=29 then x=4:y=3 if n=31 then x=6:y=3 if n=34 then x=1:y=4 if n=36 then x=3:y=4 if n=38 then x=5:y=4 if n=40 then x=7:y=4 if n=41 then x=0:y=5 if n=43 then x=2:y=5 if n=45 then x=4:y=5 if n=47 then x=6:y=5 if n=50 then x=1:y=6 if n=52 then x=3:y=6 if n=54 then x=5:y=6 if n=56 then x=7:y=6 if n=57 then x=0:y=7 if n=59 then x=2:y=7 if n=61 then x=4:y=7 if n=63 then x=6:y=7 return
Pour jouer, tu as les pions rouges. Tu cliques sur le pion rouge à déplacer, puis tu cliques sur la case vide où le pion doit aller. L'ordinateur joue et ça recommence. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Pedro
Nombre de messages : 1547 Date d'inscription : 19/01/2014
| Sujet: Panoramic pour Android. Dim 16 Nov 2014 - 12:33 | |
| Bonjour.
Pour ma part, j'ai téléchargé le fichier apk sur mon PC. Ensuite, je l'ai envoyé par mail à mon smartphone, puis téléchargé la pièce jointe du mail.
Eh bien, tout fonctionne parfaitement.
J'ai donc pû tester les débuts de Panoramic sous Android. | |
| | | Contenu sponsorisé
| Sujet: Re: Panoramic pour Android : instantané du développement | |
| |
| | | | Panoramic pour Android : instantané du développement | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |