π
<-

Programmation d'un jeu.

Programmation et implémentation d'algorithmes.

Re: Programmation d'un jeu.

Unread postby LinkWebmaster » 27 Sep 2009, 21:31

RplcImg mesprgmnmarche1[x,y]

nmarche1 c'est le nom de ton fichier image?
code plutôt:
xorpic nmarche1,x,y
auparavant tu as déclaré les variables x et y
:1-x
:1-y
là ton sprite va apparaitre :)
Image
User avatar
LinkWebmaster
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 68.8%
 
Posts: 158
Joined: 03 Jan 2005, 00:00
Location: Projet RPG MAKER Ti
Gender: Male
Calculator(s):
MyCalcs profile
Class:

Re: Programmation d'un jeu.

Unread postby KageNoYoru » 28 Sep 2009, 20:29

Désolé de l'attente pour ma réponse, je viens d'arrêter de bosser pour la première fois depuis ce matin, c'est bien la Terminale S-SI, mais quel boulot...
Merci encore Linkwebmaster, mon programme marche bien, j'arrive à animer un peu, pour l'instant par manque de temps, mon personnage.
J'ai encore deux questions: - Est-ce que l'on peut fixer une image dans une variable? Du style:
:If ab=1 Then
:image1-x
:EndIf
Et commencer une autre boucle pour aléger mon programme, ab désigne le choix du personnage pris, sinon va falloir que je fasse une boucle gigantesque pour chaque personnage et adversaire différent.
- Comment faire pour faire baisser une barre de vie quand un coup est subi ou donné? (J'ai bien compris ce que tu m'as dit Linkwebmaster mais c'est de cette façon que j'avais prévu de faire, la question que je posais était celle-çi. La méthode que j'envisage est la même que celle dans mon premier message à ce sujet.)

Merci d'avance, encore une fois, pour vos réponses, et ne vous méprenez pas, si ma réponse tarde, ce n'est pas que j'abandonne, c'est que le temps me manque. :#ouin#:
User avatar
KageNoYoru
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S-SI

Re: Programmation d'un jeu.

Unread postby tama » 28 Sep 2009, 20:45

Plop,

- Pour la première question, pour stocker une image c'est StoPic, sinon j'ai pas très bien compris ce que tu veux dire par là ...

- Pour faire baisser la barre de vie, il te faut une variable qui gérera la vie restante, puis ensuite gérer l'affichage en fonction de la vie qui te reste, par exemple essaies le code suivant :

[font=Courier New]Line 10,50,112,50
Line 112,50,112,52
Line 112,52,10,52
Line 10,52,10,50 //dessine le cadre
Line 11,51,111,51 //pleine vie : V = 100

For v,100,35,-1 //la vie diminue de 100 à 35
PtOff 11+v,51 //efface la vie perdue
EndFor[/font]


Après tu peux faire des effets stylés en plus si t'as envie, mais c'est la façon la plus basique pour une barre de vie qui baisse

EDIT : si t'as besoin d'aide urgente tu peux prendre mon adresse MSN (bouton en bas de mon message), sinon tu peux toujours continuer à poster ici, où on pourra t'aider :)
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Programmation d'un jeu.

Unread postby KageNoYoru » 28 Sep 2009, 20:55

Merci pour cette réponse rapide et je prends note de ton adresse MSN mais je n'ai pas vraiment le temps d'y aller, je préfère le forum car je peux laisser des messages à tout moment mais c'est super sympa merci. Grâce à toi et Linkwebmaster j'ai compris comment faire descendre une barre de vie. Mais le problème que je rencontre est le fait que je ne sais pas comment gérer les conditions pour faire varier la valeur de la variable de la barre de vie. Une suggestion éclairée ? :#gni#:

Merci d'avance.
User avatar
KageNoYoru
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S-SI

Re: Programmation d'un jeu.

Unread postby tama » 28 Sep 2009, 21:17

faire varier la valeur de la variable de la barre de vie ? c'est-à-dire gérer comment elle va descendre, monter etc ... ?
à moins que tu ne veules savoir quand la faire descendre, dans ce cas il faudra voir tests de collision et co ...
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Programmation d'un jeu.

Unread postby KageNoYoru » 28 Sep 2009, 21:26

C'est exactement ça Tama, je voudrais savoir comment gérer les tests de collision car un contact ne doit pas être signe de perte de vie mais un coup san protection oui, j'avoue que je ne sais pas comment faire si ma précédente proposition ne tient pas...
Je verrai vos réponses demain, je vais me coucher, je suis crevé, merci en core Tama pour cette réponse, et je l'espère cells à venir.
User avatar
KageNoYoru
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S-SI

Re: Programmation d'un jeu.

Unread postby tama » 28 Sep 2009, 21:43

bah dans ce cas il te faudrait encore une autre variable (attends toi à en avoir plein) qui détecte si un coup reçu engendre des dégâts ou pas, par exemple protection qui vaut 1 quand le perso se protège et donc ne reçoit pas de dégâts ou des dégâts atténués, ou 0 quand le perso n'est pas protégé et reçoit full damage

pour les tests de collision, ça dépend de comment tu vas faire les attaques : une balle venant d'une arme est assez facile à tester, une épée un peu plus dure, et ça dépend de ton exigence, reçoit t-il plus de dommages à certains endroits particuliers (la tête par exemple ?) etc... tout ça est à gérer.
Donc il n'y a pas de formule générale (à part peut-être tester si les 2 sprites se croisent en vérifiant les "rectangles") tout dépend de comment tu veux faire ça (les attaques ...)
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Programmation d'un jeu.

Unread postby LinkWebmaster » 29 Sep 2009, 10:04

comment gérer les conditions pour faire varier la valeur de la variable de la barre de vie.


En reprenant l'exemple de Tama :

dès que tu évoques le mot condition pense à If
dans ce cas : si (if) il y a un choc : les variables de position de l'ennemi chevauchent celles du héros et que la protection n'est pas activée (if protec=0) alors la variable de vie (dans l'exemple de tama: v) perd 10 points(ou utilise rand() pour une perte de points aléatoire)...

ce qui donnerait
x = position horizontale du perso et x2 position horizontale de l'ennemi (dont le sprite fait 10 pixels de largeur)
if x=x2+10 and protect=0:v-10-v
puis tu réaffiches la variable v à l'écran
Image
User avatar
LinkWebmaster
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 68.8%
 
Posts: 158
Joined: 03 Jan 2005, 00:00
Location: Projet RPG MAKER Ti
Gender: Male
Calculator(s):
MyCalcs profile
Class:

Re: Programmation d'un jeu.

Unread postby tama » 29 Sep 2009, 19:58

moui, mais profites du fait que tu aies 8 caractères à utiliser pour une variable pour rendre son nom explicite, par exemple vie à la place de v ...
ça t'aidera pour le débogage (trouver les erreurs ...) ou pour le reprendre après une longue période sans y toucher. Tu peux également ajouter des commentaires avec le caractère "C" (copyright) en faisant [Diamant] + [)]
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Previous

Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 8 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2440 utilisateurs:
>2394 invités
>39 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)