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
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
un bug je pense, un objet alpha qui pose probleme Emptypar Marc Aujourd'hui à 12:22

» SineCube
un bug je pense, un objet alpha qui pose probleme Emptypar papydall Aujourd'hui à 0:49

» Philharmusique
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
un bug je pense, un objet alpha qui pose probleme Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
un bug je pense, un objet alpha qui pose probleme Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
un bug je pense, un objet alpha qui pose probleme Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
un bug je pense, un objet alpha qui pose probleme Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
un bug je pense, un objet alpha qui pose probleme Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
un bug je pense, un objet alpha qui pose probleme Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
un bug je pense, un objet alpha qui pose probleme Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
un bug je pense, un objet alpha qui pose probleme Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
un bug je pense, un objet alpha qui pose probleme Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
un bug je pense, un objet alpha qui pose probleme Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
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 : 12295
Age : 74
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 : 12295
Age : 74
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 ou non.
» Problème avec l'objet DTP.

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: