zufallszahlen + drawimage im moorhuhn clon ??? O_O

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Hip Teen

BeitragSo, März 14, 2004 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
oh mein Gott, das ist doch net dein Ernst sein. Wenn dir das zu schwer ist zieh dir einfach Moorhuhn statt es selber zu proggen
 

Blitzkrieg Bop

Betreff: das muss doch gehen

BeitragSo, März 14, 2004 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
man, dsa muss doch echt ienfacher gehen oder nicht? wer kann mir das sagne? oder wer wäre so nett und würde sich per icq mit mir in verbindung setzten, bis ich das verstanden hab, wie ein code (wie z.B vom kryan) benutzt und erstellt wird?

so viele fragen, naja, danke im vorraus Smile)
~ Hey Ho Let's Go ~

Hip Teen

BeitragSo, März 14, 2004 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
OK, ganz einfach wie du das machst:

Geh auf eine beliebige VHS (Volkshochschule) und lass dir dort lesen bei bringen. Mit diesem gewonnenen Wissen besuchst du die Seite http://robiste.de und ließt alle Tuts die du für das Thema brauchst UND verstehst was dort steht. Mit dem erweiteren Wissen, nennen wir es Wissen Deluxe, öffnest du BB und fängst an zu proggen. Du frägst niemanden wie irgendwas geht und schläfst alternative mal über ein Problem. Wenn du fertig bist mir proggen kriegst du auch einen Keks von mir. Du könntest aber auch dir ein Buch vom Réné zum Thema BB holen, das sollte dir auch weiterhelfen.
 

Blitzkrieg Bop

Betreff: also wirklihc.....

BeitragSo, März 14, 2004 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, also ich weiß nicht ob der pc-master weiß vofür ein forum da ist.
meines wissens nach, damit insbesondere anfänger fragen zu bb stellen können, die dann von besseren proggner beantwortet werden.
nach pc-master ist es wohl richitig anfänger in die schranken zu weisen!?
also, an alle anderen, meine obigen bitten stehen noch.
~ Hey Ho Let's Go ~

Hip Teen

BeitragSo, März 14, 2004 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, also, ich geb dir nur Tipps (und achte mal auf deine Rechtschreibung, tie isst jahr kantz schliem). Lernen wirst du es nie wenn du nur fertige Codestücke bekommst. Lernen kannst du es nur wenn du es SELBER machst. Ich könnte dir son Spiel proggen, aber
1. Hab ich keine Zeit
2. Ist Moorhuhn n scheiss Spiel
3. Bringt es dir nichts
So, und jetzt progg es lieber selber und verzweifle lieber ne halbe Stunde, da lernst du mehr als wenn du ne Stunde im Forum rumhängst

Jolinah

BeitragSo, März 14, 2004 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Es will dich niemand in die Schranken weisen. Und du hast recht, das Forum hilft Anfängern auch. Aber fast niemand wird dir einfach ein komplettes Programm schreiben das du dann nur abschreiben kannst.

Ich denke jeder hier der ein bisschen Programmieren kann hat so angefangen wie es PC-Master erklärt hat, mit Tutorials und Bücher lesen, nur so versteht man mit der Zeit immer mehr. Deine Meinung ist wahrscheinlich das du lernen möchtest fertige Programme zu verstehen. Aber ich sage dir sowas ist viel schwieriger als wenn man wirklich von vorne beginnt. Ich kann auch nicht einfach mir den Half Life 2 Source Code ansehen und dann lern ich wie man so ein Spiel wie Half Life 2 programmiert. Aber wenn ich die Grundlagen kenne und sehr viel übe könnte das funktionieren.

Dein Problem ist eigentlich ganz Simpel zu lösen.

Du machst mehrere Objekte, am besten mit Types. Du sagst du verstehst Types nicht, das ist genau der Punkt. Ich denke niemand will dir Types erklären wenn es Tutorials drüber gibt (und Bücher). Da solltest du versuchen mehr über Types zu erfahren und zu lernen wie man sie bedient. Alternativ kannst du auch ein Array verwenden:

Code: [AUSKLAPPEN]

Dim GegnerX(10)
Dim GegnerY(10)
Dim GegnerRichtung(10)
Dim GegnerGeschwindigkeit(10)
;usw....


In diesem Fall könntest du 11 Gegner erstellen (0 - 10)

Oder du machst für alle einzelne Variablen was aber sehr mühsam und nicht gut erweiterbar ist.

Code: [AUSKLAPPEN]

GegnerX_1 = 0
GegnerY_1 = 0
GegnerRichtung_1 = 1
GegnerGeschwindigkeit_1 = 2

GegnerX_2 = 0
GegnerY_2 = 0
GegnerRichtung_2 = 2
GegnerGeschwindigkeit_2 = 3



Als nächstes musst du nur noch alle Objekte an ihrer X und Y Position zeichnen.

Je nach GegnerRichtung (ob sie von links nach rechts oder umgekehrt fliegen) musst du die Geschwindigkeit der X Position zu rechnen, wenn sie auch in Y sich bewegen sollen können brauchst du noch eine Zweite Geschwindigkeitsvariable und diese rechnest du zur Y Position.


Im fall das du es mit Array machst.
Code: [AUSKLAPPEN]

;Alle Objekte zeichnen und Geschwindigkeit hinzurechnen.

For i = 0 to 10
  DrawImage gegner_bild, GegnerX(i), GegnerY(i)


  ;Wenn es von Links nach rechts fliegen soll
  If GegnerRichtung(i) = 1
    GegnerX(i) = GegnerX(i) + GegnerGeschwindigkeit(i)
  Endif

  ;Wenn es von Rechts nach links fliegen soll
  If GegnerRichtung(i) = 2
    GegnerX(i) = GegnerX(i) - GegnerGeschwindigkeit(i)
  Endif
Next


Dieser Code ist nur ein Beispiel. Als nächstes müsstes du vielleicht prüfen ob der Gegner den Bildschirmrand verlässt. Wenn ja muss er gelöscht werden usw..

Wie gesagt ich kann dir auch nur empfehlen erst die Grundlagen über Variablen, Dims (Arrays) und Types zu lesen und dann erst Tutorials wo bisschen mehr über Spiele usw. steht. robsite.de hat da wirklich gute Tutorials für Anfänger.

PS: Viele denken sie können sich schnell ein Spiel zusammen programmieren und das es so einfach ist. Ist es aber leider nicht, es steckt viel Aufwand und Zeit dahinter programmieren zu lernen. Auch ich mach das schon seit etwa 13 Jährig und bin jetzt 20. Angefangen hab ich mit QBasic. Es gibt ausserdem viele andere Programmiersprachen die wesentlich schwerer zu erlernen sind als BlitzBasic. Daher sollte es nicht sonderlich schwer sein relativ rasch etwas brauchbares zu programmieren damit. Man muss sich halt entscheiden ob man das wirklich lernen will und wenn ja, gibt es keinen anderen Weg als das meiste selber zu lernen. Es bringt einfach nichts komplexen Code anzusehen wenn man nicht mit Arrays oder Types und den anderen Grundlagen wie Funktionen erstellen usw. zurecht kommt.

Ich wollte dich damit nicht irgendwie angreifen, ich würde das selbe auch jedem anderen Anfänger sagen. Eigentlich ist es heute sogar viel einfacher Programmieren zu lernen. Wo ich begann zu lernen hatte ich kein Internet, wo es so viele Hilfen gab. Das meiste musste ich einfach selber lernen durch ausprobieren oder Befehlsbeschreibung von QBasic zu lesen. Da hatte ich nur ein Buch das mir auch nicht wirklich weiter half. Aber ich wollte Programmieren lernen und hab durchgehalten.
 

Blitzkrieg Bop

Betreff: wow!

BeitragSo, März 14, 2004 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
cool! so ne antwort lobe ich mir.
@ pc-master nimm dir an beispiel dran Razz
achja: meine rechtschreibung is halt shclecht, weil ich in hektitk bin im mom (moorhuhn XD)

naja und es is so:
ich kann relativ viel in blitz basic. nur diese scheisse mit den gener will sich mir net einrücken ...scheiss die wand an ist das kagge Very Happy
naja, aber natürlich habe ich auch shcon roibsite etc. durchgeforstet und hab auch noch das alte hack'n'play hier liegn, aber manche dinge kann man doch einfach fragen !? naja, danke. ich werde nun erstmal woanders dran arbeiten (das heißt, bald entsteht ein neure thread Wink ) und danach werde ich mich den moorhühner-clon-gegnern widmen, danke an meinen vorredner für den beispiel code Very Happy
~ Hey Ho Let's Go ~

Jolinah

