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.
un bug je pense, un objet alpha qui pose probleme Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
un bug je pense, un objet alpha qui pose probleme Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
un bug je pense, un objet alpha qui pose probleme Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
un bug je pense, un objet alpha qui pose probleme Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
un bug je pense, un objet alpha qui pose probleme Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
un bug je pense, un objet alpha qui pose probleme Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
un bug je pense, un objet alpha qui pose probleme Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
un bug je pense, un objet alpha qui pose probleme Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
un bug je pense, un objet alpha qui pose probleme Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
un bug je pense, un objet alpha qui pose probleme Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
un bug je pense, un objet alpha qui pose probleme Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
un bug je pense, un objet alpha qui pose probleme 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
-47%
Le deal à ne pas rater :
SAMSUNG T7 Shield Bleu – SSD Externe 1 To à 89,99€
89.99 € 169.99 €
Voir le deal

 

 un bug je pense, un objet alpha qui pose probleme

Aller en bas 
2 participants
AuteurMessage
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

un bug je pense, un objet alpha qui pose probleme Empty
MessageSujet: un bug je pense, un objet alpha qui pose probleme   un bug je pense, un objet alpha qui pose probleme EmptyDim 12 Déc 2010 - 15:34

Dans ce code on peut voir que l'objet alpha 9 existe, et pourtant dés le lancement du programme l'objet alpha peut soit apparaître soit ne pas apparaître, c'est aléatoire.
Et à aucun moment je ne fais un hide sur l'objet.

Code:
label attaque
label repos
label bonus
label petit
label moyen
label grand
label tests
label hasard
label affiche
label cree_pc
label cree_joueur
label tour_pc
label tour_joueur
label passer

dim energie,tours,tour
dim sonar,canon,mouvement
dim nombre,i,y,x,map,posX
dim caseY,caseX,lig,col
dim taille
dim valeur$
dim energie_pc,energie_joueur
dim nom$,joueur$

' Fixe l'affichage à 800x600
width 0,800
height 0,600

' crée la scene où va s'afficher la map joueur et la cache.
scene2d 1
hide 1

' crée la scene où va s'afficher la map pc et la cache.
scene2d 10
hide 10

' Pour tester les touches clavier
timer 2
timer_interval 2,1
on_timer 2, tests

' Affiche une barre d'énergie
alpha 3
font_size 3,15
caption 3,"energie"
left 3,350

' Demande de choisir la taille de map
alpha 4
font_size 4,10
caption 4,"Choisissez la taille de la carte"
left 4,300
top 4,200
' Affiche le choix "petite map"
alpha 5
font_size 5,14
caption 5,"Petite"
left 5,250
top 5,220
cursor_point 5
on_click 5,petit
' Affiche le choix "moyenne map"
alpha 6
font_size 6,14
caption 6,"Moyenne"
left 6,335
top 6,220
cursor_point 6
on_click 6,moyen
' Affiche le choix "grande map"
alpha 7
font_size 7,14
caption 7,"Grande"
left 7,450
top 7,220
cursor_point 7
on_click 7,grand
' Affiche le nom du commandant
alpha 8
font_size 8,10
left 8,250
top 8,0
hide 8
' Affiche le proprietaire de la carte
alpha 9
font_size 9,14
caption 9,"carte"
left 9,50
top 9,30

' fixe l'énergie du pc à 20
energie_pc=20

' fixe l'énergie du joueur à 20
energie_joueur=20

' C'est le joueur qui commence le tour de jeu
tour=0

end

passer:
' Passe le tour de jeu
if tour=0
  tour=1
else
  tour=0
end_if
return

affiche:
' Cache les choix de taille de map
hide 4
hide 5
hide 6
hide 7
' Affiche la map du joueur en cours
select tour
  case 0:gosub tour_joueur
  case 1:gosub tour_pc
end_select
caption 8,"Commandant "+nom$
 ' affiche le nom du joueur
show 8
return

cree_joueur:
' place 1 aléatoirement (un nombre de fois indiqué par "nombre") dans le tableau de map virtuel
' pour le joueur
i=0
while i<nombre
  gosub hasard
  if (tab_joueur(caseX,caseY)=1)
    gosub hasard
  else
    tab_joueur(caseX,caseY)=1
    i=i+1
  end_if
end_while
' cache la map du joueur
hide 1
' lit le tableau pour afficher sur la map un sprite à la place de 1 lu dans le tableau.
' cette routine dessine les unités du joueur sur sa map (la map 1)
sprite_target_is 1
i=1
for lig=0 to taille-1
  for col=0 to taille-1
    if (tab_joueur(lig,col)=1)
      sprite i
      sprite_file_load i,"submarine.bmp"
      y=32+(32*lig)
      x=32+(32*col)
      sprite_position i,x,y
      i=i+1
    end_if
  next col
next lig
nom$="player"
return

cree_pc:
' place 1 aléatoirement (un nombre de fois indiqué par "nombre") dans le tableau de map virtuel
' pour le pc
i=0
while i<nombre
  gosub hasard
  if (tab_pc(caseX,caseY)=1)
    gosub hasard
  else
    tab_pc(caseX,caseY)=1
    i=i+1
  end_if
end_while
' lit le tableau pour afficher sur la map un sprite à la place de 1 lu dans le tableau.
' cette routine n'est appelée qu'en fin de partie pour afficher la map pc
sprite_target_is 10
i=i+1
for lig=0 to taille-1
  for col=0 to taille-1
    if (tab_pc(lig,col)=1)
      sprite i
      sprite_file_load i,"submarine.bmp"
      y=32+(32*lig)
      x=32+(32*col)
      sprite_position i,x,y
      i=i+1
    end_if
  next col
next lig
nom$="ordi"
return

' Affiche le tour du joueur et ses points
tour_joueur:
caption 3,"Energie : "+str$(energie_joueur)
caption 9,"Carte du joueur "+nom$
hide 10
show 1
return

' Affiche le tour du pc et ses points
tour_pc:
caption 3,"Energie : "+str$(energie_pc)
caption 9,"Carte du joueur "+nom$
hide 1
show 10
return

attaque:
return

repos:
return

bonus:
return

' fixe la taille de la map à 5x5
petit:
taille=5
dim tab_joueur(5,5)
dim tab_pc(5,5)
map=192
posX=int(800/2)-int(map/2)
left 1,posX
top 1,200
width 1,map
height 1,map
file_load 1,"grille05.bmp"
left 10,posX
top 10,100
width 10,map
height 10,map
file_load 10,"grille05.bmp"
nombre=3
' crée la map du joueur
gosub cree_joueur
' crée la map du pc
gosub cree_pc
' Affiche la map du joueur en cours
gosub affiche
return

' fixe la taille de la map à 10x10
moyen:
taille=10
dim tab_joueur(10,10)
dim tab_pc(10,10)
map=352
posX=int(800/2)-int(map/2)
left 1,posX
top 1,100
width 1,map
height 1,map
file_load 1,"grille10.bmp"
nombre=5
gosub affiche
return

' fixe la taille de la map à 15x15
grand:
taille=15
dim tab_joueur(15,15)
dim tab_pc(15,15)
map=512
posX=int(800/2)-int(map/2)
left 1,posX
top 1,30
width 1,map
height 1,map
file_load 1,"grille15.bmp"
nombre=10
gosub affiche
return

tests:
if scancode=27 then terminate
return

' détermine la position aléatoire dans le tableau de map virtuel.
hasard:
caseY=int(rnd(taille-1))
caseX=int(rnd(taille-1))
return

Le programme se lance bien sûr par F9 mais s'arrête par ESC (echap)
Revenir en haut Aller en bas
Klaus

Klaus


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

un bug je pense, un objet alpha qui pose probleme Empty
MessageSujet: Re: un bug je pense, un objet alpha qui pose probleme   un bug je pense, un objet alpha qui pose probleme EmptyDim 12 Déc 2010 - 16:11

Eh bien, tu retombes toujours dans le même piège: tu permets les évènements alors que tu es encore en phase linéaire ! Il ne faut pas activer le timer trop tôt, mais juste avant de END, car contrairement aux autres évènements (on_click, ...) qui ne se produisent qu'avec une intervention de l'utilisateur, on_timer se produit directement :

Voici ton code avec une légère modif, et ça marche:
Code:
label attaque
label repos
label bonus
label petit
label moyen
label grand
label tests
label hasard
label affiche
label cree_pc
label cree_joueur
label tour_pc
label tour_joueur
label passer

dim energie,tours,tour
dim sonar,canon,mouvement
dim nombre,i,y,x,map,posX
dim caseY,caseX,lig,col
dim taille
dim valeur$
dim energie_pc,energie_joueur
dim nom$,joueur$

' Fixe l'affichage à 800x600
width 0,800
height 0,600

' crée la scene où va s'afficher la map joueur et la cache.
scene2d 1
hide 1

' crée la scene où va s'afficher la map pc et la cache.
scene2d 10
hide 10

' Pour tester les touches clavier
timer 2
timer_interval 2,1
' on_timer 2, tests

' Affiche une barre d'énergie
alpha 3
font_size 3,15
caption 3,"energie"
left 3,350

' Demande de choisir la taille de map
alpha 4
font_size 4,10
caption 4,"Choisissez la taille de la carte"
left 4,300
top 4,200
' Affiche le choix "petite map"
alpha 5
font_size 5,14
caption 5,"Petite"
left 5,250
top 5,220
cursor_point 5
on_click 5,petit
' Affiche le choix "moyenne map"
alpha 6
font_size 6,14
caption 6,"Moyenne"
left 6,335
top 6,220
cursor_point 6
on_click 6,moyen
' Affiche le choix "grande map"
alpha 7
font_size 7,14
caption 7,"Grande"
left 7,450
top 7,220
cursor_point 7
on_click 7,grand
' Affiche le nom du commandant
alpha 8
font_size 8,10
left 8,250
top 8,0
hide 8
' Affiche le proprietaire de la carte
alpha 9
font_size 9,14
caption 9,"carte"
left 9,50
top 9,30

' fixe l'énergie du pc à 20
energie_pc=20

' fixe l'énergie du joueur à 20
energie_joueur=20

' C'est le joueur qui commence le tour de jeu
tour=0

end

passer:
' Passe le tour de jeu
if tour=0
  tour=1
else
  tour=0
end_if
on_timer 2, tests
return

affiche:
' Cache les choix de taille de map
hide 4
hide 5
hide 6
hide 7
' Affiche la map du joueur en cours
select tour
  case 0:gosub tour_joueur
  case 1:gosub tour_pc
end_select
caption 8,"Commandant "+nom$
 ' affiche le nom du joueur
show 8
return

cree_joueur:
' place 1 aléatoirement (un nombre de fois indiqué par "nombre") dans le tableau de map virtuel
' pour le joueur
i=0
while i<nombre
  gosub hasard
  if (tab_joueur(caseX,caseY)=1)
    gosub hasard
  else
    tab_joueur(caseX,caseY)=1
    i=i+1
  end_if
end_while
' cache la map du joueur
hide 1
' lit le tableau pour afficher sur la map un sprite à la place de 1 lu dans le tableau.
' cette routine dessine les unités du joueur sur sa map (la map 1)
sprite_target_is 1
i=1
for lig=0 to taille-1
  for col=0 to taille-1
    if (tab_joueur(lig,col)=1)
      sprite i
      sprite_file_load i,"submarine.bmp"
      y=32+(32*lig)
      x=32+(32*col)
      sprite_position i,x,y
      i=i+1
    end_if
  next col
next lig
nom$="player"
return

cree_pc:
' place 1 aléatoirement (un nombre de fois indiqué par "nombre") dans le tableau de map virtuel
' pour le pc
i=0
while i<nombre
  gosub hasard
  if (tab_pc(caseX,caseY)=1)
    gosub hasard
  else
    tab_pc(caseX,caseY)=1
    i=i+1
  end_if
end_while
' lit le tableau pour afficher sur la map un sprite à la place de 1 lu dans le tableau.
' cette routine n'est appelée qu'en fin de partie pour afficher la map pc
sprite_target_is 10
i=i+1
for lig=0 to taille-1
  for col=0 to taille-1
    if (tab_pc(lig,col)=1)
      sprite i
      sprite_file_load i,"submarine.bmp"
      y=32+(32*lig)
      x=32+(32*col)
      sprite_position i,x,y
      i=i+1
    end_if
  next col
next lig
nom$="ordi"
return

' Affiche le tour du joueur et ses points
tour_joueur:
caption 3,"Energie : "+str$(energie_joueur)
caption 9,"Carte du joueur "+nom$
hide 10
show 1
return

' Affiche le tour du pc et ses points
tour_pc:
caption 3,"Energie : "+str$(energie_pc)
caption 9,"Carte du joueur "+nom$
hide 1
show 10
return

attaque:
return

repos:
return

bonus:
return

' fixe la taille de la map à 5x5
petit:
taille=5
dim tab_joueur(5,5)
dim tab_pc(5,5)
map=192
posX=int(800/2)-int(map/2)
left 1,posX
top 1,200
width 1,map
height 1,map
file_load 1,"grille05.bmp"
left 10,posX
top 10,100
width 10,map
height 10,map
file_load 10,"grille05.bmp"
nombre=3
' crée la map du joueur
gosub cree_joueur
' crée la map du pc
gosub cree_pc
' Affiche la map du joueur en cours
gosub affiche
return

' fixe la taille de la map à 10x10
moyen:
taille=10
dim tab_joueur(10,10)
dim tab_pc(10,10)
map=352
posX=int(800/2)-int(map/2)
left 1,posX
top 1,100
width 1,map
height 1,map
file_load 1,"grille10.bmp"
nombre=5
gosub affiche
return

' fixe la taille de la map à 15x15
grand:
taille=15
dim tab_joueur(15,15)
dim tab_pc(15,15)
map=512
posX=int(800/2)-int(map/2)
left 1,posX
top 1,30
width 1,map
height 1,map
file_load 1,"grille15.bmp"
nombre=10
gosub affiche
return

tests:
if scancode=27 then terminate
return

' détermine la position aléatoire dans le tableau de map virtuel.
hasard:
caseY=int(rnd(taille-1))
caseX=int(rnd(taille-1))
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

un bug je pense, un objet alpha qui pose probleme Empty
MessageSujet: Re: un bug je pense, un objet alpha qui pose probleme   un bug je pense, un objet alpha qui pose probleme EmptyDim 12 Déc 2010 - 16:14

OK je vais finir par m'y faire Wink
Merci jack encore une fois tu me sauve ^^

Je vais mettre le timer juste avant le end.
Revenir en haut Aller en bas
Klaus

Klaus


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

un bug je pense, un objet alpha qui pose probleme Empty
MessageSujet: Re: un bug je pense, un objet alpha qui pose probleme   un bug je pense, un objet alpha qui pose probleme EmptyDim 12 Déc 2010 - 16:41

Euh,.... c'était Klaus...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

un bug je pense, un objet alpha qui pose probleme Empty
MessageSujet: Re: un bug je pense, un objet alpha qui pose probleme   un bug je pense, un objet alpha qui pose probleme EmptyDim 12 Déc 2010 - 19:22

Rhalaa, quelle gourde je suis Wink

Je savais bien que c'était toi alors va savoir pourquoi j'ai mis jack oO

Revenir en haut Aller en bas
Contenu sponsorisé





un bug je pense, un objet alpha qui pose probleme Empty
MessageSujet: Re: un bug je pense, un objet alpha qui pose probleme   un bug je pense, un objet alpha qui pose probleme Empty

Revenir en haut Aller en bas
 
un bug je pense, un objet alpha qui pose probleme
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un code qui pose problème
» Est-ce 3d_chain ou 3d_collision qui pose problème?
» probléme sur alpha
» Problème avec l'objet WB.
» Problème avec l'objet WB ou non.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: