9 Zeiliges Pongspiel

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

MhhF

Betreff: 9 Zeiliges Pongspiel

BeitragDi, Jan 02, 2007 2:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine kleine Spielerei von mir. Man könnte es noch weiter komprimieren nur dann wäre es kein schöner Block mehr Very Happy. Den Computergegner ist ein bisschen schwer. Man kann ihn jedoch besiegen.

Code: [AUSKLAPPEN]
SetBuffer BackBuffer():t=10:z=260:.g:x=100:u#=x:n#=x
m#=n:i#=1:j#=0.2:.r:h#=Abs(u-m):n=n+i:Rect u-5,t,t,5
u=u-((u-m)/(h+(u=m)))*(h>1)*2:m=m+j:Rect 395,0,5,300
x=x-2*(KeyDown(203))*(x>15)+2*(KeyDown(205))*(x<385)
j=j*(1-2*(m<5 Or m>395)):k=n>z:c=c+k:Rect x-t,z,20,5
i=i*(1-2*(Int(n)<=15 And Abs(u-m)<6)):Rect 0,0,5,300
h=Floor(n)=z And Abs(x-m)<12:j=j*(1-h)-((x-m)*0.2)*h
Rect m-2,n-2,4,4:Text t,5,p+":"+c:i=i*(1-2.2*h):Flip
Cls:h=(n<t):p=p+h:If k Or h Then:Goto g:Endif:Goto r

maximilian

BeitragDi, Jan 02, 2007 3:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kauf dir nicht ab, dass man ihn besiegen kann, da er immer die gleiche Y-Position wie der Ball hat.

Ansonsten wirklich lustig die Idee, erinnertm ich an die 1-Zeilen-Code-Sammlung die damals auch sehr lustig war.
Variety is the spice of life. One day ignore people, next day annoy them.

Hellfront

BeitragDi, Jan 02, 2007 4:03
Antworten mit Zitat
Benutzer-Profile anzeigen
also mit BlitzPlus läuft das so bei mir nicht... Crying or Very sad

shure_kyu

Newsposter

BeitragDi, Jan 02, 2007 4:47
Antworten mit Zitat
Benutzer-Profile anzeigen
-_- Shocked Shocked Shocked schaffst du es nicht vor dem setbuffer einfach diese kleine zeile code zu setzen ??

Code: [AUSKLAPPEN]
Graphics 400,300,16,2:


bitte mit dem ":" am schluss sonst spuckt er noch fehler aus

_______//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\________
◄Blitz 3D/MAX • PC - 2x 3.16Ghz, 4GB-Ram, ATi HD 4890 1024MB• win7 • site$ Rush2Play ° My-Htc.de
¯¯¯¯¯¯¯\__________________________________________________________________________//¯¯¯¯¯¯¯¯
BBP-RSS FEED Halt dich auf dem laufenden!
(C)Shure_kyu

PowerProgrammer

BeitragDi, Jan 02, 2007 10:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Code ist wirklich nett, macht viel Spaß Very Happy

Aber ich glaube, dass Codearchiv dient als Archiv für Leute die mal schnell einen Code brauchen und vorallem für Noobs, die gerne wissen wollen, wie Programme/-lösungen zu realisieren sind. Dein Code aber kann man nicht als Beispiel nutzen, da er nicht sehr optimal strukturiert ist Wink

Deshalb habe ich mir die Mühe gemacht, den Code etwas zu strukturieren (und die bösen Gotos zu entfernen und durch die "dreckigen Globals" zu ersetzen):
Code: [AUSKLAPPEN]
Graphics 400,300,16,2
SetBuffer BackBuffer()

t=10
z=260



Global x,u#,n#,m#,i#,j#


SetStartVars()


Repeat

   h#=Abs(u-m)
   n=n+i
   Rect u-5,t,t,5
   u=u-((u-m)/(h+(u=m)))*(h>1)*2
   m=m+j
   x=x-2*(KeyDown(203))*(x>15)+2*(KeyDown(205))*(x<385)
   j=j*(1-2*(m<5 Or m>395))
   k=n>z
   c=c+k
   Rect x-t,z,20,5
   i=i*(1-2*(Int(n)<=15 And Abs(u-m)<6))

   Rect 0,0,5,300
   Rect 395,0,5,300

   h=Floor(n)=z And Abs(x-m)<12
   j=j*(1-h)-((x-m)*0.2)*h
   Rect m-2,n-2,4,4
   Text t,5,p+":"+c
   i=i*(1-2.2*h)

   Flip
   Cls

   h=(n<t)
   p=p+h

   If k Or h Then
      SetStartVars()
   EndIf

Forever


Function SetStartVars()
   x=100
   u#=x
   n#=x
   m#=n
   i#=1
   j#=0.2
End Function

Ok, man könnte ihn noch weiter lesbarer machen...
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter!
 

snörkl

BeitragDi, Jan 02, 2007 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab einen punkt gegen mr. gegner gemacht^^ Smile . Man muss nur ganz schräg drauftreffen und dann den ball mit viel speed in eine der ecken spieln Shocked

Smily

BeitragDi, Jan 02, 2007 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
PowerProgrammer hat Folgendes geschrieben:
Der Code ist wirklich nett, macht viel Spaß Very Happy

Aber ich glaube, dass Codearchiv dient als Archiv für Leute die mal schnell einen Code brauchen und vorallem für Noobs, die gerne wissen wollen, wie Programme/-lösungen zu realisieren sind. Dein Code aber kann man nicht als Beispiel nutzen, da er nicht sehr optimal strukturiert ist Wink

Deshalb habe ich mir die Mühe gemacht, den Code etwas zu strukturieren (und die bösen Gotos zu entfernen und durch die "dreckigen Globals" zu ersetzen):

Code: [AUSKLAPPEN]
...


Ok, man könnte ihn noch weiter lesbarer machen...


Goto ist böse - Gosub nicht ^^
Ich hätte den Code etwas anders Strukturiert. Aber jeder hat ja seinen eigenen Stil

Code: [AUSKLAPPEN]
Graphics 400,300,16,2
SetBuffer BackBuffer()

t=10
z=260

gosub setstartvars

Repeat
 h#=Abs(u-m)
 n=n+i
 Rect u-5,t,t,5
 u=u-((u-m)/(h+(u=m)))*(h>1)*2
 m=m+j
 x=x-2*(KeyDown(203))*(x>15)+2*(KeyDown(205))*(x<385)
 j=j*(1-2*(m<5 Or m>395))
 k=n>z
 c=c+k
 Rect x-t,z,20,5
 i=i*(1-2*(Int(n)<=15 And Abs(u-m)<6))
 Rect 0,0,5,300
 Rect 395,0,5,300
 h=Floor(n)=z And Abs(x-m)<12
 j=j*(1-h)-((x-m)*0.2)*h
 Rect m-2,n-2,4,4
 Text t,5,p+":"+c
 i=i*(1-2.2*h)
 Flip
 Cls
 h=(n<t)
 p=p+h
 If k Or h Then
  Gosub setstartvars
 EndIf
Forever

.SetStartVars
 x=100
 u#=x
 n#=x
 m#=n
 i#=1
 j#=0.2
return


Ich nehm nicht so viele Leerzeichen dazwichen ^^
Und wieso verwendet fast jeder hier tabs um den Code einzurücken?
Ich nehm da lieber die Leerzeichen, die verschwenden nicht so viel Platz

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
  • Zuletzt bearbeitet von Smily am Di, Jan 02, 2007 14:25, insgesamt einmal bearbeitet
 

FWeinb

ehemals "ich"

BeitragDi, Jan 02, 2007 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Smily0412
dein code kann nicht gehen du hast erstens oben ein Verweiß auf eine Funktion die nur beendet wird und nicht geöffntet und das mit den Gosub geht auch nicht
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

StepTiger

BeitragDi, Jan 02, 2007 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
LordChaos hat Folgendes geschrieben:
Ich kauf dir nicht ab, dass man ihn besiegen kann, da er immer die gleiche Y-Position wie der Ball hat.


Also die gleiche Y-Position hat er garantiert nicht. Y ist das von oben nach unten. Und die gleiche X hat er auch nicht, sonst hätte ich ihn nicht besiegen können.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

maximilian

BeitragDi, Jan 02, 2007 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Tschuldige, meinte X. Also ich habs bis jetzt noch nicht geschafft...
Variety is the spice of life. One day ignore people, next day annoy them.

Smily

BeitragDi, Jan 02, 2007 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hat Folgendes geschrieben:
Smily0412
dein code kann nicht gehen du hast erstens oben ein Verweiß auf eine Funktion die nur beendet wird und nicht geöffntet und das mit den Gosub geht auch nicht


ups war noch etwas verschlafen. ^^
Habs jetzt Korrigiert.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

MhhF

BeitragDi, Jan 02, 2007 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Gegner ist so aufgebaut das er sich immer zum Ball hinbewegt. Mit der Geschwindigkeit von 2. schleudert man den Ball schräger als mit 2 zur Seite so kommt der Gegner nicht mehr hinterher.
Man kann ihn auch leichter machen indem man in der 3. Zeile z.B. eine Eins vorschreibt:

Code: [AUSKLAPPEN]
u=u-((u-m)/(h+(u=m)))*(h>1)*1:m=m+j:Rect 395,0,5,300


shure_kyu: Sry aber dadurch, dass ich den Code so klein halten wollte wie es nur geht und es sonst kein schöner Block wehre hab ich die Zeile weckgelassen.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group