Seite 1 von 2
Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 00:49
von KeauHou
Mir war grad langweilig also habe ich versucht mit so wenig Zeichen wie möglich Partikel mit Gravitation darzustellen.
Das Ergebnis ist etwas unkonventionell
Code: Alles auswählen
OpenConsole():EnableGraphicalConsole(1):Structure o:x.f:y.f:e.f:f.f:EndStructure:Global a=25,b=10,Dim p.o(a):Macro i:p(x)\x=40:p(x)\y=b:p(x)\e=38.5+Random(35)/b:p(x)\f=b+Random(20)/b:EndMacro:For x=0 To a:i:Next:Repeat:ClearConsole():For x=0 To a:t.o\x=p(x)\x:t\y=p(x)\y:*p.o=@p(x):*p\x=2**p\x-*p\e:*p\y=2**p\y-*p\f+0.2:*p\e=t\x:*p\f=t\y:If *p\x<80 And *p\y<a:ConsoleLocate(*p\x,*p\y):Print("."):Else:i:EndIf:Next:Delay(a):ForEver
Habs in 430 Zeichen geschafft, aber viel weniger ist glaub ich nich drin xD
Vielleicht schafft es ja jemand mit weniger Zeilen^^
MfG
(der gelangweilte) KeauHou
Re: Langeweile, Partikeleffekte mit möglichst wenig code...
Verfasst: 07.06.2010 00:59
von STARGÅTE
Cool, auch wenns nicht gerade ein Trick oder Tip ist, so seine Partike-Engine zu erstellen

Re: Langeweile, Partikeleffekte mit möglichst wenig code...
Verfasst: 07.06.2010 01:01
von KeauHou
Naja in der Beschreibung dieses Forums heißt es
Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
:P
Re: Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 10:47
von Shadow-Gamer
ist richtig, man sollte sich sowas mal den ganzen tag angucken^^
Re: Langeweile, Partikeleffekte mit möglichst wenig code...
Verfasst: 07.06.2010 15:15
von Kurzer
STARGÅTE hat geschrieben:Cool, auch wenns nicht gerade ein Trick oder Tip ist, so seine Partike-Engine zu erstellen

Aber als Consolenversion find ich's cool. Lustige Idee.

Re: Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 16:15
von KeauHou
Wens interessiert, hier mein Original aus dem die ich dann später die gekürzte Version gemacht hab:
Code: Alles auswählen
OpenConsole()
EnableGraphicalConsole(1)
Structure o
x.f
y.f
ox.f
oy.f
c.s{1}
cl.i
EndStructure
Global Dim p.o(25)
Define x.i, t.o
Procedure i(i)
p(i)\x = 38+Random(4)
p(i)\y = 10+Random(4)
p(i)\ox = 40 + Random(10)/20 - Random(10)/20
p(i)\oy = 12 + Random(10)/20 - Random(10)/10
p(i)\c = Chr(65 + Random(25))
p(i)\cl = Random(15)
EndProcedure
For x = 0 To 25:i(x):Next x
Repeat
ClearConsole()
For x = 0 To 25
t\x = p(x)\x
t\y = p(x)\y
p(x)\x = 2*p(x)\x - p(x)\ox
p(x)\y = 2*p(x)\y - p(x)\oy + 0.2
p(x)\ox = t\x
p(x)\oy = t\y
If p(x)\x < 80 And Int(p(x)\y) < 25
ConsoleColor(p(x)\cl, 0)
ConsoleLocate(Int(p(x)\x), Int(p(x)\y))
Print(p(x)\c)
Else
i(x)
EndIf
Next x
Delay(25)
ForEver
CloseConsole()
Re: Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 17:03
von Kevin
hi,
nette idee
KeauHou hat geschrieben:...
Habs in 430 Zeichen geschafft, aber viel weniger ist glaub ich nich drin xD
Vielleicht schafft es ja jemand mit weniger Zeilen^^
...
hier mit 327 Zeichen:
Code: Alles auswählen
OpenConsole():EnableGraphicalConsole(1):Structure o:x.f:y.f:e.f:f.f:EndStructure:a=25:b=10:Dim p.o(a):With p(x)
g::ClearConsole():For x=0 To a:t.o\x=\x:t\y=\y:\x=2*\x-\e:\y=2*\y-\f+0.2:\e=t\x:\f=t\y:If \y<a:ConsoleLocate(\x,\y):Print("."):Else:\x=40:\y=b:\e=38+Random(35)/b:\f=b+Random(20)/b:EndIf:Next:Delay(a):Goto g:EndWith
Re: Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 17:12
von NicTheQuick
///Edit:
Hab's noch kürzer bekommen. Da war noch ein altes Relikt drin.
Ich hab's auf 362 Zeichen bekommen, inklusive Farbe und verschiedenen Zeichen:
Code: Alles auswählen
OpenConsole():EnableGraphicalConsole(1):Dim p.d(25,5):Macro q(k):p(i,k):EndMacro:Repeat:ClearConsole():For i=0 To 25:q(0)+q(2):q(1)+q(3):q(3)+0.09:If q(1)<25:ConsoleColor(q(5),0):ConsoleLocate(q(0),q(1)):Print(Chr(q(4))):Else:q(0)=38:q(1)=10:q(2)=Random(99)/40-1:q(3)=Random(99)/40-1:q(4)=65+Random(25):q(5)=Random(15):EndIf:Next:Delay(25):ForEver:CloseConsole()
Oder etwas übersichtlicher: (ohne Einrückung immer noch 362 Zeichen, da oben lediglich Chr(10) durch ":" ersetzt wurde)
Code: Alles auswählen
OpenConsole()
EnableGraphicalConsole(1)
Dim p.d(25,5)
Macro q(k)
p(i,k)
EndMacro
Repeat
ClearConsole()
For i=0 To 25
q(0)+q(2)
q(1)+q(3)
q(3)+0.09
If q(1)<25
ConsoleColor(q(5),0)
ConsoleLocate(q(0),q(1))
Print(Chr(q(4)))
Else
q(0)=38
q(1)=10
q(2)=Random(99)/40-1
q(3)=Random(99)/40-1
q(4)=65+Random(25)
q(5)=Random(15)
EndIf
Next
Delay(25)
ForEver
CloseConsole()
///Edit:
@Kevin:
Dein Beispiel zeigt bei mir nichts an.
Re: Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 19:01
von Kevin
NicTheQuick hat geschrieben:
@Kevin:
Dein Beispiel zeigt bei mir nichts an.
hm verstehe ich nicht bei mir geht es
Re: Langeweile, Partikeleffekte in 430 Zeichen
Verfasst: 07.06.2010 19:32
von PMTheQuick
Bei mir geht Kevin's Lösung auch. Hier noch eine Variante von mir, nur mit Sternchen. Die Farben ändern sich zudem der Reihenfolge nach (1-15, 0 natürlich nicht, denn schwarz auf schwarz bringt nicht sehr viel...)
Code hat geschrieben:OpenConsole():EnableGraphicalConsole(1):c.f=1:Structure o:x.f:y.f:e.f:f.f:EndStructure:a=25:b=10:Dim p.o(a):With p(x)
g::ClearConsole():For x=0 To a:c+0.001:If c>15.5:c=1:EndIf:ConsoleColor(Round(c,2),0):t.o\x=\x:t\y=\y:\x=2*\x-\e:\y=2*\y-\f+0.2:\e=t\x:\f=t\y:If \y<a:ConsoleLocate(\x,\y):Print("*"):Else:\x=40:\y=b:\e=38+Random(35)/b:\f=b+Random(20)/b:EndIf:Next:Delay(a):Goto g:EndWith
386 Zeichen. Die Geschwindigkeit vom Farbendurchgang kann man dort festlegen, wo der Code fett hinterlegt ist. Und nein, ich weiss wie man einen Code Tag verwendet, doch nur in Zitaten kann man BB Codes benutzen
Gruss
PMTheQuick