BeitragSo, März 14, 2004 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Der obere Beispiel Code ist aber wirklich nur Grundlegend.
Mit diesem Code wären immer 11 Objekte auf dem Bildschirm, nie mehr und nie weniger.

Um das zu ändern müsstest du noch eine Variable machen die bestimmt ob das Objekt "Tot" ist. Wenn ja, dann wird es einfach nicht gezeichnet. Oder anders gesagt, es werden nur die gezeichnet die nicht Tot sind.

Code: [AUSKLAPPEN]

Dim GegnerTot(10)
....
..

For i = 0 to 10
  ;Wenn Gegner nicht Tot ist zeichnen
  If GegnerTot(i) = 0
    DrawImage gegner_bild, GegnerX(i), GegnerY(i)
  Endif

  .....
  .....
Next



Dann müssen die Gegner selber erst noch erstellt werden, also Werte zuweisen.

Code: [AUSKLAPPEN]

GegnerX(0) = 20
GegnerY(0) = 50
GegnerTot(0) = 0
GegnerGeschwindigkeit(0) = 2
GegnerRichtung(0) = 1

;usw...


Mit den Sachen solltest du jetzt wirklich selber klar kommen, da das schon der halbe und wichtigste Code ist der das Prinzip zeigt.

WEBLink

BeitragDi, März 16, 2004 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Da es jetzt ja wohl 100% Idiotensicher erklärt wurde, geb ich mal ein Komentar zu Blitzkrieg Bop ab.

Du kannst froh sein das sie dir weiterhin geholfen haben, ich hätte spätestens nach der Aktion mit PC-Master (Huhu *lol*) den Threat beseite geschoben und mir einen anderen angeschaut.
 

dubitat

BeitragMi, März 17, 2004 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
jo denke ich auch! wenn du es trotzdem nicht verstehst mit den types ist es eigentlich nicht so schlimm(nein meinen kopf brauch ich noch ahhhh) ich kann mit types auch nicht umgehen und mit arrays gehts super... jetzt zeige ich dir nochmal ein beispiel von mir wie ich das lösen würde:

Code: [AUSKLAPPEN]

Dim GegnerX(50);für 50 Gegner Variablen erstellen die man einzeln aufrufen kann
Dim GegnerY(50);für 50 Gegner Variablen erstellen die man einzeln aufrufen kann
SeedRnd Millisec()
global noch_zu_zeichnen = 50

For I=1 to noch_zu_zeichnen ;solange die schleife ausführen, bis noch_zu_zeichnen = 0 ist (hoffe das das so richtig ist)
rnd = Rand(1, 1000) ;zufallszahl festlegen, ob das huhn im sichtbaren beriech fliegt oder nicht, da es ja nun so sein soll, das die 50 hühner nicht alle auf einmal kommen sollen!
rnd1 = Rand(1, 1000) ;Y Variable genau wie die X!
If rnd < Graphicswidth() and rnd1 < GraphicsHeight() then ;prüfen, ob das huhn im sichtbaren bereich gezeichnet wird, andernfalls wird das huhn nicht außerhalb gezeichnet!
GegnerX(I) = rnd ;festlegen von GegnerX(I)
GegnerY(I) = rnd1 ;festlegen von GegnerY(I)
noch_zu_zeichnen = noch_zu_zeichnen-1 ;die schleife einmal weniger durchlaufen lassen, da das huhn ja schon gezeichnet wird
drawimage huhn, GegnerX(I), GegnerY(I) ;huhn zeichnen!
endif
next


so wenn du damit jetzt überhaupt nichts anfangen kannst weiß ich aquch nicht ob das foum hier das richtige für dich ist!

du kannst es auch noch ein bischen anders machen indem du das huhn einfach in einen bereich außerhalb des bildschirms zeichnest und dann einfach das huhn in den bildschirm reinfliegen lässt... ich weiß nicht was besser ist!
Erare humanum est - Irren ist Menschlich
 

Blitzkrieg Bop

BeitragMi, März 17, 2004 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
danke leute, aber ich habs shcon hingbekommen

Laughing
~ Hey Ho Let's Go ~
 

Rancis^Ditch

BeitragDo, März 18, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das obere wohl übersehen *g*
Mit freundlichen Grüßen

Rancis
 

dubitat

BeitragFr, März 19, 2004 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
dankeschön! vielleicht könnte man das dann noch dazuschreiben?
Erare humanum est - Irren ist Menschlich

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group