- NivvdiyMembre
- Nombre de messages : 162
Age : 32
Localisation : Dans un cryogenisateur jusqu'en l'an 2999, 11 mois et 31 jours!
Distinction : aucune
Date d'inscription : 29/02/2008
[résolu]Demande un peu speciale
Mer 14 Mai 2008 - 18:10
Bonjour cher scripteur!
Serait il possible, s'il vous plait, de faire un script pour faire un morpion/puissance 4 sur RPG maker VX?
Plus de précision:
- Par appel au script je voudrez que l'on puisse choisir le nombre de joueurs humain, que l'on puisse choisir la difficulté du jeu lorsque l'on joue contre l'ordinateur et que l'on choisisse morpion ou puissance 4;
- Que l'on puisse mettre des images à la place des croix et des rond pour le morpion et à la place des pions coloré pour le puissance 4.
Merci d'avance!
Serait il possible, s'il vous plait, de faire un script pour faire un morpion/puissance 4 sur RPG maker VX?
Plus de précision:
- Par appel au script je voudrez que l'on puisse choisir le nombre de joueurs humain, que l'on puisse choisir la difficulté du jeu lorsque l'on joue contre l'ordinateur et que l'on choisisse morpion ou puissance 4;
- Que l'on puisse mettre des images à la place des croix et des rond pour le morpion et à la place des pions coloré pour le puissance 4.
Merci d'avance!
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 18:22
Pour les scripteur, si cela peut vous aider j'ai un script morpion sous XP.
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 19:42
Mon chère pour être précis
PS : Si vous voulez, j'ai aussi un script XP pour faire une roulette .
- Code:
######################################
# Jeu Tic-tac-toe fait par Shado - 27 Juillet 2006
# Laissez un crédit pour moi si vous l'utilisez. Merci !
# Version : 1.3
######################################
class Tictactoe
@@turn = "x"
@@font_name = "Arial"
@@font_size = 40
def initialize(menu_index = 0)
@menu_index = menu_index
end
######################
def main
@turnWindow = Turn_Window.new(@@turn)
@turnWindow.x = 450
@turnWindow.y = 370
setSquares
setMenu
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@turnWindow.dispose
for x in 0..8
@sqr[x].dispose
end
end
######################
def update
@command_window.update
@turnWindow.update(@@turn)
for x in 0..8
@sqr[x].update
end
if @command_window.active
update_command
return
end
end
######################
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0..8
$game_system.se_play($data_system.decision_se)
doAction(@command_window.index)
when 9
$game_system.se_play($data_system.decision_se)
$scene = Tictactoe.new
when 10
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
return
end
end
######################
def setMenu
s1 = "Haut gauche"
s2 = "Haut milieu"
s3 = "Haut droit"
s4 = "Centre gauche"
s5 = "Centre milieu"
s6 = "Centre droit"
s7 = "Bas left"
s8 = "Bas milieu"
s9 = "Bas droit"
s10 = "Redémarrer"
s11 = "Quitter"
@command_window = Window_Command.new(175, [s1, s2, s3, s4, s5, s6,s7,s8,s9,s10,s11])
@command_window.index = @menu_index
@command_window.x = 440
end
######################
def setSquares
@sqr = []
for x in 0..2
@sqr[x] = Square.new(@@font_name,@@font_size)
@sqr[x].x = (x+1)*100
@sqr[x].y = 50
end
for x in 3..5
@sqr[x] = Square.new(@@font_name,@@font_size)
@sqr[x].x = (x-2)*100
@sqr[x].y = 150
end
for x in 6..8
@sqr[x] = Square.new(@@font_name,@@font_size)
@sqr[x].x = (x-5)*100
@sqr[x].y = 250
end
end
######################
def doAction(squareId)
if (@sqr[squareId].getOwner == "none")
@sqr[squareId].setOwner(@@turn)
verifyScore
else
$game_system.se_play($data_system.buzzer_se)
end
end
######################
def verifyScore
gameIsFinish = false
#check all --
for x in 0..2
if (@sqr[x*3].getOwner == @@turn && @sqr[x*3+1].getOwner == @@turn && @sqr[x*3+2].getOwner == @@turn)
print "Les "+@@turn+" a gagné !"
gameIsFinish = true
end
end
#check all |
for x in 0..2
if (@sqr[x].getOwner == @@turn && @sqr[x+3].getOwner == @@turn && @sqr[x+6].getOwner == @@turn)
print "Les "+@@turn+" a gagné !"
gameIsFinish = true
end
end
#check \
if (@sqr[0].getOwner == @@turn && @sqr[4].getOwner == @@turn && @sqr[8].getOwner == @@turn)
print "Les "+@@turn+" a gagné !"
gameIsFinish = true
end
#check /
if (@sqr[2].getOwner == @@turn && @sqr[4].getOwner == @@turn && @sqr[6].getOwner == @@turn)
print "Les "+@@turn+" a gagné !"
gameIsFinish = true
end
if noMoreSpace && !gameIsFinish
print "Match nul!"
$scene = Scene_Restart.new
end
if gameIsFinish
$scene = Scene_Restart.new
elsif (@@turn == "x")
@@turn = "o"
else @@turn = "x"
end
end
######################
def noMoreSpace
for x in 0..8
if (@sqr[x].getOwner == "none")
return false
end
end
return true
end
######################
end
#----------------------------------------------------------------------
#Squares
#----------------------------------------------------------------------
class Square < Window_Base
def initialize(fontName,fontSize)
@owner = "none"
super(0, 0, 100,100)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = fontName
self.contents.font.size = fontSize
refresh
end
def refresh
self.contents.clear
if (@owner == "x")
self.contents.font.color = text_color(2)
self.contents.draw_text(22, 15, 100, 32, "X")
elsif (@owner == "o")
self.contents.font.color = text_color(1)
self.contents.draw_text(22, 15, 100, 32, "O")
end
end
def update
refresh
end
#############
def setOwner(newOwner)
@owner = newOwner
end
#############
def getOwner
return @owner
end
#############
end
#----------------------------------------------------------------------
#Turn Window
#----------------------------------------------------------------------
class Turn_Window < Window_Base
def initialize(turn)
super(0, 0, 165,60)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Arial"
self.contents.font.size = 30
refresh(turn)
end
def refresh(turn)
self.contents.clear
if (turn == "x")
self.contents.font.color = text_color(2)
self.contents.draw_text(0,0,100,32,"Tour de : X")
elsif
self.contents.font.color = text_color(1)
self.contents.draw_text(0,0,100,32,"Tour de : O")
end
end
def update(turn)
refresh(turn)
end
end
#----------------------------------------------------------------------
#scene restart
#----------------------------------------------------------------------
class Scene_Restart
@@font_name = "Arial"
@@font_size = 40
def initialize(menu_index = 0)
@menu_index = menu_index
end
######################
def main
setMenu
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
end
######################
def update
@command_window.update
if @command_window.active
update_command
return
end
end
######################
def update_command
if Input.trigger?(Input::C)
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Tictactoe.new
when 1
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
return
end
end
######################
def setMenu
s1 = "Redémarrer Tic-tac-toe"
s2 = "Quitter"
@command_window = Window_Command.new(180, [s1, s2])
@command_window.index = @menu_index
@command_window.x = 250
@command_window.y = 200
end
end
PS : Si vous voulez, j'ai aussi un script XP pour faire une roulette .
- NivvdiyMembre
- Nombre de messages : 162
Age : 32
Localisation : Dans un cryogenisateur jusqu'en l'an 2999, 11 mois et 31 jours!
Distinction : aucune
Date d'inscription : 29/02/2008
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 20:48
Merci d'essayer de le faire! En plus j'arrête pas les demande en ce moment cela doit être un peu penible au bout d'un moment!
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 20:55
et voila le script optimisé pour rmvx... par contre c'est a deux joueurs!
- Spoiler:
- Code:
#####################################
# Jeu Tic-tac-toe fait par Shado - 27 Juillet 2006
# Laissez un crédit pour moi si vous l'utilisez. Merci !
# Version : 1.3
######################################
class Tictactoe
@@turn = "x"
@@font_name = "Arial"
@@font_size = 40
def initialize(menu_index = 0)
@menu_index = menu_index
end
######################
def main
@turnWindow = Turn_Window.new(@@turn)
@turnWindow.x = 544 - @turnWindow.width
@turnWindow.y = 416 - @turnWindow.height
setSquares
setMenu
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@turnWindow.dispose
for x in 0..8
@sqr[x].dispose
end
end
######################
def update
@command_window.update
@turnWindow.update(@@turn)
for x in 0..8
@sqr[x].update
end
if @command_window.active
update_command
return
end
end
######################
def update_command
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0..8
Sound.play_decision
doAction(@command_window.index)
when 9
Sound.play_decision
$scene = Tictactoe.new
when 10
Sound.play_cancel
$scene = Scene_Map.new
end
return
end
end
######################
def setMenu
s1 = "Haut gauche"
s2 = "Haut milieu"
s3 = "Haut droit"
s4 = "Centre gauche"
s5 = "Centre milieu"
s6 = "Centre droit"
s7 = "Bas gauche"
s8 = "Bas milieu"
s9 = "Bas droit"
s10 = "Redémarrer"
s11 = "Quitter"
@command_window = Window_Command.new(175, [s1, s2, s3, s4, s5, s6,s7,s8,s9,s10,s11])
@command_window.index = @menu_index
@command_window.x = 544 - @command_window.width
end
######################
def setSquares
@sqr = []
for x in 0..2
@sqr[x] = Square.new(@@font_name,@@font_size)
@sqr[x].x = (x+1)*100 -40
@sqr[x].y = 50
end
for x in 3..5
@sqr[x] = Square.new(@@font_name,@@font_size)
@sqr[x].x = (x-2)*100 -40
@sqr[x].y = 150
end
for x in 6..8
@sqr[x] = Square.new(@@font_name,@@font_size)
@sqr[x].x = (x-5)*100 -40
@sqr[x].y = 250
end
end
######################
def doAction(squareId)
if (@sqr[squareId].getOwner == "none")
@sqr[squareId].setOwner(@@turn)
verifyScore
else
Sound.play_buzzer
end
end
######################
def verifyScore
gameIsFinish = false
#check all --
for x in 0..2
if (@sqr[x*3].getOwner == @@turn && @sqr[x*3+1].getOwner == @@turn && @sqr[x*3+2].getOwner == @@turn)
print "Les "+@@turn+" ont gagné !"
gameIsFinish = true
end
end
#check all |
for x in 0..2
if (@sqr[x].getOwner == @@turn && @sqr[x+3].getOwner == @@turn && @sqr[x+6].getOwner == @@turn)
print "Les "+@@turn+" ont gagné !"
gameIsFinish = true
end
end
#check \
if (@sqr[0].getOwner == @@turn && @sqr[4].getOwner == @@turn && @sqr[8].getOwner == @@turn)
print "Les "+@@turn+" ont gagné !"
gameIsFinish = true
end
#check /
if (@sqr[2].getOwner == @@turn && @sqr[4].getOwner == @@turn && @sqr[6].getOwner == @@turn)
print "Les "+@@turn+" ont gagné !"
gameIsFinish = true
end
if noMoreSpace && !gameIsFinish
print "Match nul!"
$scene = Scene_Restart.new
end
if gameIsFinish
$scene = Scene_Restart.new
elsif (@@turn == "x")
@@turn = "o"
else @@turn = "x"
end
end
######################
def noMoreSpace
for x in 0..8
if (@sqr[x].getOwner == "none")
return false
end
end
return true
end
######################
end
#----------------------------------------------------------------------
#Squares
#----------------------------------------------------------------------
class Square < Window_Base
def initialize(fontName,fontSize)
@owner = "none"
super(0, 0, 100,100)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = fontName
self.contents.font.size = fontSize
refresh
end
def refresh
self.contents.clear
if (@owner == "x")
self.contents.font.color = text_color(2)
self.contents.draw_text(22, 15, 100, 32, "X")
elsif (@owner == "o")
self.contents.font.color = text_color(1)
self.contents.draw_text(22, 15, 100, 32, "O")
end
end
def update
refresh
end
#############
def setOwner(newOwner)
@owner = newOwner
end
#############
def getOwner
return @owner
end
#############
end
#----------------------------------------------------------------------
#Turn Window
#----------------------------------------------------------------------
class Turn_Window < Window_Base
def initialize(turn)
super(0, 0, 175,60)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Arial"
self.contents.font.size = 30
refresh(turn)
end
def refresh(turn)
self.contents.clear
if (turn == "x")
self.contents.font.color = text_color(2)
self.contents.draw_text(0,0,100,32,"Tour de : X")
elsif
self.contents.font.color = text_color(1)
self.contents.draw_text(0,0,100,32,"Tour de : O")
end
end
def update(turn)
refresh(turn)
end
end
#----------------------------------------------------------------------
#scene restart
#----------------------------------------------------------------------
class Scene_Restart
@@font_name = "Arial"
@@font_size = 40
def initialize(menu_index = 0)
@menu_index = menu_index
end
######################
def main
setMenu
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
end
######################
def update
@command_window.update
if @command_window.active
update_command
return
end
end
######################
def update_command
if Input.trigger?(Input::C)
case @command_window.index
when 0
Sound.play_decision
$scene = Tictactoe.new
when 1
Sound.play_cancel
$scene = Scene_Map.new
end
return
end
end
######################
def setMenu
s1 = "Redémarrer Tic-tac-toe"
s2 = "Quitter"
@command_window = Window_Command.new(180, [s1, s2])
@command_window.index = @menu_index
@command_window.x = 250
@command_window.y = 200
end
end
- AzakiModérateur
- Nombre de messages : 1742
Age : 31
Localisation : Dans ton cul(stom), t'as vu, tarba? é_è
Distinction : Commentateur sportif
Indépendantiste Breton
Chevalier de lumière
Membre du Haruhi fan-club
Membre du Tsukasa Nishino fan-club.
[Chou n°3]
Mist'
Fils caché de Francis L'Alan
[Coco' ]
Chevalier Noir
Ex-Empereur d'Erem Vehyx (ou pas!! x) )
Date d'inscription : 14/05/2008
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 21:50
Vous allez peut-être trouver cette question bête, mais... ça vous prend du temps pour faire ce genre de programme?
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 21:58
question pas si bete que ca...
franchement, ca depend, le plus long est de trouver l'algorithme, c'est a dire, la facon dont on va proceder dans le programme...
ensuite, c'est toujours a peu pres pareil: meme syntaxe...
un script comme ceci, si je l'avais entirerement codé, j'en aurai eu pour une petite heure...(et je ne l'aurais pas fait du tout de la meme facon)
franchement, ca depend, le plus long est de trouver l'algorithme, c'est a dire, la facon dont on va proceder dans le programme...
ensuite, c'est toujours a peu pres pareil: meme syntaxe...
un script comme ceci, si je l'avais entirerement codé, j'en aurai eu pour une petite heure...(et je ne l'aurais pas fait du tout de la meme facon)
- AzakiModérateur
- Nombre de messages : 1742
Age : 31
Localisation : Dans ton cul(stom), t'as vu, tarba? é_è
Distinction : Commentateur sportif
Indépendantiste Breton
Chevalier de lumière
Membre du Haruhi fan-club
Membre du Tsukasa Nishino fan-club.
[Chou n°3]
Mist'
Fils caché de Francis L'Alan
[Coco' ]
Chevalier Noir
Ex-Empereur d'Erem Vehyx (ou pas!! x) )
Date d'inscription : 14/05/2008
Re: [résolu]Demande un peu speciale
Mer 14 Mai 2008 - 22:00
C'est normal que tu ne fasses pas de la meme façon, parce que chaque programmeur a sa façon de "ranger" ou "placer" les choses^^
- NivvdiyMembre
- Nombre de messages : 162
Age : 32
Localisation : Dans un cryogenisateur jusqu'en l'an 2999, 11 mois et 31 jours!
Distinction : aucune
Date d'inscription : 29/02/2008
Re: [résolu]Demande un peu speciale
Jeu 15 Mai 2008 - 10:36
Merci beaucoup Berka! Je le testerais ce soir quand je serait chez moi! C'est toujours toi qui me fait les scripts alors pour toi dans mes crédits tu va prendre beaucoup de place vu que tu as déjà fait 3 ou plus de script pour moi!
Aussi petite question voudrait tu avoir la démo de mon projet en avant première?
Edit: Le script marche à la perfection merci Berka!
Aussi petite question voudrait tu avoir la démo de mon projet en avant première?
Edit: Le script marche à la perfection merci Berka!
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|