zufallszahlen + drawimage im moorhuhn clon ??? O_O

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: zufallszahlen + drawimage im moorhuhn clon ??? O_O

BeitragSa, März 13, 2004 10:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Laughing
~ Hey Ho Let's Go ~

Wild-Storm

BeitragSa, März 13, 2004 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
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

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragSa, März 13, 2004 11:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Bop

Betreff: man oh man

BeitragSa, März 13, 2004 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
das is aber kompliziert.....gibt es das net in einfach ? ^^
~ Hey Ho Let's Go ~

Kryan

BeitragSa, März 13, 2004 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
und ich dacht schon meine antwort dazu sei gelöscht worden Smile
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

BladeRunner

Moderator

BeitragSa, März 13, 2004 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Bop

Betreff: hmmmmmm

BeitragSa, März 13, 2004 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
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 ~

BladeRunner

Moderator

BeitragSa, März 13, 2004 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 13, 2004 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

D2006

Administrator

BeitragSa, März 13, 2004 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Bop

Betreff: toll O_o

BeitragSa, März 13, 2004 15:39
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm, ja danke erstmal, aber das war mir alles bekannt, bloß wie kann ich das nun umsetzen?
~ Hey Ho Let's Go ~

Kryan

BeitragSa, März 13, 2004 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Bop

Betreff: danke.....aber...

BeitragSa, März 13, 2004 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 13, 2004 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Blitzkrieg Bop

Betreff: so.....

BeitragSa, März 13, 2004 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Razz Wink
~ Hey Ho Let's Go ~

Hip Teen

BeitragSa, März 13, 2004 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ä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

BeitragSa, März 13, 2004 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe das abgeschrieben, komme aber mit dem teil, wie die "fliegen" lernne noch net klar! HILFE
~ Hey Ho Let's Go ~

BladeRunner

Moderator

BeitragSa, März 13, 2004 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ü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

BeitragSo, März 14, 2004 10:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Bop

Betreff: hm

BeitragSo, März 14, 2004 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Sad
~ Hey Ho Let's Go ~

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group