Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Die umständlichsten Sourecodes

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.04.2007, 00:35    Titel: Die umständlichsten Sourecodes Antworten mit Zitat

Hier mal wieder eine Spiel: Postet denkbar umständliche Sourcecodes durchgeknallt Mir ist dieser hier eingefallen. Er zählt bis 100 lachen und ist sogar rekursiv durchgeknallt

Code:

function zaehlhoch(zahl as integer)
    zahl = zahl + 1
    if zahl < 100 then zahl = zaehlhoch(zahl)
    return zahl
end function

print zaehlhoch(0)
sleep

_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.


Zuletzt bearbeitet von Jojo am 04.04.2007, 13:27, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.04.2007, 00:44    Titel: Antworten mit Zitat

kompliziert und völlig nutzlos... find ich lustig grinsen

Code:

Function Zufallszahl(max as integer) as integer
    Dim as double timex=timer
    Dim as integer zufall
   
    do
        zufall=zufall+1
        if zufall=max then zufall=0
       
    loop while timer-timex<1
   
    Return zufall
End Function

?Zufallszahl(100)

sleep

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 04.04.2007, 07:16    Titel: Antworten mit Zitat

Man soll ja Code möglichst Strukturiert schreiben ->
Code:
'Einen Wert Erhöhen
Private Function Plus(V_Value as Long, V_Add as Long) as Long
Plus1 = V_Value + V_Add
End Function

Code:
'Einen Wert Abziehen
Private Function Minus(V_Value as Long, V_Sub as Long) as Long
Plus1 = V_Value - V_Sub
End Function

Code:
'Einen Wert hoch zählen
Private Function Zählen(V_Start as Long, V_Stop as Long, V_Add as Long)
'Variable Inizialisieren
Dim X as Long
Dim V as Long
'Variablen vordefinieren
X = 0
V = 0
'GotoPosition Festlegen
:ZählerStartInit
'Variable um einen Wert hinaus zählen
V = Plus(V, V_Add)
'Prüfen, ob Startwert erreicht wurde
If V >= V_Start then Goto ZählenInit
'Zurück zum Startwertzählen
Goto ZählerStartInit

'GotoPosition Festlegen
:ZählerSetupPos
'Prüfen, ob Startwert erreicht wurde
If V = V_Start then ZählerInit
'Variable um einen Wert zurück zählen
V = Minus(V, 1)
'Zurück zum Setupen
Goto ZählerSetupPos

'GotoPosition Festlegen
:ZählerInit
'Variable um einen Wert hinaus zählen
V = Plus1(V, Add)
'Prüfen, ob Stopwert erreicht wurde
If V = V_Start then ZählerStop
'Zurück zum Hochzählen
Goto ZählertInit

'GotoPosition Festlegen
:ZählerSetupPosE
'Prüfen, ob Startwert erreicht wurde
If V = V_Stop then ZählerStop
'Variable um einen Wert zurück zählen
V = Minus(V, 1)
'Zurück zum Setupen
Goto ZählerSetupPosE

'GotoPosition Festlegen
:ZählerStop
Exit Function


durchgeknallt
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 04.04.2007, 09:37    Titel: Antworten mit Zitat

In Anlehnung an TPM und im Sinne der Wiederverwertbarkeit von Funktionen:
Code:
'Einen Wert multiplizieren
function mal(V_Value as double, V_Mal as integer)
  dim as integer zaehler = 0
  dim as double mal1= 0
  do while abs(zaehler) < abs(V_Mal)
    if V_Mal > 0 then
      mal1 = Plus(mal1, V_Value)
      zaehler = Plus(zaehler, 1)
    else
      mal1 = Minus(mal1, V_Value)
      zaehler = Minus(zaehler, 1)
    end if
  loop
  mal = V_Value + V_Add
End Function

_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 04.04.2007, 13:18    Titel: Antworten mit Zitat

Code:
'Einen Wert erhöhen
Function plus(Byval V_Value As Integer, Byval V_Add As Integer) As Integer
  Asm mov eax,[V_Value]
  Asm mov ecx,[V_Add]
  loop1:
  Asm inc eax
  Asm Loop loop1
  Asm mov [Function],eax
End Function

Code:
'Einen Wert abziehen
Function minus(Byval V_Value As Integer, Byval V_Sub As Integer) As Integer
  Minus = plus( V_Value + 1, Not V_Sub)
End Function
grinsen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 04.04.2007, 14:48    Titel: Antworten mit Zitat

Code:

