BPS #18: Klicki Bunti - Auswertung
Übersicht BlitzBasic Beginners-Corner
XeresModeratorBetreff: BPS #18: Klicki Bunti - Auswertung |
Mo, März 26, 2012 11:25 Antworten mit Zitat |
|
---|---|---|
Okaydokay, dann zeigt mal her!
Das war die Aufgabe Postet hier eure Ergebnisse, Codes, Gedanken. Lernt von den anderen, seht euch deren Quelltext an und versucht euren eigenen zu verbessern. Diskussion Postet zu euren Codes stets eine kurze Erklärung mit euren Gedanken in denen ihr simpel gesagt die Frage "Wieso habe ich XY auf diese Art gelöst?" beantwortet. Beiträge, die nur den Code enthalten werden wir aus dem Thread entfernen. Nächste Aufgabe In einer Woche wird die Musterlösung nach editiert und in 2 die nächste Aufgabe eingestellt. Viel Spaß & viel Erfolg! Musterlösung: BlitzBasic: [AUSKLAPPEN] ; BPS: Holzchopf - Klicki bunti |
||
- Zuletzt bearbeitet von Xeres am Di, Apr 10, 2012 19:39, insgesamt 2-mal bearbeitet
ozzi789 |
Mo, März 26, 2012 12:21 Antworten mit Zitat |
|
---|---|---|
Ich habe alles in kleine Funktionen aufgesplittet, sodass der Code leicht verständlich ist.
Beachtet die Kommentare, mit ihnen sollte der Code selbsterklärend sein. Grüsse, ozzi Code: [AUSKLAPPEN] ;ozzi789
;14.3.2012 ;--------- Type quad Field x Field y Field r Field g Field b Field quad_dimension_instance End Type Graphics 800,600,32,2 SetBuffer BackBuffer() timer=CreateTimer(45) Global mx,my,mh,md,quad_dimension=50 Const quad_dimension_half=25 While Not KeyHit(1) Cls get_input() update_quads() render_quads() render_info() WaitTimer timer Flip 0 Wend Function render_quads() ;Jedes Quadrat durchgehen und zeichnen For q.quad=Each quad Color q\r,q\g,q\b ;Die Farbe wird im Type gespeichert Rect q\x,q\y,q\quad_dimension_instance,q\quad_dimension_instance Next End Function Function render_info() Color 255,255,255 Text 0,0,"Linke Maustaste klicken: 1 Quadrat erstellen" Text 0,20,"Rechte Mauste halten: Kontinuierlich Quadrate erstellen" Text 0,40,"Anzahl Quadrate:"+count_quads() End Function Function get_input() ;Eingabegeräte abfragen mx=MouseX() my=MouseY() mh=MouseHit(1) md=MouseDown(2) ;Wurde die Maustaste gedrückt/gehalten , dann erstell uns ein neues Quad If mh=1 Xor md=1 Then create_quad() End Function Function create_quad() q.quad=New quad q\x=mx-quad_dimension_half ; Sodass der Quadmittelpunkt dort liegt wo sich die Maus befindet q\y=my-quad_dimension_half q\quad_dimension_instance=quad_dimension q\r=Rand(20,200) q\g=Rand(20,200) q\b=Rand(20,200) End Function Function count_quads() ;Quad Anzahl ermitteln Local counter=0 For q.quad=Each quad counter=counter+1 Next Return counter End Function Function update_quads() For q.quad=Each quad ;Das Quad verkleinern q\quad_dimension_instance=q\quad_dimension_instance-1 ;Ist die Quadgrösse ungerade If q\quad_dimension_instance Mod 2 ;Das Quad nachrücken (sodass der Effekt entsteht es werde von allen Ecken kleinern, nicht nur von rechts unten) q\x=q\x+1 q\y=q\y+1 EndIf ;Falls die Grösse kleiner als 1 wird können wir es der Performance zuliebe löschen If q\quad_dimension_instance<1 Then Delete q.quad Next End Function |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Dicker Hobbit |
Mo, März 26, 2012 15:23 Antworten mit Zitat |
|
---|---|---|
So hier mal meine erste Teilnahme an der BPS!
Das ist nur das absolute Minimum was benötigt wird, mit Schönheitsidealen habe ich mich nicht beschäftigt (da ich sowiso nicht künstlerisch veranlagt bin lege ich darauf auch keinen großen Wert . ) Ich denke der Code ist ausreichend kommentiert und bedarf keiner weiteren Erklärung. BlitzBasic: [AUSKLAPPEN]
|
||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group