Brauche Tipps für Geschicklichkeitsspiel
Übersicht

![]() |
jonnyboyBetreff: Brauche Tipps für Geschicklichkeitsspiel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute, ich bins mal wieder.
Ich habe ein Problem, das mich ein bisschen aus der Bahn geworfen hat. ich habe in den letzten 7 tagen versucht, Basic zu lernen, und war auch recht zuversichtlich, weil ich schon ein ganzes Spaceshootergame hinbekommen habe. ![]() Doch nun steh ich wieder vor der Sache, das ich garnicht weiß, wie ich etwas machen soll. Ich möchte ein Geschicklichkeitsspiel machen, aber habe keine Ahnung wie ich das bewerkstelligen soll. Es sollen in einem 6x3 großen Feld Klötze angezeigt werden. hauptbestandteil des Spieles ist aber, das die Blöcke nach unten wandern und neue kommen etc. Ich habe mir überlegt, die Klötze als Type-Felder zu gestallten, mit einer x, einer y,variable, einer variable wo der typ des Klotzes drinnesteht und eine, wo drinsteht, ob der Klotz angezeigt wird oder so. Die ganzen Types zu kreieren und sie anzeigen lassen ist mein problem. Im moment fällt mir nichts besseres ein,als jeden Klotzplatz einzeln zu erschaffen, weil ich, wenn ich eine For-Schleigfe nehme, die klöötze nicht so als Koordinaten setzen kann wie ich es haben will. Das hört sich jetzt warscheinlich etwas kompliziert an..^^ naja.. Jedenfalls: auch mit dem DrawImage habe ich probleme, wenn ich nicht für jeden Speicherplatz eine If-Frage schreiben will. Ich denke, ich sollte das mit Dim-Feldern verbinden, aber ich hab leider keine ahnung mehr, wie das geht, weil ich die Tutorials, die ich bisher gefunden habe, leider nie ganz verstanden habe, oder nur schwer oder nur für kurze Zeit... Ich weiß, das ich mein problem hier nicht gut beschrieben habe... Aber ich hoffe, ihr könntet mir irgendwie helfen und etwas nachsichtig sein... Weil ihr mir nach dieser wenig Informativen Nachricht nicht helfen kölnnt, habe ich mal ein paar Bilder meiner Idee gemacht. Es wäre ziemlich nett, wenn ihr mir einen kleinen Pseudocode a la: Code: Speicher die Klötze als types Setze sie in Dims mit befehl soundso zeichne sie mit DrawImage und dann mit Type verknüpfen... geben könntet. Ich weiß, das ist eine große Erwartung, aber vielleicht gibt es ja Leute, die Spaß dabei haben, mit bei der Logik dahinter zu helfen ![]() Hier die Bilder: http://www.file-upload.net/dow...e.zip.html Und meinen bisherigen Code: Code: [AUSKLAPPEN] ;#########################
;Quick Decide Version 1.00 ;######################### Graphics 344, 439, 24, 2 ; Anfangssequenz SetBuffer BackBuffer() ;MEDIEN WERDEN GELADEN Global folie = LoadImage("Daten\folie.png") Global stein1 = LoadImage("Daten\stein1.png") Global stein2 = LoadImage("Daten\stein2.png") Global stein3 = LoadImage("Daten\stein3.png") Global stein4 = LoadImage("Daten\stein4.png") Global stein5 = LoadImage("Daten\stein5.png") ;VARIABLEN WERDEN GENERIERT Dim steinfeld(2, 5) Type stein Field x Field y Field typ Field gemalt End Type SeedRnd MilliSecs() stein05.stein = New stein stein05\x = 25 stein05\y = 95 stein05\typ = Rand(1, 5) stein05\gemalt = 0 stein04.stein = New stein stein04\x = 25 stein04\y = 95 + 48 + 2 stein04\typ = Rand(1, 5) stein04\gemalt = 0 stein03.stein = New stein stein03\x = 25 stein03\y = 95 + 96 + 4 stein03\typ = Rand(1, 5) stein03\gemalt = 0 ;HAUPTSPIELSCHLEIFE Repeat DrawImage folie, 0, 1 Include "Funktionen.bb" Flip Until KeyHit(1) End Code: [AUSKLAPPEN] If stein05\typ = 1 Then DrawImage (stein1, stein05\x, stein05\y) End If If stein05\typ = 2 Then DrawImage (stein2, stein05\x, stein05\y) End If If stein05\typ = 3 Then DrawImage (stein3, stein05\x, stein05\y) End If If stein05\typ = 4 Then DrawImage (stein4, stein05\x, stein05\y) End If If stein05\typ = 5 Then DrawImage (stein5, stein05\x, stein05\y) End If If stein04\typ = 1 Then DrawImage (stein1, stein04\x, stein04\y) End If If stein04\typ = 2 Then DrawImage (stein2, stein04\x, stein04\y) End If If stein04\typ = 3 Then DrawImage (stein3, stein04\x, stein04\y) End If If stein04\typ = 4 Then DrawImage (stein4, stein04\x, stein04\y) End If If stein04\typ = 5 Then DrawImage (stein5, stein04\x, stein04\y) End If If stein03\typ = 1 Then DrawImage (stein1, stein03\x, stein03\y) End If If stein03\typ = 2 Then DrawImage (stein2, stein03\x, stein03\y) End If If stein03\typ = 3 Then DrawImage (stein3, stein03\x, stein03\y) End If If stein03\typ = 4 Then DrawImage (stein4, stein03\x, stein03\y) End If If stein03\typ = 5 Then DrawImage (stein5, stein03\x, stein03\y) End If |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
also du kannst Types und Arrys miteinander vermischen. Code: [AUSKLAPPEN] dim grafik(9) ;erzeugt 10Grafiken oder je nach dem wieviele du brauchst von 0-9 grafik(0)=Loadimage(...) grafik(1)=Loadimage(..) ... type klotz field typ, x, y end type .... for i = 1 to anzahl der x klötze for ii=1 to anzahl der y Klötze k.klotz=ew klotz k\typ=Rand(0,9) ;der typ wird zufällig bestimmt k\x=i*50 k\y=ii*50 next next ;mainschleife repeat for k.klotz = each klotz drawimage (grafik(k\typ), k\x, k\y) next .... forever für das mit dem Sound empfiehlt sich Rob's BB Tutorial ![]() google mal danach |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
PlasmaBetreff: hui |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Repeat
DrawImage folie, 0, 1 Include "Funktionen.bb" Flip Until KeyHit(1) das lass mal |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Plasma hat recht, habe ich ganz übersehen. Lade nie Sachen in einer Mainschleife.. mach das immer davor ! mfg Intel ViiV Quad-Core unmatched |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Include<> laden
Include wird beim kompilieren geladen und reinkompiliert. Darf schon da stehen. |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da muss man etwas mit BB und BMax aufpassen. BB schmeißt einfach alle Includes in eine Datei, und kompiliert das. Das ermöglicht sowas:
Code: [AUSKLAPPEN] function test()
include "func_test.bb" end function BMax hingegen kompiliert einzeln, da geht sowas nicht. |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ohh ok wieder was dazugelernt... THX Viele Grüße Intel Core ViiV Quad-core unmatched |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
jonnyboy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ahja =)
Erstmal vielen Dank an Intel Core Duo, das war genau das, was ich suchte ![]() Das große problem was ich hatte: Bei DraWimage wollte ich dann das Bild variabel haben, also hab immer versucht, es so zu machen: DrawImage ("stein" + i, bla\x, bla\y)...^^ Ich werd es jetzt mal ausprobieren, ich glaube aber,ich habs verstanden... Vielen Dank ![]() ![]() |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Keine Ursache ![]() achja Dim und Arry Viele Grüße Intel ViiV Quad-core Unmatched |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
jonnyboy |
![]() Antworten mit Zitat ![]() |
---|---|---|
=P Ohman, hier wird einem IMMEr auf die onlinehilfe verwiesen.. ![]() Ich gucke da doch schon immer nach, wenn ich mir bei einem Befehl nicht sicher bin ![]() Hab das auch beimeinem Blitz Basic 3D direkt bei Hilfe... Aber Types, Dims und Arrays sind halt etwas schwer zu verstehen mit nur einem Beispiel... Ich wünschte mir, da gäbe es mehr Beispiele und vorallem auch für verschiedene Bereiche... ![]() Eventuell müsste ich euch nochmal fragen, wie man es macht, das der guckt, ob auf einer Reihe 3 gleiche sind, das sind für euch sicher alte Hüte. Aber erstmal will ichs ohnehin alleine probieren, auch um nicht nachher auchnoch des Forums verwiesen zu werden weil ihr praktisch mein Spiel macht ![]() mfg, JONNY |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein eindimensionales Array besteht einfach aus ein paar aneinandergereihten Variablen.
[0][1][2] Das wäre Dim etwas(2) Dann gibts 2 dimensionale Arrays. Das sind wie Tabellen. [0,0][1,0][2,0] [0,1][1,1][2,1] [0,2][1,2][2,2] Dim etwas(2,2) All die Kästchen kannste füllen. z.b. bei Abbildung 1: etwas(0)=1337 etwas(1)=2 etwas(2)=565 Abbildung 2 bsp: etwas(0,0)=1 etwas(0,1)=50 ....usw |
||
![]() |
jonnyboy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm..
Okay, danke. Aber wofür kann man denn noch Arrays brauchen? Also in diesem Beispiel hab ichs glaub ich verstanden, weil man sonst die Grafiken nicht variabel benutzen könnte? Naja.. ich glaub, ich muss mir daas einfach so oft wie möglich anlesen, danke =) Aber ist was verwirrend,das es da jez auchnoch BlitzArrays gibt usw..^^ Najo, grüße JONNY |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group