Function mal (op1 As Integer, op2 As Integer) As Integer
    Dim i As Integer, erg As Integer
    If op1 > op2 Then 'damit bei 1*100 und 100*1 auch immer 100 durchläufe gemacht werden xD
        For i = 1 to op1
            erg += op2
        Next i
    Else
        For i = 1 to op2
            erg += op1
        Next i
    End If
    Return erg1
End Function

_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 04.04.2007, 15:24    Titel: Antworten mit Zitat

Ich hätte nicht gedacht, daß ich diesen Code mal unterbringen würde lachen
Code:
Function Plus1(byVal Summand As Long) As Long
   Dim Alpha As Double
   Alpha=Rnd*Atn(1)
   Return Summand+Sin(Alpha)^2+Cos(Alpha)^2 'Pythagoras läßt grüßen :D
End Function
?Plus1(41)
Sleep
Die Funktion macht, was ihr Name sagt, aber sowas von umständlich..
..und doppelt genau und mit Winkelfunktionen und mit '^' (der braucht richtig lange grinsen)
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.04.2007, 18:22    Titel: Antworten mit Zitat

Code:
declare sub inc(byref z as double, byref r as byte = 0)

dim as double i
randomize timer
cls
i=1
inc i
print i
sleep: end



sub inc(byref z as double, byref r as byte = 0)
static rx as double
if r = 0 then rx = rnd(1000)+1
if r = 0 then
z *= cos(rx)
elseif r = 1 then
z *= tan(rx)
elseif r = 2 then
z /= sin(rx): z += (r-1)
r=0: exit sub
end if
r += 1: inc z,r
end sub

happy
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.04.2007, 20:58    Titel: Antworten mit Zitat

Mal eine andere Möglichkeit, einer Variable den Wert einer anderen zu geben:
[Seine-eigene-Signatur-nicht-beachte-Modus]
Code:

DIM muh AS INTEGER
DIM blah AS INTEGER

muh = 51
blah = 8123

FOR i% = 1 TO -1 STEP 1
afafafafafafa:
  PRINT STR$(muh)
  GOTO afafafa
NEXT i%

afafa:
GOTO afa

afa:
GOTO ansjkfkja

afafafa:
GOTO ofen

ansjkfkja:
GOTO Hfaaefai

ofen:
GOTO heisseErbsen

faeak:
muh = blah
GOTO afafafafafafa

heisseErbsen:
GOTO faeak

Hfaaefai:
GOTO afafafa

R.I.P.
[/Seine-eigene-Signatur-nicht-beachte-Modus]
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 05.04.2007, 13:19    Titel: Antworten mit Zitat

Bei dem Thema fällt mir ein, dass ich mal die Idee hatte, einen Code-Zerstörer
zu programmieren. happy
Er ersetzt bspw. alle normalen Variablennamen durch kryptische Zeichenfolgen
und in jeder Zeile kommt ein GOTO vor. durchgeknallt


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 05.04.2007, 14:31    Titel: Antworten mit Zitat

Code:
Declare Sub Print_it(text As String)

Sub Print_it(text As String)
    Print Chr(Asc(Chr(Asc(Chr(Asc(Chr(Asc(Chr(Asc(Chr(Asc(Chr(Asc(Chr(text[0] xor 255))xor 255))xor 255))xor 255))xor 255))xor 255))xor 255))xor 255);
    If Len(text)>1 Then
        Print_it(Mid(text, 2))
    Else
        Print ""
    End If
End Sub

Print_it("test")

_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 05.04.2007, 18:36    Titel: Antworten mit Zitat

Elvis hat Folgendes geschrieben:
Bei dem Thema fällt mir ein, dass ich mal die Idee hatte, einen Code-Zerstörer
zu programmieren. happy
Er ersetzt bspw. alle normalen Variablennamen durch kryptische Zeichenfolgen
und in jeder Zeile kommt ein GOTO vor. durchgeknallt

Der Artige Software wird allen Ernstes als Mittel gegen Reverse Engeneering eingesetzt.
Vorallem bei DLLs bringt es was.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 05.04.2007, 23:10    Titel: Antworten mit Zitat

kennt jemand ein prog, was sowas macht?
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.04.2007, 23:31    Titel: Antworten mit Zitat

also variablennamen austauschen geht ja recht einfach... durchgeknallt aber WTF wieso brauchst gerade du so ein prog? happy
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 06.04.2007, 00:19    Titel: Antworten mit Zitat

'Manglen', damit niemand so einfach die Tricks abschauen kann..
Ich habe mal ein gemangletes pascal-Programm gehabt, das war nach meiner 'Behandlung' sogar wieder richtig lesbar.. lachen
Lohnt sich aber auch nur bei kleinen Sachen und wenn man sorgfältig arbeitet..
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz