Postet eure hässlichsten Code-Schnipsel

VERGiL1202

Lt. Commander
Registriert
Jan. 2009
Beiträge
1.532
Hallo zusammen,

hab gerade mal ein 8 Jahre altes Visual Basic 6 Projekt von mir wieder geöffnet und musste echt lachen, als ich den Code gesehen hab.

Mein Favorit ist folgendes Snippet:
Code:
Dim zw As String
Dim iPos As Integer
iPos = InStr(1, sc.Text, " ")
zw = Right$(sc.Text, Len(sc.Text) - iPos)
zw = Mid(zw, 1, InStr(1, zw, "</span></td>", vbTextCompare) - 1)
Dim Pos7 As String
Pos7 = InStr(1, zw, "*")
If Pos7 <> "0" Then
	If Lv.ListItems(i).SubItems(2) = "Online!" Then
		Lv.ListItems(i).SubItems(2) = "Online!"
	Else
		Lv.ListItems(i).SubItems(2) = "Online!"
		txt_logfile.Text = txt_logfile.Text & Time & ": " & Lv.ListItems(i).Text & " ist online gekommen!" & vbCrLf
		If check_onlinesound = vbChecked Then
			Call PlayWaveResource("sound")
		End If

	End If
Else
	If Lv.ListItems(i).SubItems(2) = "Online!" Then
		Lv.ListItems(i).SubItems(2) = "Offline"
		txt_logfile.Text = txt_logfile.Text & Time & ": " & Lv.ListItems(i).Text & " ist wieder offline." & vbCrLf
	Else
		Lv.ListItems(i).SubItems(2) = "Offline"
	End If
End If

Alleine die Tatsache, dass man in VB Vergleiche mit einem normalen "=" durchführt macht mich gerade ziemlich fertig :D
Ich denke jeder von euch hat richtig schlechten Code von "damals" irgendwo auf der Platte.
Sucht mal eure Highlights raus und postet sie :D
 
Zuletzt bearbeitet:
VERGiL1202 schrieb:
Hallo zusammen,

hab gerade mal ein 8 Jahre altes Visual Basic 6 Projekt von mir wieder geöffnet und musste echt lachen, als ich den Code gesehen hab.

Mein Favorit ist folgendes Snippet:
...
Der Code ist super. Sogar Variablen deklariert und die Namen einigermaßen aussagekräftig.

VERGiL1202 schrieb:
die Tatsache, dass man in VB Vergleiche mit einem normalen "=" durchführt macht mich gerade ziemlich fertig :D
Ich finde das = für Vergleiche eher gut, weil es der mathematischen Entsprechung am Nächsten kommt und dagegen == total behämmert.
Ebenso wie = zu nehmen, wenn man eigentlich eine Zuweisung meint.

VERGiL1202 schrieb:
Ich denke jeder von euch hat richtig schlechten Code von "damals" irgendwo auf der Platte.
Sucht mal eure Highlights raus und postet sie :D
Das Zeuch von "damals" liegt noch auf 5 ½ Zoll Disketten. Ich hätte sogar noch irgendwo ein Laufwerk. Allerdings wäre es vermutlich schon aufgrund des Alters sie schwer sie noch von der Magnetscheibe zu kriegen.
Programmiersprachen dürften sein: Basic, Turbo Pascal, C und x86-Assembler.

Allerdings wenn Du schlechten Code sehen willst, brauchst Du eigentlich nur weiter nach Visual Basic oder auch PHP suchen. Also Sprachen, die zum Großteil von Leuten eingesetzt werden, von denen man generell keine gute Codequalität erwartet. :-)

Gruß
Andy
Ergänzung ()

btw: Wer hat vor 8 Jahren noch mit VisualBasic 6 programmiert?
Das ist ja so statt in nen Auto zu steigen sich ne Pferdekutsche zu nehmen. :-)
 
andy_m4 schrieb:
Ergänzung ()

btw: Wer hat vor 8 Jahren noch mit VisualBasic 6 programmiert?
Das ist ja so statt in nen Auto zu steigen sich ne Pferdekutsche zu nehmen. :-)

Zu Schulzeiten in der Oberstufe im Informatikunterricht durften wir uns mit Turbo Pascal rumschlagen. Bezeichner dürfen nur einen Buchstaben haben und das war nur die Spitze des Eisbergs.
 
Wobei Turbo Pascal mit sozusagen Pascal als Basis ja eigentlich zum lehren gar nicht mal so schlecht ist und auch allgemein verfügbar ist/war.

Kommt natürlich auf die Zeit an. Heutzutage ist Turbo Pascal ja doch schon recht angestaubt. Und gerade so für moderne Konzepte wie Objektorientierung (was ja nun auch nicht mehr so modern ist) usw. Klar gibts da bis heute FreePascal als freier Nachfolger. Aber ebenso gut auch andere feine Sachen. Wobei letztlich ja die Lernsprache zunächst egal ist.

Das Problem ist eher Bezeichnet nur ein Buchstabe. Das stammt noch aus Zeiten wo Speicherplatz knapp war (also richtig knapp). Und das ist ja nun seit 30 Jahren vorbei.

Gruß
Andy
 
Mit 11 Jahren von cmd/batch auf C# umgestiegen :D
War eher so ne art cmd gewrappt in eine GUI mit etwas C#.

Code:
                    StreamWriter myWriter = File.CreateText(@"C:\CopyCSSDM.bat");
                    myWriter.WriteLine("@echo off");
                    myWriter.WriteLine("@Title Install CSS Deathmatch");
                    myWriter.WriteLine("if not exist \"" + folderBrowserDialog1.SelectedPath + "\\orangebox\\cstrike\\\" (");
                    myWriter.WriteLine("md \"" + folderBrowserDialog1.SelectedPath + "\\orangebox\\cstrike\\\"");
                    myWriter.WriteLine("xcopy /Y /S \"" + Application.StartupPath + "\\files\\Plugins\\CSSDM\\addons\\*.*\" \"" + folderBrowserDialog1.SelectedPath + "\\orangebox\\cstrike\\addons\\\"");
                    myWriter.WriteLine("xcopy /Y /S \"" + Application.StartupPath + "\\files\\Plugins\\CSSDM\\cfg\\*.*\" \"" + folderBrowserDialog1.SelectedPath + "\\orangebox\\cstrike\\cfg\\\"");
                    myWriter.WriteLine(") else (");
                    myWriter.WriteLine("xcopy /Y /S \"" + Application.StartupPath + "\\files\\Plugins\\CSSDM\\addons\\*.*\" \"" + folderBrowserDialog1.SelectedPath + "\\orangebox\\cstrike\\addons\\\"");
                    myWriter.WriteLine("xcopy /Y /S \"" + Application.StartupPath + "\\files\\Plugins\\CSSDM\\cfg\\*.*\" \"" + folderBrowserDialog1.SelectedPath + "\\orangebox\\cstrike\\cfg\\\"");
                    myWriter.WriteLine(")");
                    myWriter.WriteLine("del %0");
                    myWriter.Close();

                    Process process = new Process();
                    process.EnableRaisingEvents = false;
                    process.StartInfo.FileName = @"C:\CopyCSSDM.bat";
                    process.Start();
                    process.WaitForExit();
 
VERGiL1202 schrieb:
Sucht mal eure Highlights raus und postet sie :D

Hier ein altes Perl-Programm von 2010:


`\160\145\162\154\40\55\145\40\42\160\162\151\156\164\40\123\124\104\105\122\122\40\141\56\56\172\42`


als File:
Anhang anzeigen test.pl.txt

/edit: noch ein Schmankerl von 1991! Eine C-Funktion, um bunte (0xB800) oder monochrome (0xB000) Zeichen ohne Biosroutinen auf einen 80x40-txt-Bildschirm zu bringen:


Code:
 ...
 GR_IN.START  = peekb(0x40,0x49)==0x07 ? 0xB0000000L : 0xB8000000L;
 #define COMAX 80
 ...

  void PRINT(int row, int col, char *Text, word attribut, word fst_attr)
 {
   register word far *farptr = (unsigned int far *)GR_IN.START;
   register int goal;
   register word att;
   word fst_pos = fst_attr & 0x00FF, gp=0;

   if((goal=attribut&0x00FF) != 0x00) gp=TRUE;
        att=attribut&0xFF00;
        fst_attr &= 0xFF00;
   farptr+= (row-1) * COMAX + (col-1);
   if(fst_pos) {
     while(--fst_pos) { *farptr++ = *Text++ | att; goal--; }
                        *farptr++ = *Text++ | fst_attr; goal--;
    }
     while( *Text ) {   *farptr++ = *Text++ | att; goal--; }
    if(gp>0 && goal>0) while(goal--) *farptr++ = ' ' | att;
 }

Das war DOS+EGA + Turbo-C. Formatierung/Einrückung original. O-oo!
 
Zuletzt bearbeitet:
Mir geht es eigentlich nicht darum, dass der Code altertürmlich ist und deswegen schlecht aussieht. Sondern um die Tatsache, dass jeder Programmierer mal diesen "schlechten Code" schreibt und mit der Zeit lernt, besseren Code zu schreiben. Das kann ja auch in C++ sein und nicht in VB.

Dass mein MIPS Assembler Code scheiße aussieht, weiß ich nämlich auch :D
 
Neulich bin ich mal wieder auf mein erstes WPF-Projekt gestoßen, direkt nachdem ich von WinForms umgestiegen bin. Oh Gott...

Bei dieser Gelegenheit möchte ich auch gerne dieses Bild zum Besten bringen :D
https://xkcd.com/1185/
 
Zuletzt bearbeitet:
Wenn man kein Regex kann:
Code:
foreach ($hw as $h => $u) {
	if (strpos($u, 'hardware')) {
		$html = explode('<font size="+4">', file_get_contents($u));
		$html[1] = explode('&nbsp;',$html[1]);
		$new[$h] = str_replace(',','.',$html[1][0]);
	} else {
		$html = explode('<div class="price">', file_get_contents($u));
		$html[1] = explode('<', $html[1]);
		$html[1][0] = explode(" ", $html[1][0]);
		$html[1][0][1] = explode(',', $html[1][0][1]);
		$new[$h] = str_replace(',','.',$html[1][0][1][0]);
	}
}

Hat aber 1a funktioniert. :D


Oder hier was aus einem aaalten mIRC Script, ebenfalls entstanden mangels Regex Kenntnisse:
Code:
did -a $dname 3 $+($iif(!%w,$gettok($gettok(%aj. [ $+ [ $gettok(%aj.tmp,2,32) ] ],%x,44),6,32),$gettok($gettok(%aj. [ $+ [ $gettok(%aj.tmp,2,32) ] ],%x,44),1,32)),$iif($iif(!%w,$gettok($gettok(%aj. [ $+ [ $gettok(%aj.tmp,2,32) ] ],%x,44),7,32),$gettok($gettok(%aj. [ $+ [ $gettok(%aj.tmp,2,32) ] ],%x,44),2,32)),$chr(32) $v1 $+ $crlf,$crlf))
(Ja, alles in einer Zeile :D)
 
Auschnitt aus einer Flüssigkeitssimulation (ohne Helper):
Code:
__global__  
#ifdef __CUDACC__
	__launch_bounds__ (32*FluxKernelOccupancy, 1)
