Page 1 sur 2

[Jeu] Dux !

Publié : ven. 07/oct./2011 16:34
par djes
Pour remonter un peu le moral des troupes, je mets en partage l'un des minigames de Purebreaker 3... Dux ! Ce n'est pas un chef d'oeuvre, juste un hommage à un autre jeu (celui qui trouve lequel aura toute ma considération!!!).

Il s'agit de flinguer les canards, et seulement les canards ! Au départ on a 10 points, et il faut arriver à 50, sans descendre en dessous de 0.

Voici le lien pour le zip : http://djes.free.fr/purebasic/minigames/ ou là : https://docs.google.com/open?id=0B5nDvK ... FlYWI3NmU5

Le source (je sais, c'est moche!). Le PBI est dans le zip ;)

Code : Tout sélectionner

;****************************************************************************************************** 
;* 
;* PUREBR3AKER (c)BGAMES 2005
;* Lead coder : djes@free.fr
;* Dux Minigame
;* 
;* http://www.shootingcrew.com/
;* http://djes.free.fr
;* 
;****************************************************************************************************** 

#CREATEPACKS = #False

XIncludeFile "packlib_release.pbi"

;****************************************************************************************************** 
;- *** CONSTANTS *** 
;****************************************************************************************************** 

;- Sprites
Enumeration #PB_Compiler_EnumerationValue Step 1
  #DUCK_GUN
  #DUCK_AMMO
  #DUCK_DUCK0
  #DUCK_DUCK1
  #DUCK_DUCK2
  #DUCK_CADDIE
  #DUCK_ESCARGOT
  #DUCK_POULE
  #DUCK_VEAU
  #DUCK_DUCK0F
  #DUCK_DUCK1F
  #DUCK_DUCK2F
  #DUCK_CADDIEF
  #DUCK_ESCARGOTF
  #DUCK_POULEF
  #DUCK_VEAUF
EndEnumeration

;- Sprites Fonts
Enumeration #PB_Compiler_EnumerationValue Step 256
  #SILVERFONT
EndEnumeration

;- Sounds
Enumeration 
  #M2EXPLOSION
  #EXTRALIFE
  #NEXTLEVELSND
  #CREDITS
  #CLOCK
  #TOC
EndEnumeration

;****************************************************************************************************** 
;- *** STRUCTURES *** 
;****************************************************************************************************** 

Structure Duck
  x.f
  y.l
  XSpeed.f
  SpriteNb.l
EndStructure

Structure DuckAmmo
  x.l
  y.l
EndStructure

Structure Anim
  X.f
  XSpeed.f
  Y.f
  YSpeed.f
  Zoom.f
  ZoomSpeed.f
  CurrentSpriteNb.f
  AnimSpeed.f
  FirstSprite.l
  LastSprite.l
  CurrentFade.f
  FadeSpeed.f
  CurrentTime.l
  Duration.l	;in frames
  PauseIn.l		;before Anim start
  PauseOut.l	;after Anim
EndStructure

;****************************************************************************************************** 
;- *** GLOBALS *** 
;****************************************************************************************************** 

Global Dim SilverFont.l(255)
Global NewList Anims.Anim()

Global ScreenWidth = 1024
Global ScreenHeight = 768
Global ScreenDepth = 32
Global RefreshRate = 60
Global IngameMusic = #True
Global InGameSound = #True

;****************************************************************************************************** 
;- *** PROCEDURES *** 
;****************************************************************************************************** 

Procedure.i RealRound(nb.f)
  !cvtss2si eax, [p.v_nb]
  ProcedureReturn
EndProcedure

;****************************************************************************************************** 
Procedure LoadMidi(Nb, file.s)
  i = mciSendString_("open " + file.s + " type sequencer alias mid" + Str(Nb), 0, 0, 0)
  ProcedureReturn i
EndProcedure
Procedure PlayMidi(Nb)
  i = mciSendString_("play mid" + Str(Nb), 0, 0, 0)
  ProcedureReturn i
EndProcedure
Procedure StopMidi(Nb)
  i = mciSendString_("stop mid" + Str(Nb), 0, 0, 0)
  ProcedureReturn i
EndProcedure
Procedure FreeMidi(Nb)
  i = mciSendString_("close mid" + Str(Nb), 0, 0, 0)
  ProcedureReturn i
EndProcedure
Procedure SetMidivolume(Nb, volume)
  i = mciSendString_("set volume" + Str(Nb) + " volume " + Str(volume), 0, 0, 0)
  ProcedureReturn i
EndProcedure

;****************************************************************************************************** 
; Draw an Animated screen centered Text
Procedure CenteredText(Text.s, PauseIn.l)
  
  xs = 0 + ScreenWidth / 2 - ((Len(Text) - 1) * 40) / 2
  ys = 0 + ScreenHeight / 2 - 19
  
  For u = 1 To Len(Text)
    
    AddElement(Anims())
    Anims()\x = xs
    Anims()\XSpeed = 0
    Anims()\y = ys
    Anims()\YSpeed = 2
    Anims()\CurrentSpriteNb = #SILVERFONT + Asc(Mid(Text, u, 1))
    Anims()\AnimSpeed = 0
    Anims()\CurrentTime = - PauseIn
    Anims()\Duration = 85 ;(255 / 3)
    Anims()\CurrentFade = 255
    Anims()\FadeSpeed = - 3
    Anims()\PauseIn = 1.5 * RefreshRate
    Anims()\PauseOut = 0
    Anims()\Zoom = 1
    Anims()\ZoomSpeed = 0
    
    AddElement(Anims())
    Anims()\x = xs
    Anims()\XSpeed = 0
    Anims()\y = ys
    Anims()\YSpeed = - 2
    Anims()\CurrentSpriteNb = #SILVERFONT + Asc(Mid(Text, u, 1))
    Anims()\AnimSpeed = 0
    Anims()\CurrentTime = - PauseIn
    Anims()\Duration = 85 ;(255 / 3)
    Anims()\CurrentFade = 255
    Anims()\FadeSpeed = - 3
    Anims()\PauseIn = 1.5 * RefreshRate
    Anims()\PauseOut = 0
    Anims()\Zoom = 1
    Anims()\ZoomSpeed = 0
    xs + 40
    
  Next u
  
EndProcedure

Procedure TextXY(Text.s, x.l, y.l)
  
  For u = 1 To Len(Text)
    s.l = #SILVERFONT + Asc(Mid(Text, u, 1))
    ZoomSprite3D(s, 64, 64)
    RotateSprite3D(s, 0, 0)
    DisplaySprite3D(s, x, y)
    x + 32
  Next u
  
EndProcedure

;****************************************************************************************************** 
;play specified sound specifying parameters
Procedure MyPlaySound(sound.l, pan.l = - 1, volume.l = - 1, frequency.l = - 1)
  If InGameSound
    If pan<> - 1
      SoundPan(sound, pan)
    EndIf
    If volume<> - 1
      SoundVolume(sound, volume)
    EndIf
    If frequency<> - 1
      SoundFrequency(sound, frequency)
    EndIf
    PlaySound(sound, #PB_Sound_MultiChannel)
  EndIf
EndProcedure

;****************************************************************************************************** 

Procedure GameLoading()
  
  PackName.s = "packs/Ducks.pak"
  PackCounter = 0
  
  Media$ = ""
  ; Media$ = ""
  PackLoadSprite3D(#DUCK_GUN, Media$ + "gfx/canon.png")
  PackLoadSprite3D(#DUCK_AMMO, Media$ + "gfx/balle.png")
  PackLoadSprite3D(#DUCK_DUCK0, Media$ + "gfx/canard0.png")
  PackLoadSprite3D(#DUCK_DUCK1, Media$ + "gfx/canard1.png")
  PackLoadSprite3D(#DUCK_DUCK2, Media$ + "gfx/canard2.png")
  PackLoadSprite3D(#DUCK_CADDIE, Media$ + "gfx/caddie.png")
  PackLoadSprite3D(#DUCK_ESCARGOT, Media$ + "gfx/escargot.png")
  PackLoadSprite3D(#DUCK_POULE, Media$ + "gfx/poule.png")
  PackLoadSprite3D(#DUCK_VEAU, Media$ + "gfx/veau.png")
  PackLoadSprite3D(#DUCK_DUCK0F, Media$ + "gfx/canard0_f.png")
  PackLoadSprite3D(#DUCK_DUCK1F, Media$ + "gfx/canard1_f.png")
  PackLoadSprite3D(#DUCK_DUCK2F, Media$ + "gfx/canard2_f.png")
  PackLoadSprite3D(#DUCK_CADDIEF, Media$ + "gfx/caddie_f.png")
  PackLoadSprite3D(#DUCK_ESCARGOTF, Media$ + "gfx/escargot_f.png")
  PackLoadSprite3D(#DUCK_POULEF, Media$ + "gfx/poule_f.png")
  PackLoadSprite3D(#DUCK_VEAUF, Media$ + "gfx/veau_f.png")
  
  n.l = 1
  For u = Asc("A") To Asc("Z")
    SilverFont(u) = n
    n + 1
  Next u
  SilverFont(Asc("!")) = n : n + 1
  SilverFont(Asc("'")) = n : n + 1
  SilverFont(Asc("(")) = n : n + 1
  SilverFont(Asc(")")) = n : n + 1
  SilverFont(Asc(" - ")) = n : n + 1
  SilverFont(Asc(".")) = n : n + 1
  SilverFont(Asc("?")) = n : n + 1
  SilverFont(Asc(":")) = n : n + 1
  SilverFont(Asc("0")) = n : n + 1
  SilverFont(Asc("1")) = n : n + 1
  SilverFont(Asc("2")) = n : n + 1
  SilverFont(Asc("3")) = n : n + 1
  SilverFont(Asc("4")) = n : n + 1
  SilverFont(Asc("5")) = n : n + 1
  SilverFont(Asc("6")) = n : n + 1
  SilverFont(Asc("7")) = n : n + 1
  SilverFont(Asc("8")) = n : n + 1
  SilverFont(Asc("9")) = n : n + 1
  SilverFont(Asc(", ")) = n : n + 1
  SilverFont(Asc(" ")) = n : n + 1
  
  For u = 0 To 255
    If SilverFont(u)<>0
      PackLoadSprite3D(#SILVERFONT + u, "gfx/fonts/silver/silver-" + StrU(SilverFont(u), #PB_Byte) + ".png")
    EndIf
  Next u
  
  ClosePack()
  
  PackName = "packs/sounds.pak"
  PackCounter = 0 
  
  PackLoadSound(#M2EXPLOSION, "sfx/m2fire.wav")
  PackLoadSound(#EXTRALIFE, "sfx/HAPPYBEL.WAV")
  PackLoadSound(#NEXTLEVELSND, "sfx/SOUND827.WAV")
  PackLoadSound(#CLOCK, "sfx/inter.WAV")
  PackLoadSound(#TOC, "sfx/bounce1.wav")
  ClosePack()
  
EndProcedure

;****************************************************************************************************** 

Procedure FullScreenCheck()
  If IngameMusic
    StopMidi(1) 
  EndIf
  
  ReleaseMouse(1)
  CloseScreen()
  
  OpenWindow(0, 0, 0, 256, 256, "Dux", #PB_Window_Minimize)
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_ActivateWindow
  
  CloseWindow(0)
  OpenScreen(ScreenWidth, ScreenHeight, ScreenDepth, "Ducks")
  ReleaseMouse(0)
  
  GameLoading()
  
  If IngameMusic
    playMidi(1) 
  EndIf
EndProcedure

;****************************************************************************************************** 
;- INIT
;****************************************************************************************************** 

  UsePNGImageDecoder()
  UseTIFFImageDecoder()
  UseJPEGImageDecoder()
  UseOGGSoundDecoder()
  
  If (InitSprite() And InitSprite3D() And InitKeyboard() And InitMouse() And InitSound()) = #False
    End
  EndIf
  
  ScreenWidth = 1024
  ScreenHeight = 768
  ScreenDepth = 32
  RefreshRate = 60
  IngameMusic = #True
  Quit = #False
  
  OpenScreen(ScreenWidth, ScreenHeight, ScreenDepth, "Dux", #PB_Screen_WaitSynchronization, RefreshRate)
  
  Sprite3DQuality(1)

;****************************************************************************************************** 
;- *** MAIN *** 
;****************************************************************************************************** 

START_DUX:

  Global NewList Ducks.Duck()
  Global NewList DucksAmmos.DuckAmmo()
  Global DuckScore = 10
  SpeedUp.f = 0
  
  GameLoading()
  
  If IngameMusic
    LoadMidi(1, "sfx\ballgame.mid")
    SetMidivolume(1, 150)
    PlayMidi(1) ; le joue
  EndIf
  
  ClearList(Anims())
  
  CenteredText("DUX !", 2 * RefreshRate)
  
  DuckWin = #False
  
  Repeat	
    
    If Not IsScreenActive()
      FullScreenCheck()   
    Else
      Gosub INPUTS    
      Gosub DUX_LOGIC
    EndIf
    
    Gosub DRAWING
    
    FlipBuffers() ;vbl synchro ON : better
    FrameCounter + 1
    
  Until Quit = #True Or ((DuckScore >= 50 Or DuckScore <= 0) And ListSize(Anims()) = 0)  
    
  If IngameMusic
    StopMidi(1)
    FreeMidi(1)
  EndIf
  
  ClearList(Anims())

End

;****************************************************************************************************** 
;- *** SUBROUTINES *** 
;****************************************************************************************************** 

;-DRAWING
DRAWING:

  ClearScreen($550000)
  StartDrawing(ScreenOutput())
  For u = 0 To 512 Step 32
    LineXY(u,  64, 1023 - u,  64, (Int(150.1 + u/10 * Sin( FrameCounter / 20 )) & $FF ) *   $100 )
    LineXY(u, 160, 1023 - u, 160, (Int(150.1 + u/10 * Sin( FrameCounter / 25 )) & $FF ) * $10000 )
    LineXY(u, 256, 1023 - u, 256, (Int(150.1 + u/10 * Sin( FrameCounter / 15 )) & $FF ))  
  Next u
  StopDrawing()
  
  If Start3D()
    
    Gosub ANIMATIONS_DISPLAY
    
    ForEach Ducks()
      RotateSprite3D(Ducks()\SpriteNb, 10 * Sin(Ducks()\x / 8), 0)
      DisplaySprite3D(Ducks()\SpriteNb, Ducks()\x - SpriteWidth(#DUCK_DUCK0) / 2, Ducks()\y - SpriteHeight(#DUCK_DUCK0) / 2)
    Next
    Sprite3DQuality(0)
    ForEach DucksAmmos()
      DisplaySprite3D(#DUCK_AMMO, DucksAmmos()\x - SpriteWidth(#DUCK_AMMO) / 2, DucksAmmos()\y - SpriteHeight(#DUCK_AMMO) / 2)
    Next
    DisplaySprite3D(#DUCK_GUN, XMouse - SpriteWidth(#DUCK_GUN) / 2, YMouse)
    Sprite3DQuality(1)
    
    If DuckScore >= 0
      TextXY(Str(DuckScore), 900 - Len(Str(DuckScore)) * 32 / 2, 768 - 100)
    EndIf
    
    Stop3D()
    
  EndIf

Return

;****************************************************************************************************** 
;-DUX LOGIC
DUX_LOGIC:

  ForEach Ducks()
    Select Ducks()\y
      Case 32
        Ducks()\x = Ducks()\x + Ducks()\XSpeed + SpeedUp
        If Ducks()\x >= ScreenWidth + SpriteWidth(#DUCK_DUCK0) / 2
          Ducks()\y = 128
          Ducks()\XSpeed + 1
          If Ducks()\SpriteNb = #DUCK_DUCK0F
            Ducks()\SpriteNb = #DUCK_DUCK1
          Else
            Ducks()\SpriteNb - 7	;flip vertically
          EndIf
        EndIf
      Case 128
        Ducks()\x = Ducks()\x - Ducks()\XSpeed - SpeedUp
        If Ducks()\x <= - SpriteWidth(Ducks()\SpriteNb) / 2
          Ducks()\y = 224
          Ducks()\XSpeed + 1
          If Ducks()\SpriteNb = #DUCK_DUCK1
            Ducks()\SpriteNb = #DUCK_DUCK2F
          Else
            Ducks()\SpriteNb + 7	;flip vertically
          EndIf
        EndIf
      Case 224
        Ducks()\x = Ducks()\x + Ducks()\XSpeed + SpeedUp
        If Ducks()\x >= ScreenWidth + SpriteWidth(#DUCK_DUCK0) / 2
          If Ducks()\SpriteNb = #DUCK_DUCK2F
            If DuckScore > 0
              DuckScore - 3
              MyPlaySound(#CLOCK, - 1, - 1, 500 )
              If DuckScore <= 0
                CenteredText("GAME OVER !", 2 * RefreshRate)
                ClearList(DucksAmmos())
              EndIf
              
              ;Beep_(500, 1)
            EndIf  
          EndIf  
          DeleteElement(Ducks(), 1)
        EndIf
    EndSelect
  Next
  
  ;new Duck
  If FrameCounter%RefreshRate = 0
    AddElement(Ducks())
    Ducks()\x = - SpriteWidth(#DUCK_DUCK0F)
    Ducks()\y = 32
    Ducks()\XSpeed = 1
    If Random(10)<5
      Ducks()\SpriteNb = #DUCK_DUCK0F
    Else
      Ducks()\SpriteNb = #DUCK_CADDIEF + Random(3)
    EndIf
  EndIf
  
  ;every 30 secs, SpeedUp
  If FrameCounter%(RefreshRate * 30) = 0
    SpeedUp + 0.1
  EndIf
  
  If DuckScore > 0 And DuckScore < 50
    ;draw ammos, and compute collisions
    ForEach DucksAmmos()
      DucksAmmos()\y - 10
      If DucksAmmos()\y <= - 10
        DeleteElement(DucksAmmos())
      Else
        ForEach Ducks()
          If DucksAmmos()\x >= Ducks()\x - 16 And 	DucksAmmos()\x <= Ducks()\x + 16 And DucksAmmos()\y >= Ducks()\y - 16 And DucksAmmos()\y <= Ducks()\y + 16
            Select Ducks()\SpriteNb
              Case #DUCK_DUCK0, #DUCK_DUCK0F
                DuckScore + 1
                ;Beep_(5000, 10)
                MyPlaySound(#TOC, - 1, - 1, 5000 )
              Case #DUCK_DUCK1, #DUCK_DUCK1F
                DuckScore + 2
                ;Beep_(5000, 10)
                MyPlaySound(#TOC, - 1, - 1, 5000 )
              Case #DUCK_DUCK2, #DUCK_DUCK2F
                DuckScore + 3
                ;Beep_(5000, 10)
                MyPlaySound(#TOC, - 1, - 1, 5000 )
              Case #DUCK_CADDIE, #DUCK_CADDIEF
                DuckScore - 4
                ;Beep_(50, 30)
                MyPlaySound(#TOC, - 1, - 1, 50 )
              Case #DUCK_POULE, #DUCK_POULEF
                DuckScore - 2
                ;Beep_(60, 30)
                MyPlaySound(#TOC, - 1, - 1, 60 )
              Case #DUCK_VEAU, #DUCK_VEAUF
                DuckScore - 3
                ;Beep_(80, 30)
                MyPlaySound(#TOC, - 1, - 1, 80 )
              Case #DUCK_ESCARGOT, #DUCK_ESCARGOTF
                DuckScore - 1
                ;Beep_(100, 30)
                MyPlaySound(#TOC, - 1, - 1, 100 )
            EndSelect					
            DeleteElement(Ducks(), 1)
            DeleteElement(DucksAmmos(), 1)
            Break 2
          EndIf
        Next
      EndIf
    Next
    
    If DuckScore <= 0
      CenteredText("GAME OVER !", 2 * RefreshRate)
      ClearList(DucksAmmos())
    EndIf
   
    If DuckScore >= 50
      MyPlaySound(#EXTRALIFE, 0, 100, 20000)
      CenteredText("WELL DONE !", 2 * RefreshRate)
    EndIf
    
  EndIf

Return

;****************************************************************************************************** 
;-INPUTS

INPUTS:

  ExamineKeyboard()
  ExamineMouse()
  
  If JoystickSwitch
    joyGetPosEx_(#JOYSTICKID1, joyInfoEx.JOYINFOEX)
  EndIf
  
  If KeyboardReleased(#PB_Key_J)
    JoystickSwitch = ~JoystickSwitch
  EndIf
  
  If KeyboardReleased(#PB_Key_Escape)
    Quit = #True
  EndIf
  
  If KeyboardReleased(#PB_Key_S)
    u = GrabSprite(#PB_Any, 0, 0, 1024, 768)
    SaveSprite(u, "c:\screenshot.bmp")
  EndIf
  
  ;gun, and fire
  If KeyboardPushed(#PB_Key_Left) 
    KeyXSpeed - 1
  ElseIf KeyboardPushed(#PB_Key_Right) 
    KeyXSpeed + 1
  Else
    KeyXSpeed / 2
  EndIf
  
  ;Joystick or mouse control
  If JoystickSwitch
    If JoyXamp<>0
      u = RealRound((joyInfoEx\dwXpos - (JoyXamp / 2)) / 2048) ;this little operation to optimise precision
      XMouse + ((u * 2048) * 64) / JoyXamp
    EndIf
  Else
    XMouse = XMouse + MouseDeltaX() + KeyXSpeed
    ;XMouse.l = MouseX()
  EndIf
  
  If XMouse<0 : XMouse = 0 : EndIf
  If XMouse>1023 : XMouse = 1023 : EndIf 
  
  YMouse = 768 - SpriteHeight(#DUCK_GUN)
  
  If mb = #True And (MouseButton(1) = 0 Or ((joyInfoEx\dwButtons&1 = 0) And JoystickSwitch))
    ;évite la répétition
    mb = #False
  EndIf
  
  If DuckFireDelay>0
    DuckFireDelay - 1
  EndIf
  
  If (MouseButton(1) Or KeyboardPushed(#PB_Key_Return) Or ((joyInfoEx\dwButtons&1) And JoystickSwitch)) And mb = #False And DuckFireDelay = 0 And DuckScore > 0
    AddElement(DucksAmmos())
    MyPlaySound(#M2EXPLOSION)
    ;Beep_(1000, 2)
    DucksAmmos()\x = XMouse
    DucksAmmos()\y = YMouse + 10
    mb = #True
    DuckFireDelay = RefreshRate / 8
  EndIf

Return

;****************************************************************************************************** 
;- ANIMATIONS_DISPLAY
; Multi purposes (why not for explosions? maybe later ;)

ANIMATIONS_DISPLAY:

  Sprite3DQuality(1)
  
  With Anims()
    ; If FirstElement(Anims())<>0
    ; ResetList(Anims())
    ForEach Anims()
      If \CurrentTime<\Duration
        
        ;hint to start displaying after a while : make CurrentTime negative
        If \CurrentTime<0
          
          \CurrentTime + 1
          
        Else
          
          u = \CurrentSpriteNb
          sw.f = \Zoom * SpriteWidth(u)
          sh.f = \Zoom * SpriteHeight(u)
          ZoomSprite3D(u, sw, sh)
          DisplaySprite3D(u, \x - sw / 2, \y - sh / 2, \CurrentFade)
          ;DisplaySprite3D(u, \x - SpriteWidth(u) / 2, \y - SpriteHeight(u) / 2, \CurrentFade)
          
          ;pause before Anim?
          If \PauseIn = 0
            
            ;Anim
            \CurrentSpriteNb + \AnimSpeed
            If \LastSprite<>\FirstSprite
              ;if sprite is Animated, and for a certain amount of frames, test boundaries
              If \CurrentSpriteNb>\LastSprite
                \CurrentSpriteNb = \FirstSprite
              EndIf
            EndIf
            \CurrentFade + \FadeSpeed
            \CurrentTime + 1
            \x + \XSpeed
            \y + \YSpeed
            \Zoom + \ZoomSpeed
          Else
            \PauseIn - 1
          EndIf
          
        EndIf
        
      Else
        If \PauseOut<>0
          ;pause after Anim?
          u = \CurrentSpriteNb
          sw.f = \Zoom * SpriteWidth(u)
          sh.f = \Zoom * SpriteHeight(u)
          ZoomSprite3D(u, sw, sh)
          DisplaySprite3D(u, \x - sw / 2, \y - sh / 2, \CurrentFade)
          ;DisplaySprite3D(u, \x - SpriteWidth(u) / 2, \y - SpriteHeight(u) / 2, \CurrentFade)
          \PauseOut - 1
        Else
          ;no, delete
          DeleteElement(Anims())
        EndIf
      EndIf
      ; EndIf
    Next
  EndWith

Return



Re: Dux !

Publié : ven. 07/oct./2011 17:50
par Cool Dji
Héhé,

Tribute to "Space Invaders" ?

Merci pour le partage :D

Re: Dux !

Publié : ven. 07/oct./2011 18:18
par G-Rom
j'ai plus les sources djes , y avait pas un tetris aussi ? :wink:

Re: Dux !

Publié : ven. 07/oct./2011 18:31
par djes
Cool dji> Raté, essaye encore ;)

G-Rom> Héhé, tu veux que je te remette les sources quelque part ? Ton tétris méritait d'être gardé :)

Re: Dux !

Publié : ven. 07/oct./2011 18:33
par G-Rom
Oui , mais mon DD m'a lâché le mois dernier, j'ai tout perdu , du moins les codes PB & co :cry:
si tu veut les mettre à dispositions , je n'y vois pas de problèmes ;)

Re: Dux !

Publié : ven. 07/oct./2011 18:37
par djes
Merde, c'est l'horreur ça ! Je te remettrai ça en ligne dès que possible (là je ne suis pas sur mon poste)

Re: Dux !

Publié : sam. 08/oct./2011 13:24
par Torp
Merci pour le partage, toujours instructif !

Re: Dux !

Publié : sam. 08/oct./2011 13:49
par Ar-S
Merci djes,
Très sympa de ta part. :D

Re: Dux !

Publié : dim. 09/oct./2011 22:29
par Atlante
Merci, fonctionne pas chez il semblerait que cela soit lié à mes deux écrans...
Il se lance sur l'écran 1 qui devient noir, j'entends un debut de musique et mon deuxième écran clignote dans tous les sens et op ça ferme.
cdt

Re: Dux !

Publié : dim. 09/oct./2011 23:01
par Huitbit
Coin, coin :P (Merci !)

Ca marche nickel sur mon pc en carton !
Atlante a écrit :il semblerait que cela soit lié à mes deux écrans
La soluce du jour(qui protège l'environnement) :mrgreen:
"Avec une pince, couper délicatement l'alimentation du deuxième écran"

:wink:

Re: Dux !

Publié : lun. 10/oct./2011 9:09
par kelebrindae
Ce ne serait pas "Carnival", par hasard ?

Re: Dux !

Publié : lun. 10/oct./2011 9:31
par Cool Dji
@Kelebrindae => Carnival ?, je donne ma langue au chat :D

@G-Rom => la merde !!!!!
Je dois avoir des codes à toi sur mon DD à la maison, ils doivent être aussi sur le forum mais si tu veux je fais une compil dans un zip. Je ne pense pas que ça soit tes codes les plus précieux mais bon...

Re: Dux !

Publié : lun. 10/oct./2011 10:54
par djes
Atlante> Engueule Fred pour moi au boulot ;)

kelebrindae> Essaye encore :)

Re: Dux !

Publié : lun. 10/oct./2011 10:58
par Cool Dji
Hiii !
Bandit sur C64 ?

Re: Dux !

Publié : lun. 10/oct./2011 12:56
par djes
Nan!