Projet Trophée Jules Verne

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Projet Trophée Jules Verne

Message par Dominique »

Une observation faite par _sam_ m'a mis sur la voie d'un projet un peu fou :
Un qui simule le tour du monde.

Les idées ne sont pas encore claires ni formées, mais ça me botte assez de tenter l'aventure.

Quelle machine ? - pourquoi pas le MO5.
Langage : Le Basic me semble ad-hoc vu les calculs à faire et peut-être du Langage Machine pour
la partie graphique.

=====================================

LE PROJET JULES VERNE

But du jeu :
Partant de Bretagne aux commandes d'un voilier de course, revivre la Jule Verne en passant les caps mythiques de Bonne Espérance, Leeuwin et Horn.

A) Réglage/Choix du bateau :
-Établir différents niveaux ?
-Polaires : Différentes polaires ? (Vitesse du bateau en fonction de l'angle et force du vent)
-Voiles : Différentes voiles ?



B) Tour de jeu : Représente 1 ou 2 jours de mer Soit 25 tours de jeu +- Tour estimé en 50 jours de mer soit 25 tours de jeu.....

1 - Le joueur :
-Choisir vue rapprochée : Affichage des vents dans des zones de quelques miles par quelques miles (identique Virtual Regatta)
-Choisir vue globale : affiche Position sur la carte + route orthodromique
-Choisir le Cap - En vue rapprochée une rose des vents - Indication du point d'arrivée 24H
-Waypoint - En vue rapprochée pose et dépose des way-point - Limiter le nombre ?
-Voiles : Spin, Foc, Grand Voile ?

2 - L'ordinateur :
-Gérer le déplacement du joueur
-Gérer la Météo Random (au plus près des conditions normales : Anticyclones, alizés, pot-au-noir, 30° rugissants ) La météo -change au moins à chaque tour de jeu. Peut être durant un tour de jeu, ajoutant un facteur chance : Un vent peut tourner et montrer contraire ... a voir
-Gérer les différents affichages : Vue globale - Vue rapprochée - tableau de bord
-Gérer des concurrents virtuels (?)
-Calculer les positions (distance au but, route orthodromique, chrono, etc.)
-Calculer des temps intermédiaires (Équateur - Bonne Espérance- Leeuwin - Horn - Equateur - Brest)
C) Fin
-Calcul du temps sur la ligne d'arrivé

D) Questions (encore) sans réponses :
Différents éléments perturbateurs ? Casse ? Tempêtes ? échouages ?
Inclure des temps de repos (simulé par limite du nombre de way-points) ?

EDIT :
Daniel
Messages : 17412
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Projet Trophée Jules Verne

Message par Daniel »

En attendant ces nouveaux projets, j'ai créé la page http://dcmoto.free.fr/programmes/paintx/index.html
Si vous avez des remarques ou suggestions pour la présentation, j'en tiendrai compte...
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: Projet Trophée Jules Verne

Message par Dominique »

Merci Daniel.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13290
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Projet Trophée Jules Verne

Message par Carl »

Dominique, un jeu dans le style Régates sur TO7 MO5

Image

Image
Markerror
Messages : 2123
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Projet Trophée Jules Verne

Message par Markerror »

Bonjour,

Et encore un projet qui démarre :-).

Je rajouterais l'éventualité (faible) d'une collision avec un objet flottant (conteneur, baleine, tronc d'arbre), histoire d'augmenter encore un peu le réalisme :-).
Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: Projet Trophée Jules Verne

Message par Dominique »

Pour l'instant j'en suis encore à l'élaboration du projet.

1 - Le moteur du programme c'est bien entendu la gestion de la navigation.
- A chaque tour de jeu - que je pense limiter à 25 pour que le jeu ne soit pas trop long- on doit contrôler le déplacement.
Notre bateau aura ce que l'on appelle une Polaire c'est à dire un vecteur vitesse fonction de l'angle, de la force du vent et bien entendu de la voile. Ce site donne un bon nombre de polaires.
http://www.virtual-loup-de-mer.org/Polaires/
- Il faudra mettre un tableau en mémoire pour le foc, un tableau pour le Spi. Les angles avec le cap du bateau variant de 0 à 180°et la force du vent de 0 à 40 nœuds, un tableau de 15 en 15 ° x 0 à 40 N ça fait 14*40 = 560 valeurs par voile. C'est beaucoup. On peut penser à 0 à 40 par sauts de 2 N. Peut être 4. On calculera les valeurs intermédiaires par moyennes
Une fois la vitesse obtenue, il faudra la décomposer en deux vitesse suivant le cap. Une horizontale parallèle aux latitudes, et une verticale dans le sens des longitudes. Tout ça c'est le fameux parallélogramme des forces.
- Si on suppose la terre une sphère parfaite la progression verticale c'est le grand diamètre de la terre, pas de soucis.
La progression horizontale est une autre paire de manches. on doit tenir compte de la latitude. Rien de bien compliqué; la trigonométrie est là pour nous aider.

2 - Pour rendre le jeu intéressant il faut penser à pouvoir enregistrer les valeurs intermédiaires à chaque fin de tour
de façon à les enregistrer sur K7. On pourra ainsi essayer de battre ses records.

voila, voila.
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Projet Trophée Jules Verne

Message par 6502man »

Très intéressant tous ca :D

Pour les calculs tu peux faire appel a des routines ASM, a moins que cela ne soit pas nécessaire !

Au fait, tu penses le faire sur quelles plateforme ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: Projet Trophée Jules Verne

Message par Dominique »

Je vais essayer de le faire en basic sur le MO5.
Enfin c'est du 'sans filets' mais il me semble que son basic est semblable aux autres, et j'aime bien ses fonctions LINE, PAINT etc.. qui doivent nous aider dans la partie graphique.
J'y vais tout doucement en essayant de réfléchir sur tout avant de coucher sur le papier.
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Projet Trophée Jules Verne

Message par 6502man »

Sur MO5 tu devrais pouvoir utiliser le lecteur de Disquette c'est très pratique, ou bien le TO8D et son lecteur de disquette intégré :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13290
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Projet Trophée Jules Verne

Message par Carl »

le mo5SD :wink:
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Projet Trophée Jules Verne

Message par 6502man »

J'y avais pensais aussi :roll:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Daniel
Messages : 17412
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Projet Trophée Jules Verne

Message par Daniel »

Carl a écrit :le mo5SD :wink:
Le projet MO5SD est maintenant périmé, il vaut mieux utiliser SDMO. Hier j'en ai fait une nouvelle version avec des CMS : elle est beaucoup plus petite et très pratique. Elle est émulée (ainsi que l'interface SDMOTO sur connecteur joystick) par la prochaine version de dcmoto.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: Projet Trophée Jules Verne

Message par Dominique »

Voici les premières lignes.
L'idée est de mettre les polaires en mémoire. Une pour le FOC, une pour le SPI.
L'angle au vent (TWA- True Wind Angle) de 0 à 180 ° est incrémenté de 15 en 15 et la vitesse du vent en Nœuds de 4 en 4.
Si nécessaire, on pourra plus tard affiner les polaires de 10 en 10 par exemple.
Après la lecture des polaires (sub 190) on calcule le TWA en fonction des caps du vent et du bateau (sub 180) et on applique les polaires (sub 170)
Après avoir transformé les degrés en grades (sub 200) on transforme la vitesse et cap en vitesses horizontales et verticales selon le parallélogramme des forces.

Cet après midi on fera le lien entre déplacement et variation des coordonnées. Ceux qui n'aiment pas les maths pourront zapper
mais certains vont revivre leurs cours de seconde.

REM Jules Verne - MO5 - Basic

Code : Tout sélectionner

5 DEFSNG A-C:GOSUB190

10 INPUT"DIRECTION VENT";CAPV:INPUT"FORCE VENT";CFORCE:INPUT"CAP BATEAU";CAPB:INPUT"VOILE";VOILE

15 GOSUB 180 : GOSUB 170:
16 IF CAPB<91 THEN DEG=CAPB:VVERT=1:VHZT=1:GOTO25
17 IF CAPB<181 THEN DEG=180-CAPB:VVERT=-1:VHZT=1:GOTO25
18 IF CAPB<271 THEN DEG=CAPB-180:VVERT=-1:VHZT=-1:GOTO25
19 DEG=360-CAPB:VVERT=1:VHZT=-1
25 GOSUB200:GOSUB 300

40 END

170 REM CALCULE VITESSE SUIVANT TWA ET POLAIRE : VOILE 1=FOC:2=SPI
171 IF CFORCE=0 OR TWA=0 THEN VITESSE=0:RETURN
172 IF CFORCE>36 THEN CFORCE=36
173 IF TWA<15 THEN TWA=15
174 IF CFORCE<4 THEN CFORCE=4            
175 IF VOILE=2 THEN GOTO 177
176 VITESSE=FOC(CINT(CFORCE/4),CINT(TWA/15)):RETURN
177 VITESSE=SPI(CINT(CFORCE/4),CINT(TWA/15)):RETURN

180 REM CALCULE ANGLE AU VENT TWA
185 TWA=ABS(180-ABS(CAPB-CAPV)):RETURN

190 REM MAJ POLAIRES
194 DIM FOC (9,12), SPI (9,12)
195 FOR J=1 TO 12 : FOR N=1TO9:READ FOC(N,J): NEXT N: NEXT J
196 FOR J=1 TO 12 : FOR N=1TO9:READ SPI(N,J): NEXT N: NEXT J : RETURN

200 REM TRANSF DEGRES EN RADIANS
210 RAD=DEG*0.0174:RETURN

300 REM TRANSF VITESSE ET CAP EN V HORIZ ET VERT
310 vVERT=VVERT*VITESSE*COS(RAD):VHZT=VHZT*VITESSE*SIN(RAD) :RETURN

700 REM POLAIRE FOC
710 DATA 0.83,1.46,1.67,1.77,1.86,1.9,1.94,1.97,1.97,2.9,5.1,5.86,6.21,6.5,6.66,6.8,6.9,6.9
720 DATA 5.1,8.41,9.45,10.13,10.6,10.88,11.1,11.29,11.4,6.3,9.03,10.54,11.43,12,12.56,13.21,13.69,14.11
730 DATA 6.9,9.93,11.43,12.66,13.79,14.74,15.82,16.86,17.7,7,10.72,12.15,13.9,15.69,17.2,18.52,18.99,20
740 DATA 6.5,10.55,12.54,15.01,17.09,18.23,19.22,19.97,20.6,5.65,9.88,11.7,14.34,16.45,17.28,18.43,18.64,20.36
750 DATA 4.94,8.64,10.23,12.54,14.4,15.12,16.13,16.3,17.81,3.95,6.91,8.17,10.03,11.5,12.09,12.89,13.03,14.24
760 DATA DATA 3.11,5.43,6.43,7.88,9.04,9.5,10.13,10.24,11.19,2.78,4.85,5.74,7.05,8.08,8.49,9.05,9.15,10

765 REM POLAIRE SPI
770 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
780 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
790 DATA 1.2,2.09,2.47,3.03,3.48,3.66,3.9,3.95,4.31,3.8,6.92,7.86,9.64,11.05,11.61,12.39,12.52,13.68
800 DATA 5.7,9.89,11.71,14.36,16.48,17.3,18.46,18.66,20.39,6,10.36,12.35,15.2,17.19,18.79,20.43,21.75,22.8
810 DATA 4.9,9.17,11.63,14.9,17.38,19.28,21.24,23.12,24.9,3.5,7.27,9.83,12.35,15.48,18.97,22.16,23.87,25.5
811 DATA 2.6,5.67,8.13,10.5,12.39,15.22,18.46,21.57,23.7,2.4,5.26,7.53,9.69,11.49,14.13,17.15,20.07,22
Pièces jointes
JulesVerne.rar
(77 octets) Téléchargé 139 fois
Dernière modification par Dominique le 23 juin 2013 13:14, modifié 1 fois.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13290
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Projet Trophée Jules Verne

Message par Carl »

voici déjà une possible jaquette :roll:

Image

carl
Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: Projet Trophée Jules Verne

Message par Dominique »

@Carl :lol:

Quelques définitions et/ou rappels :
- On admet la Terre une sphère parfaite de 40 000 Km de circonférence à l'équateur ou n'importe quel méridien.
- 1 mile Nautique (nM) est un arc de cercle de 1 minute de la grande circonférence soit :
40 000 / 360*60 = 1.852 Km = 1nM
- 360 ° = 2Pi radians
===========> 1° = 2 Pi/360 = 0.01745 radians
===========> 1 rad = 360/2pi = 57.29 °
- Soit 1 Point A sur le globe à la latitude C°. Pour faire le tour de la terre (360°) il devra parcourir le cercle de rayon r1.
r1= R*COS(C) -> C exprimé en radians
LatLong.jpg
LatLong.jpg (22.22 Kio) Consulté 4644 fois
Pour toutes choses proportionnelles, Cos(C) est donc la raison.
Cos(C) est la raison des circonférences -> Circonférence en A = circonférence à l'équateur*cos(C)
1 arc de 1 mn latitude C ---> 1.852 nM*cos(C)
1 nM lat C ---> 60 sec / COS(C)

Conclusion : Pour calculer les changements de longitude et Latitude nous utiliserons :
A) Pour la latitude : la loi qui veut que 1 nautic Mile -> 1 minute de la grande circonférence
B) Pour la Longitude : la loi qui veut de 1 nautic Mile lat C ---> 1 minute / COS(C) (obs: C en grades)

Sauf erreur crasse, je pense que c'est comme ça.
Répondre