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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 4:52

» KGF_dll - nouvelles versions
par Klaus Hier à 23:05

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Univers sans fin

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Marc



Nombre de messages : 549
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Univers sans fin   Dim 12 Fév 2017 - 2:30

Univers sans fin...

Pour ce déplacer, utilisez la souris !

Code:
' ------------------------------------------------------------------------------
'  Essai de déplacement 4 axes avec la souris. 4 plans identiques utilisés
'  MARC37 - Février 2017 - Panoramic v0.9.27
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
' ------------------------------------------------------------------------------

WIDTH 0, 700
HEIGHT 0, 450

LEFT 0,(SCREEN_X-WIDTH(0))/2
TOP 0,(SCREEN_Y-HEIGHT(0))/2

LABEL Quitter
LABEL Deplace

DIM x%,y% : ' offset variable incrémenté par la souris
DIM Map%(4,2) : ' offset fixe des Sprites
DIM x_souris%, y_souris%

DIM h%,w%
    w% = WIDTH_CLIENT(0)
    h% = HEIGHT_CLIENT(0)

ON_CLOSE 0, Quitter

espace_sideral()

WHILE 0=0
    x_souris%= MOUSE_X_POSITION(10)
    y_souris%= MOUSE_Y_POSITION(10)

    IF y_souris%>(3/5*h%) THEN y%=y%+1: ' vers le bas
    IF y_souris%<(2/5*h%) THEN y%=y%-1: ' vers le haut
    IF x_souris%>(3/5*w%) THEN x%=x%+1: ' vers la droite
    IF x_souris%<(2/5*w%) THEN x%=x%-1: ' vers la gauche

    IF x% = w% THEN x% = 0
    IF y% = h% THEN y% = 0
    IF x% = (-1*w%) THEN x% = 0
    IF y% = (-1*h%) THEN y% = 0

    IF x%=>0 AND y%=>0
        Map%(1,1)=(-1*w%)+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=(-1*w%)+x%

        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=(-1*h%)+y%
        Map%(4,2)=(-1*h%)+y%
    END_IF

    IF x%=<0 AND y%=<0
        Map%(1,1)=w%+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=w%+x%

        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=h%+y%
        Map%(4,2)=h%+y%
    END_IF

    IF x%=>0 AND y%=<0
        Map%(1,1)=(-1*w%)+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=(-1*w%)+x%
        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=h%+y%
        Map%(4,2)=h%+y%
    END_IF

    IF x%=<0 AND y%=>0
        Map%(1,1)=w%+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=w%+x%

        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=(-1*h%)+y%
        Map%(4,2)=(-1*h%)+y%
    END_IF
    GOSUB Deplace
END_WHILE
END
' ------------------------------------------------------------------------------
SUB Espace_sideral()
    DIM_LOCAL i%, j%
    PICTURE 20
    FULL_SPACE 20
    COLOR 20,j%*20,j%*20,0
    2D_TARGET_IS 20
    2D_PEN_COLOR 255,255,255
    FOR i%=1 TO 500
        2D_POINT INT(RND(w%)),INT(RND(h%))
    NEXT i%
    FOR i%=1 TO 50
        2D_CIRCLE INT(RND(w%)),INT(RND(h%)),2
    NEXT i%
    IMAGE 30
        2D_IMAGE_COPY 30,0,0,w%,h%
    CLS
    SCENE2D 10
    FULL_SPACE 10

    SPRITE_CREATE_HIDE
    FOR i% = 1 to 4
        SPRITE i%
    NEXT i%
    FOR i% = 1 to 4
        SPRITE_IMAGE_LOAD i%,30
    NEXT i%
    x%=0
    y%=0
    SPRITE_POSITION 1,x%,y%-h%
    SPRITE_POSITION 2,x%,y%
    SPRITE_POSITION 3,x%,y%+h%
    SPRITE_POSITION 4,x%-w%,y%-h%

    FOR i% = 1 to 4
        SPRITE_SHOW i%
    NEXT i%

END_SUB
' ------------------------------------------------------------------------------
deplace:
    SPRITE_POSITION 1,Map%(1,1),Map%(1,2)
    SPRITE_POSITION 2,Map%(2,1),Map%(2,2)
    SPRITE_POSITION 3,Map%(3,1),Map%(3,2)
    SPRITE_POSITION 4,Map%(4,1),Map%(4,2)
    DISPLAY
RETURN
' ------------------------------------------------------------------------------
Quitter:
    TERMINATE
RETURN
' ------------------------------------------------------------------------------
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc



Nombre de messages : 549
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Univers sans fin   Dim 12 Fév 2017 - 11:15

Nouvel essai : ajout de la vitesse de déplacement variable.

Vitesse de déplacement nulle quand la souris est au centre de l'écran.
Plus on s'éloigne du centre, plus la vitesse augmente.

Code:
' ------------------------------------------------------------------------------
'  Essai de déplacement 4 axes avec la souris.
'  4 plans identiques utilisés + vitesse variable
'  MARC37 - Février 2017 - Panoramic v0.9.27
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
' ------------------------------------------------------------------------------

WIDTH 0, 400
HEIGHT 0, 400
LEFT 0,(SCREEN_X-WIDTH(0))/2
TOP 0,(SCREEN_Y-HEIGHT(0))/2
LABEL Quitter
LABEL Deplace
DIM x%,y% : ' offset variable incrémenté par la souris
DIM Map%(4,2) : ' offset fixe des Sprites
DIM x_souris%, y_souris%
DIM i% : ' boucle de vitesse
DIM Vitesse%
DIM h%,w%
    w% = WIDTH_CLIENT(0)
    h% = HEIGHT_CLIENT(0)
ON_CLOSE 0, Quitter
espace_sideral()
WHILE 0=0
    x_souris%= MOUSE_X_POSITION(10)
    y_souris%= MOUSE_Y_POSITION(10)
    Vitesse% = (ABS(y_souris%-(h%/2))+ABS(x_souris%-(w%/2)))/2
    Vitesse% = (vitesse%*(-1*227))+20520
    IF y_souris%>(1/2*h%+10) THEN y%=y%+1: ' vers le bas
    IF y_souris%<(1/2*h%-10) THEN y%=y%-1: ' vers le haut
    IF x_souris%>(1/2*w%+10) THEN x%=x%+1: ' vers la droite
    IF x_souris%<(1/2*w%-10) THEN x%=x%-1: ' vers la gauche
    IF x% = w% THEN x% = 0
    IF y% = h% THEN y% = 0
    IF x% = (-1*w%) THEN x% = 0
    IF y% = (-1*h%) THEN y% = 0
    IF x%=>0 AND y%=>0
        Map%(1,1)=(-1*w%)+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=(-1*w%)+x%
        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=(-1*h%)+y%
        Map%(4,2)=(-1*h%)+y%
    END_IF
    IF x%=<0 AND y%=<0
        Map%(1,1)=w%+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=w%+x%
        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=h%+y%
        Map%(4,2)=h%+y%
    END_IF
    IF x%=>0 AND y%=<0
        Map%(1,1)=(-1*w%)+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=(-1*w%)+x%
        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=h%+y%
        Map%(4,2)=h%+y%
    END_IF
    IF x%=<0 AND y%=>0
        Map%(1,1)=w%+x%
        Map%(2,1)=0+x%
        Map%(3,1)=0+x%
        Map%(4,1)=w%+x%
        Map%(1,2)=0+y%
        Map%(2,2)=0+y%
        Map%(3,2)=(-1*h%)+y%
        Map%(4,2)=(-1*h%)+y%
    END_IF
    GOSUB Deplace
END_WHILE
END
' ------------------------------------------------------------------------------
SUB Espace_sideral()
    DIM_LOCAL i%, j%
    PICTURE 20
    FULL_SPACE 20
    COLOR 20,j%*20,j%*20,0
    2D_TARGET_IS 20
    2D_PEN_COLOR 255,255,255
    FOR i%=1 TO 500
        2D_POINT INT(RND(w%)),INT(RND(h%))
    NEXT i%
    FOR i%=1 TO 50
        2D_CIRCLE INT(RND(w%)),INT(RND(h%)),2
    NEXT i%
    IMAGE 30
        2D_IMAGE_COPY 30,0,0,w%,h%
    CLS
    SCENE2D 10
    FULL_SPACE 10
    SPRITE_CREATE_HIDE
    FOR i% = 1 to 4
        SPRITE i%
    NEXT i%
    FOR i% = 1 to 4
        SPRITE_IMAGE_LOAD i%,30
    NEXT i%
    x%=0
    y%=0
    SPRITE_POSITION 1,x%,y%-h%
    SPRITE_POSITION 2,x%,y%
    SPRITE_POSITION 3,x%,y%+h%
    SPRITE_POSITION 4,x%-w%,y%-h%
    FOR i% = 1 to 4
        SPRITE_SHOW i%
    NEXT i%
END_SUB
' ------------------------------------------------------------------------------
deplace:
    SPRITE_POSITION 1,Map%(1,1),Map%(1,2)
    SPRITE_POSITION 2,Map%(2,1),Map%(2,2)
    SPRITE_POSITION 3,Map%(3,1),Map%(3,2)
    SPRITE_POSITION 4,Map%(4,1),Map%(4,2)
    FOR i% = 0 TO vitesse%
    NEXT i%
    DISPLAY
RETURN
' ------------------------------------------------------------------------------
Quitter:
    TERMINATE
RETURN
' ------------------------------------------------------------------------------
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Univers sans fin   Dim 12 Fév 2017 - 11:22

Bravo Marc, ça marche bien.

Impatient de voir la suite...

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

Nombre de messages : 1626
Date d'inscription : 13/09/2009

MessageSujet: +++   Lun 20 Fév 2017 - 17:55

Une nouvelle guerre des étoiles en perspective...
Ou alors, une exploration plus pacifique de l'univers ?
On attend la suite avec impatience...
bounce alien bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Contenu sponsorisé




MessageSujet: Re: Univers sans fin   

Revenir en haut Aller en bas
 
Univers sans fin
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Antivir me signale sans arrêt que j'ai un virus quand j'utilise firefox
» transferer SANS FIL la video d'un pc sur une tv
» [Résolu] Clavier sans fil faisant des siennes...
» Question sur d-Link sans fil ?
» Protection de zone sans détecteur

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