Spiele proggen ohne große Mathematik Kentnisse?
-
Ich find', speziell für dieses Thema ist "Jetzt lerne ich - Spieleprogrammierung mit DirectX und Visual C++" von Christian Rousselle, Markt&Technik-Verlag ganz sinnvoll. Es gibt imho davon jetzt auch ne neue Auflage mit DX9, aber die kenne ich nicht sehr gut. Es bietet halt einen Rahmen für eine mögliche Herangehensweise, in meiner Version des Buche (mit DX8) wurde dann am Ende ein Weltraumspiel à là "Raptor" (falls das noch jemand kennt) geproggt. Der erste Teil des Buches is dabei ne Einführung in c++, also man muss nicht programmieren können, ergo auch was für totale Anfänger. Es bleibt aber leider sehr viel auf der Strecke (natürlich logisch, bei nur ~450 Seiten), aber man fühlt sich dann halt nicht von der Menge des Stoffes erschlagen. Am besten find ich allerdings "Tricks of the W-G-G" von LaMothe, gibts aber IMHO nur auf english (oder ???). ...
Gruß
E-the-Real
-
Dieser Beitrag wurde gelöscht!
-
Wer Sinus nicht versteht, sollte sich Sorgen machen, das er nicht das Denkvermögen besitzt um ein guter Programmierer zu werden.
Bye, TGGC
-
eXpEdItIoN-gEfOrCe!!, gibs zu, du hast dich noch nicht wirklich drangesetzt und dir Mühe gemacht das zu verstehen.
-
schrieb:
eXpEdItIoN-gEfOrCe!!, gibs zu, du hast dich noch nicht wirklich drangesetzt und dir Mühe gemacht das zu verstehen.
eXpEdItIoN-gEfOrCe du wirst nun sicher behaupten, dass dies nicht stimmt und
du dich schon oft damit versucht hast auseinanderzusetzen, nun wenn dem so ist,
dann beweis und doch, dass du dich damit bereits beschäftigt hast, du hast für
den Beweis so viel Zeit wie du willst.So als kleiner ansporn
-
SirLant schrieb:
schrieb:
eXpEdItIoN-gEfOrCe!!, gibs zu, du hast dich noch nicht wirklich drangesetzt und dir Mühe gemacht das zu verstehen.
eXpEdItIoN-gEfOrCe du wirst nun sicher behaupten, dass dies nicht stimmt und
du dich schon oft damit versucht hast auseinanderzusetzen, nun wenn dem so ist,
dann beweis und doch, dass du dich damit bereits beschäftigt hast, du hast für
den Beweis so viel Zeit wie du willst.So als kleiner ansporn
ich hab 2 mathe tutorials durchgekaut, die sich mit sinus beschäftigen die hab ich nicht verstanden und mehr hab ich nicht gefunden!
echt komisch wie ihr reagiert
-
oh, das ist aber echt nicht viel. vielleicht solltest du mit einem thema "darunter" anfangen.
-
promise schrieb:
oh, das ist aber echt nicht viel. vielleicht solltest du mit einem thema "darunter" anfangen.
eXpEdItIoN-gEfOrCe schrieb:
und mehr hab ich nicht gefunden!
-
TGGC schrieb:
Wer Sinus nicht versteht, sollte sich Sorgen machen, das er nicht das Denkvermögen besitzt um ein guter Programmierer zu werden.
Bye, TGGC
anscheinend hälst dich für extra schlau, versuch ma dein haus zu verlassen und bekanntschaften zu finden dass du weist wie man mit anderen menschen redet
-
dann leih oder kauf dir ein buch. mit den tutorials aus dem internet kann man das sowieso nicht so gut lernen
-
promise schrieb:
dann leih oder kauf dir ein buch. mit den tutorials aus dem internet kann man das sowieso nicht so gut lernen
naja ich schau mich halt ma um
-
Also da muss ich auch noch einen draufsetzen. Du willst mir doch nicht ernsthaft erzählen wollen, dass du bei Google nur ganze 2 Artikel über Trigonometrie gefunden hast...
Google SucheAlso wenn du schon nicht fähig bist mit einer Suchmaschine umzugehen, dann würde ich das Programmieren lieber ganz schnell sein lassen.
cya
liquid
-
er wußte bestimmt nicht das Sinus zum Thema Trigonometrie gehört
-
LiquidAcid schrieb:
Also wenn du schon nicht fähig bist mit einer Suchmaschine umzugehen, dann würde ich das Programmieren lieber ganz schnell sein lassen.
genau ich wusste nicht das sinus zu trigronometie gehört!
tja euch wurde der verdammte ... halt gelernt, ich habe KEIN MATHE MEHR! dann KANN ICH ES AUCH NICHT WISSEN!
ich muss mir das halt alles selbst beibringen, tja und ich hab auch noch zeit des zu lernen! Ich lass mir bestimmt nicht von ein paar Möchtegern Einsteinen das Programmieren ausreden!
edit: hier im forum gibt es genug nette menschen leider gibt es immer ein paar ausnahmen!
-
Du kannst auch ein Spiel ohne Sinus programmieren. Wenn Du eine Library benutzt, die alles schön wegkapselt, brauchst Du nicht viel Mathe. Oder versuch Dich an einem Text-Adventure...
Edit: Habe die Smileys vergessen!
und noch ein
-
hey gerner, mach mal halblang
:p
-
eXpEdItIoN-gEfOrCe!! schrieb:
genau ich wusste nicht das sinus zu trigronometie gehört!
Dann hast du dich nicht genügend informiert. Wenn einem ein mathematischer Begriff nicht vertraut ist versucht man als erstes den Teilbereich der Mathematik herauszufinden, aus dem dieser Begriff entspringt. Hast du das getan? Nein? Dann beschwer dich nicht.
eXpEdItIoN-gEfOrCe!! schrieb:
tja euch wurde der verdammte ... halt gelernt, ich habe KEIN MATHE MEHR! dann KANN ICH ES AUCH NICHT WISSEN!
ICH HAB AUCH KEIN MATHE MEHR!!! ICH BIN ZIVILDIENSTLEISTENDER IN EINER KINDERTAGESSTÄTTE UND DA KÖNNEN DIE KLEINEN NICHT MAL MULTIPLIZIEREN!! (damit das mal klar ist)
eXpEdItIoN-gEfOrCe!! schrieb:
ich muss mir das halt alles selbst beibringen, tja und ich hab auch noch zeit des zu lernen!
Sollen wir jetzt klatschen, dass du dir das allein beibringst und dabei noch deine ach so kostbare Zeit opferst?!
eXpEdItIoN-gEfOrCe!! schrieb:
Ich lass mir bestimmt nicht von ein paar Möchtegern Einsteinen das Programmieren ausreden!
Einstein würde ich eher zur Physik zuordnen, hier gehts allerdings um Mathematik.
eXpEdItIoN-gEfOrCe!! schrieb:
edit: hier im forum gibt es genug nette menschen leider gibt es immer ein paar ausnahmen!
Es gibt auch die Sorte Menschen hier im Forum, die einfach zu faul sind mal ihren Hintern zu heben, in die örtliche/nahegelegene Bücherei zu gehen und sich dort ein passendes Buch auszuleihen. Gott, selbst in der Schule kommt man bestimmt günstig oder zum Nulltarif an ausgediente Schulbücher, die einem den Stoff auf einfachere Art vermitteln. Und ich glaube mit einem dieser Sorte Mensch rede ich hier gerade.
cya
liquid
-
Sinus und co verstehe ich leider daher auch nicht, und nach gescheiten tutorials suche ich schon ewig - leider vergebens
Bei 2D kenne ich 2 Formeln die wichtig sind.
Die eine bestimmt die Entfernung zwischen 2 Punkten und ist eine Ableitung vom allgemein bekanntem a²=b²+c²
a²=b²+c² <=>a=√(b²+c²) <=>d=√((x1-x2)²+(y1-y2)²)
Mit x1-x2 berechnet man die Entfernung auf der X- Achse. Wegen des ² spielt das Zeichen des Zwischenergebnisses keine Rolle. Und das Ganze noch mal in Form von C++ Funktion:
inline double point_distance(double x1,double y1,double x2,double y2) { return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); }
Sinus (sin) und Kossinus (cos) werden im Zusammenhang mit Kreisen verwendet. Wobei sin den Y Wert in Bild ermittelt und cos den X Wert. Als Argument nehmen sie irgendeine Winkelangabe (ist leider nicht genormt und hängt stark von der Programmiersprache ab). Im Fall C++ sind das Radian aber hier eine Formel um sie in gute alte 360 Grad zu verwandeln wo 0 Grad Rechts ist, 90 Oben, 180 Links und 270 Unten.
inline double gradzurad(double a) { return (((90-a)/180)*3.141592654); }
cos und sin geben jeweils die X und Y Koordinaten für einen Kreis mit Radius 1 aus. Das heißt:
cos(gradzurad(0))=1;//X wert für Links
sin(gradzurad(0))=0;//Y wert für Links
cos(gradzurad(90))=0;//X wert für Oben
sin(gradzurad(90))=1;//Y wert für Oben
cos(gradzurad(180))=-1;//X wert für Rechts
sin(gradzurad(180))=0;//Y wert für Rechts
cos(gradzurad(270))=0;//X wert für Unten
sin(gradzurad(270))=-1;//Y wert für Unten
Alle Graden dazwischen geben immer sehr krumme Zahlen jedoch sind es die Punkten eines Kreises. Falls du nicht verstehst sieh dir dieses Beispiel mal an:for(int i=0;i<360;i++) draw_pixel(cos(gradzurad(i)),sin(gradzurad(i)));
Der Code oben zeichnet einen Kreis und dies würde einen Halbkreis zeichnen:
for(int i=0;i<180;i++) draw_pixel(cos(gradzurad(i)),sin(gradzurad(i)));
(Wobei es draw_pixel(x,y) gar nicht gibt, sollte jedoch klar sein was gemeint ist.)
Allerdings ist der Kreis sehr klein weil er einen Radius von 1 hat. Um dies zu ändern multipliziert man einfach cos und sin mit dem gewünschtem Radius. Jedoch wird der Kreis auch um den Punkt (0,0) gezeichnet um dies zu ändern addieren wir einfach das gewünschte Zentrum zu den Endergebnissen von cos * Radius und sin * Radius.
Zu Beispiel dies zeichnet einen Kreis um den Punkt (5,9) mit einem Radius von 4:for(int i=0;i<360;i++) draw_pixel(cos(gradzurad(i))*4+5,sin(gradzurad(i))*4+9);
So ich hoffe du verstehst jetzt wozu cos und sin geraucht werden.
Ach ja falls du 2D Spiele auf die einfache Weise machen willst wird dich das vielleicht interessieren:
[url]http:\\www.gamemaker.nl[/url]
Ist sehr einfach zu gebrauchen kann aber für so gut wie alle Arten von 2D Spielen verwendet werden.mit den tutorials aus dem Internet kann man das sowieso nicht so gut lernen
Alles was ich über das Programmiren weis (und das ist nicht gerade wenig) hab ich über das Internet und durch Versuch und Irrtum gelernt. Und das Einzige was schwer daran ist sind Leute die andere kritisieren weil man sie um Hilfe fragt oder mit immer passenden denkschwachen Antworten kommen wie "Such auf Google".
-
@drVoodoo
wow danke für den crashkurs
ich druck mir des ma an und schau mir des ma genauer an!@anderen
ich keinen bock mich hier runzustreiten, is mir einfach zu primitiv, schlau ist es halt ma nachzugeben! Die rumstreitereien helfen auch niemanden!
-
drVoodoo schrieb:
Sinus (sin) und Kossinus (cos) werden im Zusammenhang mit Kreisen verwendet. Wobei sin den Y Wert in Bild ermittelt und cos den X Wert.
Niemand würde mit Sin und Cos einen 2D-Kreis zeichnen, dafür gibt es einen viel schnelleren Algorithmus. Den Hauptzweck von Sin und Cos hast Du garnicht erwähnt. Sin und Cos werden nämlich hauptsächlich im Zusammenhang mit Dreiecken und Seitenlängen verwendet, und sie sind ja auch durch ein Dreieck definiert (Verhältnisse von Seitenlängen)!