Oui oui c'est moi, pourquoi ...?
Quelques questions...
-
Anonyme
Bah j'aimerais faire un jeu de stratégie tour par tour ; un petit (très petit
) "civilization-like". Il me semble que cela doit être faisable si l'on y consacre suffisament de temps. J'ai d'abord pensé à de la 3D puis paf ! Et pourquoi pas de la 2D iso, c'est magique l'isométrique
J'en profite :
Le Projet est-il faisable sous PureBasic ?
L'isométrique est-elle difficile à reproduire ?
Merci
Le Projet est-il faisable sous PureBasic ?
L'isométrique est-elle difficile à reproduire ?
Merci
OuiJoubarbe a écrit :Le Projet est-il faisable sous PureBasic ?
Aucune idée, je dirais non , il y a quelques tuts sympas sur le net pour différents formats isos, j'ai plus les liens mais en cherchant tu trouveras facilement , et puis il y a des codes sources exemple sur ce forum et sur le forum anglais.L'isométrique est-elle difficile à reproduire ?
et voici un exemple de jeu iso très bien réalisé fait avec PureBasic
http://purebasic.fr/english/viewtopic.php?t=15071
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
-
Anonyme
tu n'a pa vu les liens que je t'ai filé ?
http://www.penguinbyte.com/apps/pbwebst ... 2D_ISO.rar
http://www.penguinbyte.com/apps/pbwebst ... SOURCE.rar
http://www.penguinbyte.com/apps/pbwebst ... 2D_ISO.rar
http://www.penguinbyte.com/apps/pbwebst ... SOURCE.rar
Euh, une petite question toute bête. Un point de détail 
Dans la ligne suivante :
Je comprends tout à fait le principe et sais l'utiliser mais je me demande comment l'ordi fait pour ouvrir une fenêtre 1024,768,32 alors que je ne fais que déclarer une condition ?
Ne serait-il pas normal de déclarer ensuite OpenScreen(1024,768,32,"test"), ce qui signifierait "j'ouvre la fenêtre" ET "si la fenêtre ne s'ouvre pas pour raison x alors message d'erreur".
Voilà, c'est juste pour pouvoir mieux comprendre Monsieur le PC
Merci
Dans la ligne suivante :
Code : Tout sélectionner
If InitSprite() = 0 Or OpenScreen(1024,768,32,"Test") = 0
MessageRequester("Error", "Erreur !", #PB_MessageRequester_Ok)
EndIfNe serait-il pas normal de déclarer ensuite OpenScreen(1024,768,32,"test"), ce qui signifierait "j'ouvre la fenêtre" ET "si la fenêtre ne s'ouvre pas pour raison x alors message d'erreur".
Voilà, c'est juste pour pouvoir mieux comprendre Monsieur le PC
Merci
-
Anonyme
Langage basic :
Langage humain :
en gros , si il renvois 0 alors l'initialisation à échoué, sinon c'est ok. 
Code : Tout sélectionner
If InitSprite() = 0 Or OpenScreen(1024,768,32,"Test") = 0
MessageRequester("Error", "Erreur !", #PB_MessageRequester_Ok)
EndIfCode : Tout sélectionner
Si tu n'arrives pas à initialiser les sprites ou si tu n'arrives pas à ouvrir l'écran
Message d'erreur = ERROR !
Finsitu ne declare pas une condition seulement, tu verifie si la conditionJoubarbe a écrit : Je comprends tout à fait le principe et sais l'utiliser mais je me demande comment l'ordi fait pour ouvrir une fenêtre 1024,768,32 alors que je ne fais que déclarer une condition ?
en question est valable ou pas, et si c'est bon tu lance la commande d'ouverture de fenetre (tous ça dans la meme ligne de code !)
le "OR" est un OU non exclusif, c'est ou l'un ou l'autre ou bien les deux !Ne serait-il pas normal de déclarer ensuite OpenScreen(1024,768,32,"test"), ce qui signifierait "j'ouvre la fenêtre" ET "si la fenêtre ne s'ouvre pas pour raison x alors message d'erreur".
Voilà, c'est juste pour pouvoir mieux comprendre Monsieur le PC
Merci
ne pas confondre avec XOR !
personellement je ne teste jamais si les commandes se lancent ou pas !
car en mettant au point le prg, on vois bien si ça deconne ou pas !
je garde ce genre de test pour les peripheriques, comme le joystick
car tout le monde n'en a pas de branché en permanence
mais tester openwindows, ou meme la presence d'une souris, est un peut
exageré, je trouve
dans ton cas , j'ecrirai juste
Code : Tout sélectionner
InitSprite()
OpenScreen(1024,768,32,"Test")
(Je sens que certain vont pas etre d'accord !
Dernière modification par Backup le ven. 07/juil./2006 0:21, modifié 1 fois.
C'est bien là le problème, moi ce que je comprends de la ligne, c'est que le pc fait une vérification de l'openscreen, mais pour moi la condition n'est pas vraie puisque nulle part je la déclare en tant que tel.et si c'est bon tu lance la commande d'ouverture de fenetre (tous ça dans la meme ligne de code !)
En français :
SI OpenScreen=0 ALORS message d'erreur SINON print "bonjour"
ne signifie pas
"SI OpenScreen=0 ALORS message d'erreur SINON ouvre l'OpenScreen et print "bonjour"
Je m'étonne de ne pas avoir à programmer la deuxième phrase...
En espérant me faire comprendre
EDIT (pour insister encore plus
Pour moi ce n'est jamais bonet si c'est bon tu lance la commande d'ouverture de fenetre (tous ça dans la meme ligne de code !)
-
Anonyme
moi je comprends ce que tu veut dire.
Voici en gros comment cela se décompose
le programme va tester cette ligne
il va le décomposé comme cela
If
Machin()
0
...
endif
le programme , tombe sur IF, alors il sait qu'il va faire une sorte de "test"
ensuite il execute Machin() suivant le retour de Machin() il entre dans le if/endif, donc si Machin() = 0 alors il entre ds la boucle sinon il effectue un saut après endif.
Essaye ca :
Voici en gros comment cela se décompose
le programme va tester cette ligne
Code : Tout sélectionner
If Machin() = 0
code....
endif
If
Machin()
0
...
endif
le programme , tombe sur IF, alors il sait qu'il va faire une sorte de "test"
ensuite il execute Machin() suivant le retour de Machin() il entre dans le if/endif, donc si Machin() = 0 alors il entre ds la boucle sinon il effectue un saut après endif.
Essaye ca :
Code : Tout sélectionner
Resultat = openscreen(800,600,32,"")
if Resultat=0
Messagerequester("","pas d'ecran! na!")
endif
closescreen()
debug ResultatTiens, quand je fais ça, PureBasic déconne avec une erreur microsoft "Envoyez le rapport" ou "Ne pas envoyer" patati patata 
Sinon dans ton exemple, tu déclares clairement après le IF...ENDIF que tu vas ouvrir une fenêtre si machin()=0. Or, moi je ne fais pas cette ultime déclaration dans ma commande, il n'y a pas d'OpenScreen après ou avant mon IF...ENDIF.
Je dois commencer à être un peu chiant là
EDIT : Par contre, l'erreur Windows me gêne un peu, je fonctionne avec le jaPBe mais avec PureBasic original ça ne marche pas non plus, une solution ? Merci.
EDIT2 : Ah oui, je n'avais pas mis l'initsprite()
Sinon dans ton exemple, tu déclares clairement après le IF...ENDIF que tu vas ouvrir une fenêtre si machin()=0. Or, moi je ne fais pas cette ultime déclaration dans ma commande, il n'y a pas d'OpenScreen après ou avant mon IF...ENDIF.
Je dois commencer à être un peu chiant là
EDIT : Par contre, l'erreur Windows me gêne un peu, je fonctionne avec le jaPBe mais avec PureBasic original ça ne marche pas non plus, une solution ? Merci.
EDIT2 : Ah oui, je n'avais pas mis l'initsprite()
oui comme te l'indique Cpl.Bator
si tu fais
c'est tres clair !
mais sache que lorsque tu fait directement
ça marche parceque ça n'est pas la commande openscreen(800,600,32,"") qui est annalysé par le purebasic
mais son parametre de Retour !!
en fait implicitement faire
reviens a faire
n'oublie pas qu'une comande purebasic est comparable a une FONCTION
ou une procedure avec Retour !!
en basic standart dans :
openscreen(800,600,32,"")
tu as l'appel de la fonction "openscreen"
avec passage des parametres "(800,600,32,"")"
et automatiquement cette fonction renvoie un "etat"
c'est pourquoi on peut faire
Resultat = openscreen(800,600,32,"")
dans ce cas le "retour" "l'etat de la fonction" est renvoyé dans la variable
"Resultat "
mais si tu utilise un "if" , c'est Directement le "retour" de la fonction qui est evalué par la condition , et non pas la fonction elle meme

si tu fais
Code : Tout sélectionner
Resultat = openscreen(800,600,32,"")
if Resultat=0
Messagerequester("","pas d'ecran! na!")
endif
mais sache que lorsque tu fait directement
Code : Tout sélectionner
if openscreen(800,600,32,"")
mais son parametre de Retour !!
en fait implicitement faire
Code : Tout sélectionner
if openscreen(800,600,32,"")
Code : Tout sélectionner
Resultat = openscreen(800,600,32,"")
if Resultat=0
ou une procedure avec Retour !!
en basic standart dans :
openscreen(800,600,32,"")
tu as l'appel de la fonction "openscreen"
avec passage des parametres "(800,600,32,"")"
et automatiquement cette fonction renvoie un "etat"
c'est pourquoi on peut faire
Resultat = openscreen(800,600,32,"")
dans ce cas le "retour" "l'etat de la fonction" est renvoyé dans la variable
"Resultat "
mais si tu utilise un "if" , c'est Directement le "retour" de la fonction qui est evalué par la condition , et non pas la fonction elle meme