Wie würdet ihr diese Prozedur nennen?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

MVXA hat geschrieben:machs wie ich :lol:. Notier dir 6 Namen für eine Proc auf einem Zettel. Such dann einen Würfel und würfel 3x. Welcher Name am meisten gewürftel wurde, wird als Name für die Proc genommen.
und was ist, wen 3 zahlen nur je einmal gewürfelt würden? :lol:
dan könnte er noch lange vor sich hin würfeln :lol:

habe ihm schnell einen generator geproggt, mit dem gehts schneller als mit würfeln :lol:

Code: Alles auswählen

A = Random(6)
MessageRequester("Procedure - Namen Generator","Nimm die nummer " + Str(a) + " auf deinem Zettel")
-.-"
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

oder so:

Code: Alles auswählen

OpenWindow(0,0,0,200,200,#pb_window_systemmenu,"Prozedurnamengenerator")
CreateGadgetList(WindowID(0))
ListViewGadget(0,0,0,200,200)
For a = 0 To 6
b = Random(5) + 1
AddGadgetItem(0,a,Str(b))
Next a
Repeat:Until WaitWindowEvent() = #pb_event_closewindow
:lol:
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Noch einer:

Code: Alles auswählen

Dim A.s(4)
Dim B.s(4)
Dim C.s(4)

A(0) = "Count"
A(1) = "Fill"
A(2) = "Select"
A(3) = "Print"
A(4) = "Copy"

B(0) = "To"
B(1) = "L"
B(2) = "From"
B(3) = "First"
B(4) = "Last"

C(0) = "String"
C(1) = "Image"
C(2) = "List"
C(3) = "Recursion"
C(4) = "Gadget"


For i=0 To 10
  str$ = "Procedure  " + A(Random(4)) + B(Random(4)) + C(Random(4)) + "()"
  Debug str$
Next
!UD2
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

:lol:
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

genau

Beitrag von Green Snake »

ja stimmt, der ist auch gut :lol:
-.-"
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Der ist schöner: (und diesmal kein Aprilscherz mehr)

Code: Alles auswählen

Global Wuerfel_Size.l, Wuerfel_Points_r.l

Wuerfel_Size = 100
Wuerfel_Points_r = Wuerfel_Size / 10

Global Wuerfel_Img.l
Procedure DrawWuerfel(Nr.l)
  Protected a.l, x.l, y.l, drhx.l, drhy.l
  
  If Nr < 0 And Nr > 6 : ProcedureReturn #False : EndIf
  
  If IsImage(Wuerfel_Img) : FreeImage(Wuerfel_Img) : EndIf
  
  Wuerfel_Img = CreateImage(#PB_Any, Wuerfel_Size, Wuerfel_Size)
  If Wuerfel_Img
    Restore Wuerfel_Pos
    a = Nr * (Nr - 1) / 2
    
    While a : Read x : Read y : a - 1 : Wend
    
    UseImage(Wuerfel_Img)
    StartDrawing(ImageOutput())
      
      DrawingMode(0)
      Box(0, 0, Wuerfel_Size - 1, Wuerfel_Size - 1, $FFFFFF)
      
      drhx = Random(1)
      drhy = Random(1)
      For a = 1 To Nr
        Read x : If drhx : x = 100 - x : EndIf
        Read y : If drhy : y = 100 - y : EndIf
        
        x = x * Wuerfel_Size / 100
        y = y * Wuerfel_Size / 100
        
        Circle(x, y, Wuerfel_Points_r, $000000)
      Next
      
    StopDrawing()
    
    ProcedureReturn Wuerfel_Img
  Else
    ProcedureReturn #False
  EndIf
  
  DataSection
    Wuerfel_Pos:
      Data.l 50, 50
      Data.l 25, 25, 75, 75
      Data.l 25, 25, 50, 50, 75, 75
      Data.l 25, 25, 75, 25, 25, 75, 75, 75
      Data.l 25, 25, 75, 25, 50, 50, 25, 75, 75, 75
      Data.l 25, 25, 75, 25, 25, 50, 75, 50, 25, 75, 75, 75
  EndDataSection
EndProcedure

DrawWuerfel(0)
If OpenWindow(0, 0, 0, Wuerfel_Size + 10, Wuerfel_Size + 40, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Würfel")
  If CreateGadgetList(WindowID())
    Gad_Image.l  = ImageGadget(#PB_Any, 5, 5, Wuerfel_Size, Wuerfel_Size, UseImage(Wuerfel_Img), #PB_Image_Border)
    Gad_Button.l = ButtonGadget(#PB_Any, 5, Wuerfel_Size + 15, Wuerfel_Size, 20, "Würfeln...")
    
    Repeat
      EventID.l = WaitWindowEvent()
      
      Select EventID
        Case #PB_EventCloseWindow
          Break
        Case #PB_EventGadget
          Select EventGadgetID()
            Case Gad_Button
              DrawWuerfel(Random(5) + 1)
              SetGadgetState(Gad_Image, UseImage(Wuerfel_Img))
          EndSelect
      EndSelect
    ForEver
  EndIf
  
  CloseWindow(0)
EndIf
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Und als nächstes kommt der einarmige bandit oder? :lol:
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Die normale heißt doch Str(), mach doch einfach Str0() oder Str2() oder StrZero() oder so... dann muß man auch nicht so viel tippen :D
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Str0() ist eine gute idee. wegen dem tippen hatte ich bei der einen prozedur auch erst F statt First genommen weil ich will keine Prozeduren die man drei mal nachschauen muss dass man sich nicht vertippt sonder kurze. thx
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

zigapeda hat geschrieben: wegen dem tippen hatte ich bei der einen prozedur auch erst F statt First
genommen weil ich will keine Prozeduren die man drei mal nachschauen
muss dass man sich nicht vertippt sonder kurze
da möchte ich hier mal belehrend darauf hinweisen, dass es immer
besser ist, ein wenig mehr zu tippen und selbstsprechende Funktions- und
Variablennamen zu verwenden, weil dadurch der Code viel lesbarer wird.

Mag sein, dass Du Dich z.Zt. in Deinem Code noch schlafwandlerisch sicher
bewegen kannst. In ein bis zwei Wochen wird das ganz anders sein.

Ausserdem ist es gar nicht so viel Tipperei, wenn man die automatische
Codergänzungen von jaPBe verwendet.

Grüße ... Kiffi
Antworten