FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Version du 17 novembre 2014

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jack
Admin
avatar

Nombre de messages : 1768
Date d'inscription : 28/05/2007

MessageSujet: Version du 17 novembre 2014   Lun 17 Nov 2014 - 7:39

La version du 17 novembre 2014 est disponible sur mon Webdav.
C'est une version limitée qui n'est pas faite pour une utilisation normale.

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
2D_FILL_COLOR
2D_FILL_ON : les formes 2D_CIRCLE et 2D_RECTANGLE sont remplies avec la couleur définie par 2D_FILL_COLOR (option par défaut)
2D_FILL_OFF : les formes 2D_CIRCLE et 2D_RECTANGLE sont transparentes

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Minibug

avatar

Nombre de messages : 2364
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Version du 17 novembre 2014   Lun 17 Nov 2014 - 10:00

Bonjour Jack et bonjour a tous !

Merci pour cette evolution rapide de panoramic sous android.

Juste quelques questions :

As tu prévu ou est il possible de prévoir la possibilité d'ouvrir de fermé d'enregistrer des fichiers.
car j'ai vu que l'usage des boite de dialogue n'était pas prévu.

Deuxième question, as tu prévu d'utiliser la fonction grid. si oui aura ton l'usage complete de grid_save , grid_load etc.. ?

Merci d'avance pour ta réponse jack et encore une fois bravo pour cette avancé technique !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Version du 17 novembre 2014   Lun 17 Nov 2014 - 10:17

Merci Jack. Je testerais bientôt
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Version du 17 novembre 2014   Lun 17 Nov 2014 - 16:59

Jack, j'ai voulu tester les corection effectuer sur les instructions 2D et en profiter pour tester les SUB comme ça marche, mais je n'avais pas lu qu'il y avait un nombre limité de sub sur la version de démo (j'avais lu pour les objets, mais pas pour les sub...)

Je mets la version du casse brique modifié (objet "pleins" + utilisation de subs)

Sans compter, j'ai utilisé plus de 10 subs. Je pourrais le modifier pour que ça tienne à moins de 10, mais j'en profite pour te demander si tu ne pourrais pas passer la limite à 20 pour le nombre d'objets et de sub

Code:
' Panorabric la version Android de test (limitée à 10 objets)
' Prevu pour Samsung S3
' Resolution de l'écran 600 x 380

label clic,fin, boucle_principale

' Déclarations
dim i,j,c
dim h,l : h=600: l=380
dim x_r , y_r, hauteur_r, largeur_r : ' Variables de la raquette
dim hauteur_b, largeur_b : hauteur_b = 8 : largeur_b=22  : ' dimension des briques
dim Nb_lignes, Nb_briques_restantes : ' variables pour la gestion des briques
dim Nb_b_ligne : Nb_b_ligne = int((l - 60)/(largeur_b+5))
dim xb, yb, r : ' Variables de la balle
dim x_ball,y_ball, r_ball, n_ball : r_ball = 10
dim vies : vies = 3
dim score : score = 0
dim objet%, nom_couleur$
dim ecran%, aff_vies%, aff_score%
dim Nb_couleur%: Nb_couleur% = 18
dim t_c(Nb_couleur%,3)
dim ombre  : ombre=30
dim lumiere : lumiere = 30
dim marge_cote : marge_cote = 8
dim marge_haut : marge_haut = 30
dim hauteur_menu : hauteur_menu = 100

height 0, h: width 0,l
caption 0, "PANORABRIC Android - V1.0"
border_small 0 : i =  h - hauteur_menu + 20
button 1 : hide 1 : ' Creation du bouton gauche
top 1, i : left 1,10 : caption 1,"<"
on_click 1,clic
button 2 : hide 2 : ' Creation du bouton droite
top 2, i : left 2,50+width(1) : caption 2,">"
on_click 2,clic
button 3 : hide 3 : ' Creation du bouton quitter
top 3, i : left 3,l-width(3)-28 : caption 3,"Quitter"
on_click 3,clic
timer 4

' Initialisation
objet% = 5 : ' On prend 3 objets
hauteur_r = 10 : largeur_r=60
y_r = h-120-hauteur_r

data "0 - Noir", 0,  0,  0,  "1 - Blanc", 255,255,255
data "2 - couleur de fond - kaki foncé", 155,155, 55
data "3 - Kaki", 180,180,80, "4 - gris foncé",  80, 80, 80
data "5 - bleu" ,80, 80,215, "6 - rouge", 215, 80, 80
data "7 - vert", 80,215, 80, "8 - gris", 155,133,155
data "9 - vert clair", 100,215,100, "10 - violet", 215, 80,215
data "11 - kaki clair", 215,215, 80, "12 - bleu cyan", 80,215,215
data "13 - bleu moyen", 100,100,215, "14 - vert moyen",55,215,133
data "15 - violet",133, 55,215,      "16 - marron clair",215,133, 55
data "17 - bleu nuit",  55, 55,133

for i = 1 to Nb_couleur%
  read nom_couleur$
  for j = 1 to 3 : read c : t_c(i,j)=c : next j
next i

ecran% = objet% : picture ecran%
top ecran%,0: left ecran%,1
h = h - hauteur_menu
height ecran%, h: width ecran%,l-18
2D_target_is ecran%: objet% = objet% +1

' Trace le contour
2d_pen_color t_c(3,1), t_c(3,2), t_c(3,3) : 2d_fill_color t_c(3,1), t_c(3,2), t_c(3,3)
2d_rectangle 0,h,8,0 : 2d_rectangle 8,0,l-23,20 : 2d_rectangle l-23,h,l-15,0

aff_vies% = objet% : alpha aff_vies%
color aff_vies%, t_c(3,1), t_c(3,2), t_c(3,3)
top aff_vies%,2 : left aff_vies%, 30
width aff_vies%,140 : caption aff_vies%, "Vies = "+str$(vies)
objet% = objet% + 1

aff_score% = objet% : alpha aff_score%
color aff_score%, t_c(3,1), t_c(3,2), t_c(3,3)
top aff_score%,2 : left aff_score%, 200
width aff_score%,140 : caption aff_score%, "Score = "+str$(score)
objet% = objet% + 1

Init_niveau()

' timer pour deplacements
timer_interval 4,50 : on_timer 4,boucle_principale
show 1: show 2: show 3
end

Sub Dessine_raquette()
  2d_pen_width 2
  2d_pen_color t_c(5,1), t_c(5,2), t_c(5,3)
  2d_rectangle x_r+4,y_r+4,x_r+largeur_r-3,y_r+hauteur_r-3
  2d_pen_color t_c(5,1)+lumiere, t_c(5,2)+lumiere, t_c(5,3)+lumiere
  2d_poly_from x_r+2,y_r+hauteur_r-2 : 2d_poly_to x_r+2,y_r+2 : 2d_poly_to x_r+largeur_r-2,y_r+2
  2d_pen_color t_c(5,1)-ombre, t_c(5,2)-ombre, t_c(5,3)-ombre
  2d_poly_to x_r +largeur_r-2,y_r+hauteur_r-2 : 2D_poly_to x_r+2,y_r+hauteur_r-2
  2d_pen_width 1
End_sub

Sub Efface_raquette()
  2d_pen_color t_c(2,1), t_c(2,2), t_c(2,3) :  2d_fill_color t_c(2,1), t_c(2,2), t_c(2,3)
  2d_rectangle x_r,y_r,x_r+largeur_r,y_r+hauteur_r
End_sub


Sub init_niveau()
  Nb_lignes = 6: Dessine_briques()
  x_r = 0.5 * (l - largeur_r - 35)
  Dessine_raquette()
  Lance_balle()
End_sub

Sub Dessine_briques()
if variable("t_br")=1 then free t_br
dim t_br(Nb_lignes*Nb_b_ligne,5)
dim k: k=0 : Nb_briques_restantes = 0
for i= 1 to Nb_lignes
  yb = 25 + (hauteur_b + 15) * i
  For j = 1 to Nb_b_ligne
    xb = 15 + (largeur_b + 5) * (j-1)
    k=k+1 : t_br(k,1) = 1 : t_br(k,5) = 100
    t_br(k,2) = t_c(5+i,1): t_br(k,3) = t_c(5+i,2): t_br(k,4) = t_c(5+i,3)
    Nb_briques_restantes = Nb_briques_restantes + 1
    2d_pen_color t_br(k,2), t_br(k,3), t_br(k,4) : trace_brique()
  next j
next i
free k
End_sub

Sub trace_brique()
  2d_pen_width 3
  2d_pen_color t_br(k,2), t_br(k,3), t_br(k,4)
  2d_fill_color t_br(k,2), t_br(k,3), t_br(k,4)
  2d_rectangle xb+2,yb+2,xb+largeur_b-2, yb+hauteur_b-2
  2d_pen_color t_br(k,2)+lumiere, t_br(k,3)+lumiere, t_br(k,4)+lumiere
  2d_poly_from xb,yb+hauteur_b : 2d_poly_to xb,yb : 2d_poly_to xb+largeur_b,yb
  2d_pen_color t_br(k,2)-ombre, t_br(k,3)-ombre, t_br(k,4)-ombre
  2d_poly_to xb+largeur_b,yb+hauteur_b : 2d_poly_to xb,yb+hauteur_b
  2d_pen_width 1
End_sub

Sub efface_brique()
  2d_pen_width 3
  2d_pen_color t_c(2,1), t_c(2,2), t_c(2,3)
  xb = 15 + (largeur_b + 5) * (i-1) : yb = 25 + (hauteur_b + 15) * (temp)
  2d_rectangle xb,yb,xb+largeur_b+1, yb+hauteur_b+1
  2d_pen_width 1
End_sub

Sub Lance_balle()
  y_ball = y_r - 25 :  x_ball = int(rnd(l-60)) + 15 : r=1
End_sub

Sub efface_balle()
  2d_pen_color t_c(2,1), t_c(2,2), t_c(2,3) :  2d_fill_color t_c(2,1), t_c(2,2), t_c(2,3)
  2d_circle x_ball+r_ball, y_ball+r_ball, r_ball
End_sub

Sub trace_balle()
  2d_pen_color t_c(3,1)-ombre, t_c(3,2)-ombre, t_c(3,3)-ombre
  2d_fill_color t_c(3,1), t_c(3,2), t_c(3,3)
  2d_Circle x_ball+r_ball, y_ball+r_ball, r_ball
  2d_pen_color t_c(4,1), t_c(4,2), t_c(4,3)
  2d_fill_color t_c(4,1)+lumiere, t_c(4,2)+lumiere, t_c(4,3)+lumiere
  2d_Circle x_ball+r_ball-3, y_ball+r_ball-3, r_ball-6
End_sub

Sub recommence()
  vies = 3 : score = 0 : Efface_raquette()
  Efface_balle() : Init_niveau()
  timer_on 4
End_sub

Sub Deplace_balle()
  If x_ball> l-29 -2*r_ball
    x_ball = l-29 -2*r_ball : c = 2
  Else
    If x_ball < 12 Then x_ball = 12 : c = 1
  End_if
  If y_ball < 26 Then y_ball = 26 : r = 2
  If c<2 Then x_ball = x_ball + 5 : Else: x_ball = x_ball - 5
  If r<2 Then y_ball = y_ball - 5 : Else: y_ball = y_ball + 5
End_sub

boucle_principale:
if variable("temp") = 0 then dim temp
  timer_off 4
  Efface_balle()
  ' Teste si collision avec une brique
  if (r= 1 and y_ball < (25 + hauteur_b + (hauteur_b + 15) * Nb_lignes))
    i = int((x_ball - 15) / (largeur_b + 5))+1
    temp = int ((y_ball -25 -hauteur_b) / (hauteur_b +15))+1
    j = (temp-1)*Nb_b_ligne +i
    if j <= (Nb_lignes*Nb_b_ligne) and j>0
      if t_br(j,1) = 1
          r=2 : t_br(j,1) = 0
          Efface_brique()
          Nb_briques_restantes = Nb_briques_restantes - 1 : score = score + t_br(j,5)
      end_if
    end_if
  else
    if (r= 2 and  (y_ball  > (40 + hauteur_b)) and (y_ball < (25 + hauteur_b + (hauteur_b + 15) * Nb_lignes) ))
      i = int((x_ball - 30) / (largeur_b + 10)) +1
      temp = int (((y_ball+2*r_ball) -25 -hauteur_b) / (hauteur_b +15))
      j = (temp-1)*Nb_b_ligne +i
      if j <= (Nb_lignes*Nb_b_ligne) and j>0
        if t_br(j,1) = 1
          r=1 : t_br(j,1) = 0
          Efface_brique()
          Nb_briques_restantes = Nb_briques_restantes - 1 : score = score + t_br(j,5)
        end_if
      end_if
    end_if
  end_if

' Trace la balle
Deplace_balle()
Trace_balle()

' Verifie si la balle touche la raquette
  if r=2 and y_ball > y_r - 2 * r_ball - 4
      if ((x_ball > (x_r - r_ball)) and (x_ball < (x_r + largeur_r)))
        r = 1
            score=score+1
      else
        if r=2 and y_ball > y_r
            ' Balle perdue
            wait 30:  Efface_balle()
            wait 100: Lance_balle()
            vies = vies-1
        end_if
      end_if
  end_if
  caption aff_vies%, "Vies = "+str$(vies)
  caption aff_score%, "Score = "+str$(score)
  if Nb_briques_restantes = 0
    Message "Bravo, niveau suivant ..."
    Efface_balle() :  Init_niveau()
  end_if
  if vies < 1 then goto fin
  free temp
  timer_on 4
return

clic:
if clicked(1) = 1
  Efface_raquette()            : ' Efface ancienne raquette
  x_r = x_r - (largeur_r / 2)  : ' Mise à jour de la position de la raquette suite à l'appuie sur la flèche
  if x_r < 10 then x_r=10      : ' Mais on ne doit pas dépasser les bords !!
  Dessine_raquette()          : ' Actualise l'affichage de la raquette
else
  if clicked(3) = 1
    goto fin
  else
    Efface_raquette()            : ' Efface ancienne raquette
    x_r = x_r + (largeur_r / 2)  : ' Mise à jour de la position de la raquette suite à l'appuie sur la flèche
    if x_r > l - largeur_r-26 then x_r = l - largeur_r-26  : ' Mais on ne doit pas dépasser les bords !!
    Dessine_raquette()          : ' Actualise l'affichage de la raquette
  end_if
end_if
return

fin:
  timer_off 4
  terminate
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1768
Date d'inscription : 28/05/2007

MessageSujet: Re: Version du 17 novembre 2014   Lun 17 Nov 2014 - 19:10

Pour te permettre de développer ton jeu, j'ai mis sur le Webdav une version qui accepte 20 objets et 20 subs.
Bon courage pour la suite.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Version du 17 novembre 2014   Lun 17 Nov 2014 - 19:40

Merci Jack, la version marche bien (après le jeu par lui même est à améliorer et à corriger, mais maintenant que ça tourne, ce sera plus facile). L'affichage est légèrement différent quand on le fait tourner sur PC ou sur le téléphone.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Version du 17 novembre 2014   Lun 17 Nov 2014 - 21:59

Je suis un peu hs, mais dommage qu'on n'ait pas en Panoramic Windows l'équivalent du 2d_Fill_Off, tracer un rectangle vide côté par côté c'est un peu laborieux, quant au cercle, segment par segment...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Version du 17 novembre 2014   Mar 18 Nov 2014 - 3:40

A mon avis ces commandes seront dans le prochain instantané de Panoramic (pour Windows)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Version du 17 novembre 2014   

Revenir en haut Aller en bas
 
Version du 17 novembre 2014
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» BBOX MAG' du 05 novembre 2014 #10
» Netflix sur les box de Bouygues Telecom dès novembre 2014
» Festival d'accordéon le 17 novembre 2014 à Carcagny 14000
» RailExpo du 28 au 30 novembre 2014
» Bilan de Novembre 2014

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC pour Android :: PANORAMIC sous Android-
Sauter vers: