zufallszahlen + drawimage im moorhuhn clon ??? O_O
Übersicht

Blitzkrieg BopBetreff: zufallszahlen + drawimage im moorhuhn clon ??? O_O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Also, ich bin dabei einen kleinen Moorhuhn Clon zu basteln. Ich bin jetzt wohl an dem schwierigsten Punkt angekommen. Es geht um die Gegner. Es ist ja immer unterschiedlich, von welcher Seite die Gegner kommen und wieviele. Und da wollte ich mal fragen, ob mir jemand code geben kann, mit dem das möglich ist. meine gedanke schweiften in die richtung, das man einfach ne zufalszahl macht, und dann irgendwie zufällige y positionen bestimmt, auf den dann meinetwegen Code: [AUSKLAPPEN] drawimage gegner so oft stattfindet, bis die zufallszahl erriecht ist. ich glaube aber, das zerfrisst den speicher und geht einfacher !? also, danke im vorraus und ich bitte um code beispiele wenn es geht mit erläuterung ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
schön dass du nen doppelpost gemacht hast *grml*
edit: guck mal auf robsite.de, da ist son hubschrauber-shooter, da kannst du dir was abguckn |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Guck dir mal Heli Hunter von Rob an ( www.robsite.de/bbkurs2/progs_spiele.htm ) - da ist genau das drin was du brauchst. Allerdings mit Types .. vllt etwas zu kompliziert für den Anfang.
Das ganze geht auch mit Arrays ( http://www.blitzbase.de/befehle2d/dim.htm ) , allerdings musst du dann eine maximale Anzahl an Gegnern festlegen. |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
Blitzkrieg BopBetreff: man oh man |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das is aber kompliziert.....gibt es das net in einfach ? ^^ | ||
~ Hey Ho Let's Go ~ |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
und ich dacht schon meine antwort dazu sei gelöscht worden ![]() |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du mit einfach was meinst à la
Code: [AUSKLAPPEN] create_enemy(viele,Zufällig)
-nein, sowas ist nicht bei Blitz mit dabei. Könntest Du dir aber selbst schreiben. Lies die TuTs und den Quellcode von ähnlichen Spielen- dann wirst Du es schon irgendwann verstehen. Das Programmieren eines Spieles ist nun mal keine Hopplahop-Geschichte. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Blitzkrieg BopBetreff: hmmmmmm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, dne code von helihunte rkapier ich garn et und bei dem anderen code der hier gepostet ist, verstehe ich nichts....kannm ir das nicht jemand kommentieren oder so? | ||
~ Hey Ho Let's Go ~ |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kann dir nur nochmal wärmstens empfehlen Die Tutorials auf der Robsite ( www.robsite.de ) gründlich durchzuarbeiten. Du fragst nach Sachen die schlichterdings das grundlegenste Handwerkszeug zum Programmieren darstellen.
Wenn Du das nicht alleine hinkriegst, wirst du nie ein Game fertigstellen. Also wenn du was machen willst, durchdenken und üben üben üben .... Probier es einfach solang bis es geht. Von mir (und den meisten anderen hier) wirst du keinen fertigen Code erhalten- nur Anregungen wie man etwas lösen kann. Und dein Ansatz, zufällige Startpositionen festzulegen und das Ganze danach über den Screen wandern zu lassen ist ja schon gut. Also lern und mach was draus. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im anderen Thread schrieb Kryan:
Code: [AUSKLAPPEN] SeedRnd MilliSecs() Type gegner Field welcheseite Field x Field y Field groesse End Type Function CreateChicken() obj.gegner=New gegner obj\welcheseite=Rand(1,2) obj\x=Rand((welcheseite-1)*(GraphicsWidth()/2),(welcheseite-1)*(GraphicsWidth()/2)+(GraphicsWidth()/2) obj\y=Rand(1,GraphicsHeight()) obj\groesse=Rand(1,5) Return Handle(obj) End Function Um mir sowas zu ersparen, mach bitte zukünftig nur 1 Thema auf. Danke. |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
die Befehle, die hier entscheidend für dich sind:
Code: [AUSKLAPPEN] zufallszahl = Rand(0,10) ^^ das erzeugt eine ganzzahlige Zufallszahl mit den möglichen werten 0,1,2,...,9,10 Code: [AUSKLAPPEN] zufallszahl# = Rnd(0,10) ^^ das erzeugt eine Fließkommazahl größer gleich 1 und kleiner gleich 10. Bsp: 5.13254 Wenn du solche Zufallsbefehle nutzen willst, solltest du am Anfang deines Programms folgendes stehen haben: (aber nicht in der Schleife!) Code: [AUSKLAPPEN] SeedRnd MilliSecs() das sorgt dafür, das die Zahlen nicht immer gleich sind MfG |
||
Blitzkrieg BopBetreff: toll O_o |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ähm, ja danke erstmal, aber das war mir alles bekannt, bloß wie kann ich das nun umsetzen? | ||
~ Hey Ho Let's Go ~ |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global chickengraphic=LoadImage(WoDieChickenGraphicist...) Const Rechts=2 Const Links=1 Function DrawAllChicken() For obj.gegner=Each gegner DrawImage chickengarphic,obj\x,obj\y Select welcheseite Case Rechts obj\x=obj\x+(5-obj\groesse) Case Links obj\x=obj\x-(5\obj\groesse) End Select Next End Function |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Blitzkrieg BopBetreff: danke.....aber... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
DAnke für den neuen code, nun habe ich shcon so viele sachen, aber das problem isT: ich versteh es immer nocht net........bitte kommentiert doch was was ist! ich kenn mich mit types noch net so gut aus. also, wäre sehr nett, weil sonst bringt der code nix. is genauso als wenn ihr zu nem erstklässer geht und dem nen fremdwort sagt ohne es zu erklären. der wir auch nur bahnhof verstehen |
||
~ Hey Ho Let's Go ~ |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] SeedRnd MilliSecs()
Type gegner ; erstellt einen type namens gegner Field welcheseite ;/das sind die untervariablen des types gegner Field x Field y Field groesse ;bis hier \ End Type ;das versteht sich von selbst: Global chickengraphic=LoadImage(WoDieChickenGraphicist...) ;[edit]hier noch die skalierung: Dim chickengraphics(5) For I=1 To 5 chickengraphics(I)=CreateImage(64,64) SetBuffer ImageBuffer(chickengraphics(I)) ResizeImage chickengraphic,ImageWidth(chickengraphic)/I,ImageHeight(chickengraphic)/I DrawImage chickengraphic,0,0 Next SetBuffer BackBuffer() Const Rechts=2 ;die richtungen... Const Links=1 Function CreateChicken() obj.gegner=New gegner ; erstellt ein obj als gegner (bei uns chicken) obj\welcheseite=Rand(1,2) ;in welche seite es fliegen soll obj\x=Rand((welcheseite-1)*(GraphicsWidth()/2),(welcheseite-1)*(GraphicsWidth()/2)+(GraphicsWidth()/2) ;hier wird die xkoordinate erfunden obj\y=Rand(1,GraphicsHeight()) ; und hier die ykoordinate obj\groesse=Rand(1,5) ;hier legt man fest, in welcher entfernung das chicken fliegen soll, skalierung beim zeichen fehlt Return Handle(obj) ;liefert die nummer des chickens zurück End Function Function DrawAllChicken() For obj.gegner=Each gegner ;eine forschleife, die alle chicken behandelt DrawImage chickengarphics(obj\groesse),obj\x,obj\y ;zeichnet das chicken Select welcheseite Case Rechts obj\x=obj\x+(5-obj\groesse) ; hier fliegt es nach rechts Case Links obj\x=obj\x-(5\obj\groesse) ;hier fliegt es nach links End Select Next End Function Function DeleteChicken(id) obj.gegner=Object.gegner(id) Delete obj End Function Ich hoffe es ist nun verständlicher ![]() |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Blitzkrieg BopBetreff: so..... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi leute! ich machs schnell, hier mein code: bitte ausprobieren und sagen, wie ich es schaffen kann, das die teile von links nach rechts bzw. von rechts nach links über den ganzen bildschirm laufen.
Code: [AUSKLAPPEN] Graphics 1024,768,16,2
SetBuffer = BackBuffer() ClsColor 129,129,129 Cls SeedRnd MilliSecs() Type arschloch ; erstellt einen type namens gegner Field welcheseite ;/das sind die untervariablen des types gegner Field x Field y Field groesse ;bis hier \ End Type ;das versteht sich von selbst: Global gegner =LoadImage("gegner1.png") Const Rechts=2 ;die richtungen... Const Links=1 Repeat ende() gegner() alle_gegner_machen() Flip Forever ; Funktionen Function ende() If KeyDown(1) Then End End Function Function gegner () obj.arschloch=New arschloch ; erstellt ein obj als gegner (bei uns chicken) obj\welcheseite=Rand(1,2) ;in welche seite es fliegen soll obj\x=Rand((welcheseite-1)*(GraphicsWidth()/2),(welcheseite-1)*(GraphicsWidth()/2)+(GraphicsWidth()/2)) ;hier wird die xkoordinate erfunden obj\y=Rand(1,GraphicsHeight()) ; und hier die ykoordinate obj\groesse=Rand(1,5) ;hier legt man fest, in welcher entfernung das chicken fliegen soll, skalierung beim zeichen fehlt Return Handle(obj) ;liefert die nummer des chickens zurück End Function Function alle_gegner_machen() For obj.arschloch=Each arschloch;eine forschleife, die alle chicken behandelt DrawImage gegner,obj\x,obj\y ;zeichnet das chicken Select welcheseite Case Rechts obj\x=obj\x+(5-obj\groesse) ; hier fliegt es nach rechts Case Links obj\x=obj\x-(5+obj\groesse) ;hier fliegt es nach links End Select Next End Function die datei gegner ist ein rechteck, mit den maßen 100*60. nur nochmal zum klarstellen: es soll so sein, das die kästen über den bildschirm kommen, wie in etwa die moorhühner bei moorhuhnjagd. danke schön ![]() ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
ähm, mal ne Frage, ich geh davon aus dass du Programmieren lernen willst, oder? Dann solltest du dir nicht die Programme schreiben lassen sondern selbst machen | ||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich habe das abgeschrieben, komme aber mit dem teil, wie die "fliegen" lernne noch net klar! HILFE | ||
~ Hey Ho Let's Go ~ |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Üben! & üben & üben. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Select welcheseite
Case Rechts obj\x=obj\x+(5-obj\groesse) ; hier fliegt es nach rechts Case Links obj\x=obj\x-(5-obj\groesse) ;hier fliegt es nach links End Select Das hast du vergessen! Einfach in alle_chicken_machen Funktion einbauen: Code: [AUSKLAPPEN] Function alle_gegner_machen()
For obj.gegner=Each gegner ;eine forschleife, die alle chicken behandelt DrawImage chickengarphics(obj\groesse),obj\x,obj\y ;zeichnet das chicken Select welcheseite Case Rechts obj\x=obj\x+(5-obj\groesse) ; hier fliegt es nach rechts Case Links obj\x=obj\x-(5\obj\groesse) ;hier fliegt es nach links End Select Next End Function |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Blitzkrieg BopBetreff: hm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
habs auch mit reingeschrieben, geht aber net.....man, geht das net auch mit einfachen befehlen?
anzahl_gegner = rand(6,11) drawblock gegner,x_gegner,y_gegner * anzahl_gegner oder so ähnlich ![]() |
||
~ Hey Ho Let's Go ~ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group