#endif 	
	void FluxKernel(ShallowWaterSolverCu ShalWatCu)
{

	__shared__ float WTempSharedA[BlockDimX*BlockDimZ];
	__shared__ float WTempSharedB[BlockDimX*BlockDimZ];
	__shared__ float2 huhvTempSharedA[BlockDimX*BlockDimZ];
	__shared__ float2 huhvTempSharedB[BlockDimX*BlockDimZ];


	int GlobalX = blockIdx.x *(blockDim.x-2) + threadIdx.x-1;
	int GlobalZ = blockIdx.y *(blockDim.y-2) + threadIdx.y-1;

	float BSouthWest, BSouthEast, BNorthWest, BNorthEast;
	float BWest, BEast, BNorth, BSouth;

	U UAverageCenter, UReconstructedSouth, UReconstructedWest, UReconstructedEastNeighbor;
	int SharedIndex; 

	if(GlobalZ <= ShalWatCu.SizeZ)
	{
		BSouthWest=GetValueFromGrid(ShalWatCu.B,GlobalX,GlobalZ,ShalWatCu.XBAlign, ShalWatCu.SizeXB,ShalWatCu.SizeZB);
		BSouthEast=GetValueFromGrid(ShalWatCu.B,GlobalX+1,GlobalZ,ShalWatCu.XBAlign, ShalWatCu.SizeXB,ShalWatCu.SizeZB);
		BNorthWest=GetValueFromGrid(ShalWatCu.B,GlobalX,GlobalZ+1,ShalWatCu.XBAlign, ShalWatCu.SizeXB,ShalWatCu.SizeZB);
		BNorthEast=GetValueFromGrid(ShalWatCu.B,GlobalX+1,GlobalZ+1,ShalWatCu.XBAlign, ShalWatCu.SizeXB,ShalWatCu.SizeZB);

		BWest = 0.5f*(BSouthWest+BNorthWest);
		BEast = 0.5f*(BSouthEast+BNorthEast);
		BNorth = 0.5f*(BNorthWest+BNorthEast);
		BSouth = 0.5f*(BSouthWest+BSouthEast);

		UAverageCenter = GetU(ShalWatCu,GlobalX, GlobalZ);
		U UAverageNorth = GetU(ShalWatCu,GlobalX, GlobalZ+1);
		U UAverageSouth = GetU(ShalWatCu,GlobalX, GlobalZ-1);

		U UGradientZ = CalculateUGradient(UAverageNorth, UAverageCenter, UAverageSouth,ShalWatCu.DXInv);
		U UReconstructedNorth = ReconstructU(UAverageCenter ,UGradientZ,1.f,ShalWatCu.DX);
		UReconstructedSouth = ReconstructU(UAverageCenter ,UGradientZ,-1.f,ShalWatCu.DX);
		ForcePositivity(UReconstructedSouth.W,UReconstructedNorth.W,BSouth,BNorth,UAverageCenter.W);
		SharedIndex  =  threadIdx.y*blockDim.x + threadIdx.x;
		WTempSharedA[SharedIndex] = UReconstructedNorth.W;
		huhvTempSharedA[SharedIndex] = make_float2(UReconstructedNorth.hu,UReconstructedNorth.hv);


		if(threadIdx.y!=0)
		{
			U UAverageEast = GetU(ShalWatCu,GlobalX+1, GlobalZ);
			U UAverageWest = GetU(ShalWatCu,GlobalX-1, GlobalZ);
			U UGradientX = CalculateUGradient(UAverageEast, UAverageCenter, UAverageWest,ShalWatCu.DXInv);
			U UReconstructedEast = ReconstructU(UAverageCenter ,UGradientX,1.f,ShalWatCu.DX);
			UReconstructedWest = ReconstructU(UAverageCenter ,UGradientX,-1.f,ShalWatCu.DX);
			ForcePositivity(UReconstructedWest.W,UReconstructedEast.W,BWest,BEast,UAverageCenter.W);
			UReconstructedEastNeighbor.W =__shfl_up( UReconstructedEast.W, 1);
			UReconstructedEastNeighbor.hu =__shfl_up( UReconstructedEast.hu, 1);
			UReconstructedEastNeighbor.hv =__shfl_up( UReconstructedEast.hv, 1);
		}
	}

	__syncthreads();

	//GlobalZ = blockIdx.y *(blockDim.y-2) + threadIdx.y-1;
	U HWest, HSouth, HEast, HNorth;

	if(threadIdx.y!=0 && GlobalZ <= ShalWatCu.SizeZ)
	{
			U UReconstructedNorthNeighbor;

			SharedIndex  -= blockDim.x;
			UReconstructedNorthNeighbor.W = WTempSharedA[SharedIndex];
			float2 huhv = huhvTempSharedA[SharedIndex];
			UReconstructedNorthNeighbor.hu = huhv.x;
			UReconstructedNorthNeighbor.hv = huhv.y;


			float BPlus; float BMinus;
			float hNorthNeighbor = ReconstructH(UReconstructedNorthNeighbor.W,BSouth); 
			float hSouth =  ReconstructH(UReconstructedSouth.W,BSouth); 
			float uNorthNeighbor, vNorthNeighbor,uSouth,vSouth; 
			ReconstructV(hNorthNeighbor,uNorthNeighbor,vNorthNeighbor,UReconstructedNorthNeighbor.hu,UReconstructedNorthNeighbor.hv,ShalWatCu.DX,ShalWatCu.DX4);
			ReconstructV(hSouth,uSouth,vSouth,UReconstructedSouth.hu,UReconstructedSouth.hv,ShalWatCu.DX,ShalWatCu.DX4);
			U UCorrectedNorthNeighbor=CalculateUCorrected(UReconstructedNorthNeighbor.W,hNorthNeighbor,uNorthNeighbor,vNorthNeighbor);
			U UCorrectedSouth=CalculateUCorrected(UReconstructedSouth.W,hSouth,uSouth,vSouth);
			CalculateSpeedOfPropagation(BPlus, BMinus, hNorthNeighbor,hSouth,vNorthNeighbor,vSouth,ShalWatCu.g);
			HSouth = CalculateHZ(BPlus, BMinus ,UCorrectedNorthNeighbor,UCorrectedSouth,BSouth, ShalWatCu.g, ShalWatCu.Minh);
			SharedIndex   =  threadIdx.y*blockDim.x + threadIdx.x;
			WTempSharedB[SharedIndex]= HSouth.W;
			huhvTempSharedB[SharedIndex]= make_float2(HSouth.hu,HSouth.hv);  

			if(threadIdx.y != blockDim.y-1)
			{
				float APlus; float AMinus;
				float hEastNeighbor =  ReconstructH(UReconstructedEastNeighbor.W,BWest); 
				float hWest =  ReconstructH(UReconstructedWest.W,BWest); 
				float uEastNeighbor, vEastNeighbor,uWest,vWest;
				ReconstructV(hEastNeighbor,uEastNeighbor,vEastNeighbor,UReconstructedEastNeighbor.hu,UReconstructedEastNeighbor.hv,ShalWatCu.DX,ShalWatCu.DX4);
				ReconstructV(hWest,uWest,vWest,UReconstructedWest.hu,UReconstructedWest.hv,ShalWatCu.DX,ShalWatCu.DX4);
				U UCorrectedEastNeighbor=CalculateUCorrected(UReconstructedEastNeighbor.W,hEastNeighbor,uEastNeighbor,vEastNeighbor);
				U UCorrectedWest=CalculateUCorrected(UReconstructedWest.W,hWest,uWest,vWest);		
				CalculateSpeedOfPropagation(APlus, AMinus, hEastNeighbor,hWest,uEastNeighbor,uWest,ShalWatCu.g);

				float MaximumSpeedOfPropagation = fmaxf(APlus,fmaxf(-AMinus,fmaxf(BPlus,-BMinus)));
				MaximumSpeedOfPropagation = ReduceToMaxWarp(MaximumSpeedOfPropagation);
				int ThreadIDWithinWarp = (threadIdx.y*blockDim.x + threadIdx.x) % warpSize;
				if(ThreadIDWithinWarp == 0)	
				   AtomicMaxInt(ShalWatCu.MaximumSpeedOfPropagation,MaximumSpeedOfPropagation);

				HWest  = CalculateHX(APlus, AMinus ,UCorrectedEastNeighbor,UCorrectedWest,BWest, ShalWatCu.g, ShalWatCu.Minh);

				HEast.W =__shfl_down( HWest.W, 1);
				HEast.hu =__shfl_down( HWest.hu, 1);
				HEast.hv =__shfl_down( HWest.hv, 1);  	  
			}
		
	}
	__syncthreads();

	GlobalX = blockIdx.x *(blockDim.x-2) + threadIdx.x-1;
	GlobalZ = blockIdx.y *(blockDim.y-2) + threadIdx.y-1;

	if(threadIdx.x > 0 && threadIdx.x < blockDim.x -1 && threadIdx.y > 0 && threadIdx.y  < blockDim.y-1 &&
		GlobalX >= 0 && GlobalX  < ShalWatCu.SizeX && GlobalZ >= 0 && GlobalZ < ShalWatCu.SizeZ )
	{
		SharedIndex  =  threadIdx.y*blockDim.x + threadIdx.x + blockDim.x;

		float2 Zhuhv = huhvTempSharedB[SharedIndex];
		HNorth.W =  WTempSharedB[SharedIndex];
		HNorth.hu = Zhuhv.x;
		HNorth.hv = Zhuhv.y;

		float BAverage = 0.25f*(BSouthWest+BSouthEast+BNorthWest+BNorthEast);
		float SX=CalculateS(BWest,BEast,BAverage,UAverageCenter.W,ShalWatCu.DXInv,ShalWatCu.g);
		float SZ=CalculateS(BSouth,BNorth,BAverage, UAverageCenter.W,ShalWatCu.DXInv,ShalWatCu.g);

		U DUDT;

		for(int i=0; i< 3; i++)
			DUDT.Values[i] = - (HNorth.Values[i]-HSouth.Values[i]+HEast.Values[i]-HWest.Values[i])*ShalWatCu.DXInv;


		DUDT.hu+=SX;
		DUDT.hv+=SZ;

		int Index = GlobalZ * ShalWatCu.XAlign + GlobalX;
		ShalWatCu.TempA[Index]= DUDT.W;
		ShalWatCu.TempB[Index]= DUDT.hu;
		ShalWatCu.TempC[Index]= DUDT.hv;
	}
}
 
// Teil eines Kontur-Tracing-Algorythmus

Code:
var step = function () {
    var result = true;
    switch (curStep) {
        case Steps.Done:
            result = false;
            break;

        case Steps.TraverseNextEdge:
            result = processTraverseNextEdge();
            break;

        case Steps.TraverseFindStartingEdge:
            result = processTraverseFindStartingEdge();
            break;

        case Steps.FindStart:
            openList = [];
            curTile = null;
            startTile = findStart();
            if (startTile != null) {
                openList.push(startTile);
                map.remove(startTile.x, startTile.y);
                var startTileIndices = addTileVertices(startTile);
                mainEdges = mainEdges.concat(createTileEdges(startTileIndices, startTile));
                curStep = Steps.GetOpenTile;
                processOpenTile();
            } else {
                if (mainEdges.length == 0) {
                    result = false;
                } else {
                    shapes = [];
                    curStep = Steps.TraverseFindStartingEdge;
                }
            }
            break;
        case Steps.GetOpenTile:
            processOpenTile();
            break;
        case Steps.FindNextForward:
            var nx = curTile.x + dirs[curTile.direction].x;
            var ny = curTile.y + dirs[curTile.direction].y;
            nextTile = map.isSolid(nx, ny) ? new Tile(nx, ny) : null;

            if (nextTile != null) {
                var nextVerts = createTileVertices(nextTile);
                if (isTilesShareCommonEdges(nextVerts)) {
                    openList.push(nextTile);
                    map.remove(nextTile.x, nextTile.y);
                    var nextTileIndices = addTileVertices(nextTile);
                    var nextTileEdges = createTileEdges(nextTileIndices, nextTile);
                    nextTileEdges = removeOverlapEdges(nextTileEdges);
                    mainEdges = mainEdges.concat(nextTileEdges);
                    curStep = Steps.GetOpenTile;
                    processOpenTile();
                } else {
                    curStep = Steps.RotateForward;
                    processRotateForward();
                }
            } else {
                curStep = Steps.RotateForward;
                processRotateForward();
            }

            break;
        case Steps.RotateForward:
            processRotateForward();
            break;
    }
    return result;
};

// Moduldefinition eines Tower-Defence Spiels mit sehr vielen Abhängigkeiten

Code:
final.module("final.towadev",
    [
        "final.vec",
        "final.vec2math",
        "final.utils",
        "final.game",
        "final.profiler",
        "final.console",
        "final.pathfinding",
        "final.images",
        "final.ui",
        "final.ui.button",
        "final.ui.carousel",
        "final.towadev.map",
        "final.towadev.menu",
        "final.towadev.entity.entities",
        "final.towadev.bullet",
        "final.towadev.weapon",
        "final.towadev.entity.tower",
        "final.towadev.entity.enemy",
        "final.towadev.entity.spawner",
        "final.towadev.entity.area",
        "final.renderer"
    ],
    function (final,
              vec,
              vec2math,
              utils,
              game,
              profiler,
              console,
              pathfinding,
              images,
              ui,
              button,
              carousel,
              map,
              menu,
              entities,
              bullet,
              weapon,
              tower,
              enemy,
              spawner,
              area,
              renderer,
              _module) {

        var Vec2 = vec.Vec2,
            Map = map.Map,
            Tiles = map.Tiles,
            Game = game.Game,
            MouseButton = game.MouseButton,
            GameInitState = game.GameInitState,
            Menu = menu.Menu,
            Entities = entities.Entities,
            GrowablePool = utils.GrowablePool,
            HashMap = utils.HashMap,
            StopWatch = utils.StopWatch,
            FixedPool = utils.FixedPool,
            UIManager = ui.UIManager,
            Button = button.Button,
            Carousel = carousel.Carousel,
            Bullet = bullet.Bullet,
            BulletType = bullet.BulletType,
            Tower = tower.Tower,
            Enemy = enemy.Enemy,
            EnemyAction = enemy.EnemyAction,
            EntitySpawner = spawner.EntitySpawner,
            Weapon = weapon.Weapon,
            AStar = pathfinding.AStar,
            Area = area.Area,
            Profiler = profiler.Profiler,
            Transform = renderer.Transform;

...

        return {
            State: State,
            TowaDev: TowaDev
        }
    },
    "0.5.1-alpha"
);
 
Zuletzt bearbeitet:
Noch gar kein PHP Code, der HTML Code ausgibt, welcher ein JS enthält?
Achso das ist ja normal ...

mfg,
Max
 
max_1234 schrieb:
Noch gar kein PHP Code, der HTML Code ausgibt, welcher ein JS enthält?
Achso das ist ja normal ...

mfg,
Max

Sowas nennt man Hack / Injection und wird in der Praxis sehr häufig gemacht... Was HTML/CSS du spurst nicht? Dann kriegste es mit JS reingedrückt... haha.
 
Code:
class a{public static void main(String[]a){int i=99;String s=" of beer on the wall",o="no more",b=" bottle";while(i>-1){System.out.println((i>0?i:"No more")+b+(i==1?"":"s")+s+", "+(i>0?i:o)+b+(i==1?"":"s")+" of beer.\n"+(i-->0?"Take one down and pass it around, ":"Go to the store and buy some more, ")+(i<0?"99":(i>0?i:o))+b+(i==1?"":"s")+s+".\n");}}}

:evillol:
 
maxator schrieb:
Code:
class a{public static void main(String[]a){int i=99;String s=" of [B]beer on the wall[/B]",

Kommt mir bekannt vor. Das hier ist die Perl-Version davon:
Code:
# Copyright 2001 Christopher J. Carlson <cjc@dobbz.com>
# All Rights Reserved

         $a=
        "cpuu
       \bmft p
       \bg cff
       \bs";$b
       ="po ui
       \bf xbm
      \bm";$c="
      Ypv ublf p
     \bof epxo qb
   \btt ju bspvoe";
  $a =~ s/\n//;$a =~
  s/\s+/ /g; $b   =~
  s/\n// ;  $b    =~
  s/\s+/ /g;$c    =~
  s/\n// ;  $c    =~
  s/\s+/ /g;$a    =~
  y/b-z/a-z/;$b   =~
  tr/b-z/a-z/;$c  =~
  tr/b-z/a-z/ ; for(
  $d=100;$d>0;$d--){
  print"$d $a $b $d"
  ;print" $a,\n$c, "
  ;print($d-1);print
  " $a $b.\n";} $x =
  "cjc"; $y="dobbz";
  $z="com";print"\n"
  ;print "- $x\@$y."
   ;print"$z \n\n";

Ist nicht von mir, vielleicht im nächsten Leben ;)
 
Es geht darum den 99 Bottles of Beer-Liedtext mit einer Programmiersprache deiner Wahl auszugeben.
Hier wäre das ganze mit Lolcode, auch nicht von mir:

Code:
HAI
    VISIBLE "O HAI! IM IN UR BEERZ!"
    I HAS A VAR
    LOL VAR R 99
    IM IN YR LOOP
        VISIBLE VAR!
        VISIBLE " BOTTLZ OF BEER N TEH WALL, "!
        VISIBLE VAR!
        VISIBLE " BOTTLZ OF BEER!"
        VISIBLE "TAKE 1 DWN, PAS IT AROUN, "!
        NERFZ VAR!!
        IZ VAR LIEK 0?
            YARLY
                VISIBLE "NO MOAR"!
            NOWAI
                VISIBLE VAR!
        KTHX
        VISIBLE " BOTTLZ OF BEER N TEH WALL!"
        IZ VAR LIEK 0?
            GTFO
        KTHX
    KTHX
    VISIBLE "GIEV MOAR PLZ! KTHXBAI!"
KTHXBYE
 
Zurück
Oben