Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Jeu 15 Nov 2012, 19:35
Voici un petit projet de jeu du style "Minecraft" je le poste alors qu'il n'est pas finis tout en vous demandant de bien vouloir m'aider à le terminer.
J'étais partit avec l'idée de le faire en 3D mais j'ai vite vu que se serait très compliqué.
Ce qu'il fait:
-Il affiche un menu avec deux choix (jouer-quitter)
-Il affiche la main de votre joueur avec la possibilité de prendre deux objets (bloc de pierre et pioche)
-Il affiche une barre d'objet
-Il affiche un curseur déplaçable
-Il affiche une barre horizontale (qui représente le sol)
Ce qu'il ne fait pas:
-Permettre de poser des blocs
-Permettre d'en supprimer (en même temps...)
J'ai essayé (en vain) d'afficher un bloc à l'endroit du curseur tout en gardant les autres bloc placer (quand on déplace le curseur, il y a un effacer dessin), ainsi que lorsque l'on redémarre le jeu les modifications précédentes restent.
J'avais pensé à utiliser une liste mais toutes mes idées étaient trop longue à réaliser.
Si vous n'avez pas compris, je vous invite à regarder cette vidéo: http://www.youtube.com/watch?v=IofAhR6crCk excusez, c'est une Casio
Enfaite je voudrais avoir le même principe de placement de blocs dans mon programme.
Le programme:
Auteur: S.L
Taille: 1452 octets
Nom: MINCRAFT
Code
114üdim(áMINX
114üdim(áMINY
6üX:9üY
AxesNAff
0üXmin:94üXmax:0üYmin:62üYmax
38üA:28üB:56üC:20üD
37üE:7üF:43üG:1üH
45üI:49üJ:33üL
31üN:35üO:47üM
Lbl 0
EffDessin
Ligne(15,51,21,49
Ligne(15,51,9,49
Ligne(21,49,15,47
Ligne(15,47,9,49
Ligne(15,39,9,41
Ligne(15,39,21,41
Ligne(21,41,21,49
Ligne(15,39,15,47
Ligne(9,41,9,49
Pt-Aff(27,40,2
Pt-Aff(27,42,2
Pt-Aff(27,44,2
Pt-Aff(27,46,2
Pt-Aff(27,48,2
Pt-Aff(29,46,2
Pt-Aff(31,44,2
Pt-Aff(33,46,2
Pt-Aff(35,48,2
Pt-Aff(35,46,2
Pt-Aff(35,44,2
Pt-Aff(35,42,2
Pt-Aff(35,40,2
Texte(18,38,"INE
Pt-Aff(53,40,2
Pt-Aff(53,42,2
Pt-Aff(53,44,2
Pt-Aff(53,46,2
Pt-Aff(53,48,2
Pt-Aff(55,48,2
Pt-Aff(57,48,2
Pt-Aff(55,40,2
Pt-Aff(57,40,2
Texte(18,60,"RAFT
Texte(27,72,"V:1.0
Texte(35,40,"PLAY
Texte(48,40,"EXIT
Texte(57,76,"BY S.L
Texte(57,0,"(C)2012
Lbl 4
Ligne(A,B,C,B
Ligne(C,B,C,D
Ligne(C,D,A,D
Ligne(A,D,A,B
codeTouch(üK
If K=25 et Bø28:Then:28üB:20üD:Goto 0:End
If K=34 et Bø15:Then:15üB:7üD:Goto 0:End
If K=105 et B=28:Goto 1
If K=105 et B=15:Then:EffDessin:Stop:End
Goto 4
Lbl 1
EffDessin
Lbl 2
Ligne(I,L,J,L
Ligne(M,O,M,N
Ligne(14,2,17,5
Ligne(18,4,18,3
Ligne(15,6,16,6
Ligne(22,6,26,6
Ligne(26,6,26,2
Ligne(26,2,22,2
Ligne(22,2,22,6
Ligne(12,8,60,8
Ligne(12,0,60,0
Ligne(12,8,12,0
Ligne(60,8,60,0
Ligne(20,8,20,0
Ligne(28,8,28,0
Ligne(36,8,36,0
Ligne(44,8,44,0
Ligne(52,8,52,0
Ligne(0,30,94,30
If E=13:Then
Ligne(73,0,80,19
Ligne(80,19,70,15
Ligne(70,15,68,21
Ligne(68,22,88,28
Ligne(88,28,94,18
Ligne(94,0,86,14
Ligne(86,14,81,0
End
If E=21:Then
Ligne(62,0,62,13
Ligne(62,13,69,20
Ligne(62,13,91,0
Ligne(91,15,94,2
Ligne(69,20,91,15
End
If E=53 ou E=45 ou E=37 ou E=29:Then
Ligne(61,17,70,20
Ligne(71,20,78,17
Ligne(78,17,83,0
Ligne(76,0,70,20
Ligne(65,0,61,17
End
Lbl 8
Ligne(E,F,G,F
Ligne(G,F,G,H
Ligne(E,H,G,H
Ligne(E,F,E,H
codeTouch(üK
If K=21 et E>13:Then:E-8üE:G-8üG:Goto 1:End
If K=22 et E<51:Then:E+8üE:G+8üG:Goto 1:End
If K=25 et L<58:Then:L+5üL:O+5üO:N+5üN:X+1üX:Goto 1:End
If K=34 et L>33:Then:L-5üL:O-5üO:N-5üN:X-1üX:Goto 1:End
If K=24 et M>2:Then:M-5üM:I-5üI:J-5üJ:Y-1üY:Goto 1:End
If K=26 et M<92:Then:M+5üM:I+5üI:J+5üJ:Y+1üY:Goto 1:End
If K=23:NON*HIS //touche qui permettra d'utiliser les objets
If K=45:Goto 0
Goto 8
Les touches sont:
annul pour quitter
2nde pour déplacer le choix d'objet vers la gauche
mode pour déplacer le choix d'objet vers la droite
les touches fléchées pour déplacer le curseur
Et peut-être:
suppr pour utiliser un objet
En espérant que vous pourriez m'aider à changer son état de projet
Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Dim 18 Nov 2012, 10:08
Ouah
C'est beau ! ça mérite que j'y prête attention...
Je n'avais jamais pensé a cette idée de bouger le curseur plutôt que le perso.
Tu permets que je réutilises ton code, que je le bidouille, le modifie, l'amplifie, le traficote un peu ?
(Je dis ça parce qu'en Basic augmenté sur 83+, il doit y avoir moyen de gérer des buffers plus facilement et rapidement... ça pourrait être faisable...)
Quand à ton problème je ne vois pas le rapport:
Le jeu que tu présentes toi est a la première personne, celui dans la vidéo à la troisième personne, il est impossible de mélanger les deux...
(pour ceux qui ont des 83+, il existe déjà un petit Minecraft en Axe, j'ai nommé TinyCraft d'hayleia)
Mais en Basic aussi ça doit être faisable, le mode 3e personne...
Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Dim 18 Nov 2012, 18:46
@persalteas : Tout d'abord merci J'accepte que tu le "bidouille" à ta guise!
Ensuite, dans mon poste je me suis mal exprimer, enfaite je voulais que l'on puisse déplacer le curseur et lorsque l'on appuierait sur une touche, ça dessine un petit carré à la place du curseur et que l'on puisse en poser de partout puis, lorsque l'on quitterait, les modifications seraient enregistrées.
PS: Je suis aller voir ce TinyCraft mais (désolé) je vois pas trop Minecraft dedans néanmoins il est très bien fait
Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mar 20 Nov 2012, 14:13
Ah oui d'accord.
En fait, tu veux faire la même chose que le programme Casio, avec les dessins de l'inventaire et du bras devant.
CHALLENGE ACCEPTED
Et la sauvegarde, ça devrait être possible aussi.
Si tout ça marche bien, je pense même pouvoir mettre des mobs (reste a savoir si je le fais en Basic pur ou pas).
Mais faut déjà que tout marche bien, nous n'en sommes encore pas là.
Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Ven 23 Nov 2012, 17:48
@persalteas: j'ai enfin PRESQUE réussi!
Je suis parvenu à faire ceci: (pour ceux qui voudrait jouer à une version fonctionnelle, prendre celle-ci)
Touches:
-2nde: poser bloc
-mode: effacer tout (et oui pas juste 1 bloc...)
-annuler: quitter
-touches fléchées: déplacer le curseur
Code
EffDessin
AxesNAff
QuadNAff
FonctNAff
0üXmin:94üXmax:0üYmin:62üYmax
Texte(27,30,"MINECRAFT
Pause
Lbl 0
EffDessin
Ligne(1,62,93,62
Ligne(93,62,93,2
Ligne(93,2,1,2
Ligne(1,2,1,62
47üA
32üB
Lbl 1
Pt-Aff(A,B,3
Pt-NAff(A-4,B,3
Pt-NAff(A+4,B,3
Pt-NAff(A,B-4,3
Pt-NAff(A,B+4,3
codeTouch(üK
If K=45:Stop
If K=24 et A>3
A-4üA
If K=26 et A<91
A+4üA
If K=34 et B>4
B-4üB
If K=25 et B<60
B+4üB
If K=21
Then
Ligne(A-2,B-2,A-2,B+2
Ligne(A+2,B-2,A+2,B+2
Ligne(A-2,B-2,A+2,B-2
Ligne(A-2,B+2,A+2,B+2
End
If K=22:Goto 0
Goto 1
Il ne reste plus qu'à le combiner avec le premier tout en trouvant un moyen de ne pas tout effacer à chaque fois qu'on veut changer d'objet. Ici je n'utilise pas de liste et on a tout l'écran pour dessiner. (bon d'accord j'ai fait un truc assez hors sujet avec ce que je voulais faire car on ne pourra pas sauvegarder nos créations sauf en sauvegardant l'image...)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 24 Nov 2012, 17:59
Ou alors il faut faire comme le projet herssahe/minecraft de persalteas quand il a voulu représenter chaque combinaison d'écran par un nombre unique.
C'est lourd à la lecture mais il suffit alors d'une case de matrice par zone.
Le plus dur est de choisir le comprommis entre la taille des zones, la taille globale, et la vitesse de lecture.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 29 Nov 2012, 14:42
Là je suis en train d'essayer d'adapter le Casio-Basic en TI-Basic, déjà, ensuite je vais greffer dessus l'inventaire et le bras avec outil, type "SL", et ensuite je vais voir si on peut pas ajouter d'autres choses.
Je pense probablement que je ferais deux versions, une Basic et une Grammer (pour 83+/84+)