Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

440 connectés actuellement

29432721 visiteurs
depuis l'ouverture

7097 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

New RPG Maker

ConsoleFun

Guelnika & E-magination

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RPG MAKER XP] Mah-jong

Aller à la page 1 2

Reprise du message précédent:

xvw - posté le 28/07/2017 à 12:12:59 (733 messages postés) -

❤ 0

yo

Le code est donné plus haut est un peu triste :'(
if x == true, ça ne sert à rien, pareil pour if x == false. On préfèrera
if x et unless x (ou if !x).

Pour générer la grille de tuile initiale, on peut simplement faire :

Portion de code : Tout sélectionner

1
2
3
4
5
  def tuiles
    base = (1..8).to_a
    rest = (9..42).to_a
    (base + (rest.map { |x| [x] * 4 })).flatten
  end



https://xvw.lol


Suite du sujet:

Mister Ocelot - posté le 28/07/2017 à 13:49:43 (136 messages postés)

❤ 0

Doit arrêter de glander. Glande au lieu d'arrêter

xvw Merci pour l'info !:sourire2

Projet en cours, veuillez patientez 525 mois avant maturation. Taper Echap pour quitter


kabu - posté le 29/07/2017 à 17:08:12 (57 messages postés)

❤ 0

Je propose ceci:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
class Test
  def initialize
    @background = Sprite.new
    @background.bitmap = RPG::Cache.picture("background")
    @sel = 4
    @capital_tuile =    [1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11,
11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 
16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21,
21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26,
27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 
32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 
37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 
42, 42, 42, 42]
      @main_des_joueurs = [[],[],[],[]]
      @tuile_ids = [@main_des_joueurs[0], @main_des_joueurs[1], @main_des_joueurs[2], 
      @main_des_joueurs[3], @main_des_joueurs[4], @main_des_joueurs[5], @main_des_joueurs[6],
      @main_des_joueurs[7], @main_des_joueurs[8], @main_des_joueurs[9], @main_des_joueurs[10],
      @main_des_joueurs[11], @main_des_joueurs[12], @main_des_joueurs[13]]
      @tuiles = Array.new(@tuile_ids.size) do |index|
       sprite = Sprite.new
       sprite.bitmap = RPG::Cache.picture("#{index + 1}")
       sprite.x = 20 * index
     end
  end
  
  def main
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
  end
   
  def update
    if Input.trigger?(Input::LEFT)
      @sel += 1
      @sel = 0 if @sel >= 16
    elsif Input.trigger?(Input::RIGHT)
      @sel -= 1
      @sel = 15 if @sel < 0
    end
  end
#Pioche de chaque joueurs  
 def pioche
  for joueur in 0...3
   for i in 0...13
    @tuile = rand(41) + 1
    while @capital_tuile.any? {|obj| obj == @tuile} == false do
        @tuile = rand(41) + 1
    end
    if @tuile < 9 == true && @main_des_joueurs[joueur].any? {|obj| obj == @tuile} == false
      @capital_tuile.delete(@tuile)
      @main_des_joueurs[joueur].push(@tuile)
    elsif @tuile > 8 == true
      @capital_tuile.delete_at(@capital_tuile.index(@tuile))
      @main_des_joueurs[joueur].push(@tuile)
    end
   end
  end
 end
  
end  
$scene = Test.new
$scene.pioche


Mais le souci c'est que maintenant les tuiles piocher ne sont pas aléatoires et je sais pas comment mieux optimiser ma variables @tuile_ids.


kabu - posté le 25/08/2017 à 13:22:57 (57 messages postés)

❤ 0

Salut, sa fait un moment depuis^^. Je suis enfin parvenue à afficher plusieurs tuiles rapidement, mais la j'ai encore un souci, en faite quand je veut supprimer une tuile de ma main sa ne le fait pas (du moin graphiquement). Voci le monstre:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
class Test
  def initialize
    @capital_tuile = [1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11,
11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 
16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21,
21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26,
27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 
32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 
37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 
42, 42, 42, 42]
    @main_des_joueurs = [[],[],[],[]]
    @background = Sprite.new
    @background.bitmap = RPG::Cache.picture("background")
    @sel = 4
    @points = 0
    @fleurs_rejeté = []
    
    for joueur in 0...3
     for i in 0...13
      @tuile = rand(41) + 1
      while @capital_tuile.any? {|obj| obj == @tuile} == false do
          @tuile = rand(41) + 1
      end
      if @tuile < 9 == true && @main_des_joueurs[joueur].any? {|obj| obj == @tuile} == false
        @capital_tuile.delete(@tuile)
        @main_des_joueurs[joueur].push(@tuile)
      elsif @tuile > 8 == true
        @capital_tuile.delete_at(@capital_tuile.index(@tuile))
        @main_des_joueurs[joueur].push(@tuile)
      end
     end
   end
   
   @joueur1 =  @main_des_joueurs[0].sort
   @tuiles = Array.new(@joueur1.size) do |index|
       sprite = Sprite.new
       sprite.bitmap = RPG::Cache.picture(@joueur1[index].to_s)
       sprite.x = 20 * index
       sprite.y = 400
   end
  end
  
  def main
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      fleur
      if $scene != self
        break
      end
    end
  end    
  
  def update
    if Input.trigger?(Input::LEFT)
      @sel += 1
      @sel = 0 if @sel >= @main_des_joueurs[0].size
    elsif Input.trigger?(Input::RIGHT)
      @sel -= 1
      @sel = @main_des_joueurs[0].size - 1 if @sel < 0
    end
  end
  
  def fleur
    9.times do |i|
      if @joueur1.member?(i)
        @points += 1
        @fleurs_rejeté << i
        @joueur1.delete(i)
        p "vous avez le : " + i.to_s + " et " + @points.to_s + " points"
        p "fleurs rejeté: " +  @fleurs_rejeté.join("-").to_s
      end
    end
  end
  
end    


C'est dans la fonction "fleur" que sa fonctionne pas. Merci de votre aide.

Aller à la page 1 2

Index du forum > Entraide > [RPG MAKER XP] Mah-jong

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers