Antwort schreiben  Thema schreiben 
Seiten (2): « Erste [1] 2 Nächste > Letzte »
Verfasser Nachricht
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #1
xPSP  LUA - hilfe beim coden benötigt

hey liebes Forum,
da ich immerwieder probleme beim coden hab und auch hilfe brauche schreibe ich immerwieder hier rein also bitte nicht closen Admins Smile

mein problem ist folgendes:
wenn ich X drücke wird nur beipunch = 1 ausgeführt. beipunch = 2 wird nicht ausgeführt und deshalb meine frage was ist das problem, was muss geändert werden.

Zitat:
math.randomseed(os.time())
beipunch = math.random(1,2)
.
.
.
if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 1 then
HP2 = HP2 + schlag
elseif pad:cross() and beipunch == 1 then
player2 = defend2
else player2 = normal2
end

if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 2 then
Player2[1].x = Player2[1].x + 40
player2 = backward2
end


liebe Grüße SIM sk

Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2012 10:01 von SIM sk.

31.01.2012 10:00
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Byter
Halbprofi
***


Beiträge: 157
Gruppe: User
Registriert seit: Dec 2011

Status: Offline
Danke erhalten: 154
Beitrag: #2
xPSP  RE: LUA - hilfe beim coden benötigt

SIM sk :
hey liebes Forum,
da ich immerwieder probleme beim coden hab und auch hilfe brauche schreibe ich immerwieder hier rein also bitte nicht closen Admins Smile

mein problem ist folgendes:
wenn ich X drücke wird nur beipunch = 1 ausgeführt. beipunch = 2 wird nicht ausgeführt und deshalb meine frage was ist das problem, was muss geändert werden.

[quote]
math.randomseed(os.time())
beipunch = math.random(1,2)
.
.
.
if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 1
end

if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 2

Wie soll der das unterscheiden?

31.01.2012 14:40
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #3
RE: LUA - hilfe beim coden benötigt

du musst deine frage schon deutlicher stellen ich habe ya auch nicht nur geschrieben, dass ich nen problem habe ^^

31.01.2012 16:42
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
fkrone
*meow*
**


Beiträge: 3.421
Gruppe: Super Moderator
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 5342
Beitrag: #4
RE: LUA - hilfe beim coden benötigt

Klar, dass es nicht ausgeführt wird. Ich habe mich nie mit Lua auseinandergesetzt, aber bei end wird das Programm logischerweise beendet. Das Programm läuft so:

Code:
math.randomseed(os.time())
beipunch = math.random(1,2)
if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 1 then
HP2 = HP2 + schlag
elseif pad:cross() and beipunch == 1 then
player2 = defend2
else player2 = normal2
end

Oder anders ... er hat nicht mal die Möglichkeit, zum 2. Teil zu springen, daher wird dieser nicht ausgeführt.

*ok, stimmt nicht ganz, siehe Post darunter. Lua ist eben doch eine Fremdsprache*

Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2012 17:07 von fkrone.

31.01.2012 17:00
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
shaplayer
King
*


Beiträge: 2.821
Gruppe: User
Registriert seit: Sep 2010

Status: Abwesend
Danke erhalten: 2753
Beitrag: #5
xPSP  RE: LUA - hilfe beim coden benötigt

fkrone :
Klar, dass es nicht ausgeführt wird. Ich habe mich nie mit Lua auseinandergesetzt, aber bei end wird das Programm logischerweise beendet. Das Programm läuft so:

Code:
math.randomseed(os.time())
beipunch = math.random(1,2)
if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 1 then
HP2 = HP2 + schlag
elseif pad:cross() and beipunch == 1 then
player2 = defend2
else player2 = normal2
end

Oder anders ... er hat nicht mal die Möglichkeit, zum 2. Teil zu springen, daher wird dieser nicht ausgeführt.


in lua wird da durch nur die iF-Clause beendet, das heißt dannach ladet der einfach weiter ...

31.01.2012 17:04
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
fkrone (Jan-31-2012)
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #6
RE: LUA - hilfe beim coden benötigt

also weiß einer vllt wies sein müsste?

31.01.2012 17:07
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #7
RE: LUA - hilfe beim coden benötigt

push

02.02.2012 22:38
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Sparky
Profi
****


Beiträge: 337
Gruppe: User
Registriert seit: Dec 2010

Status: Offline
Danke erhalten: 73
Beitrag: #8
RE: LUA - hilfe beim coden benötigt

Du setzt beipunch nirgends auf 2, machts jetzt klick?


02.02.2012 22:53
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #9
xPSP  RE: LUA - hilfe beim coden benötigt

Sparky :
Du setzt beipunch nirgends auf 2, machts jetzt klick?


hab ich doch:

Zitat:
if pad:cross() and oldpad:cross() ~= pad:cross() and beipunch == 2 then
Player2[1].x = Player2[1].x + 40
player2 = backward2
end

03.02.2012 07:47
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
dx3m
Manta
*


Beiträge: 490
Gruppe: Developer
Registriert seit: Aug 2010

Status: Abwesend
Danke erhalten: 643
Beitrag: #10
xPSP  RE: LUA - hilfe beim coden benötigt

SIM sk :
hab ich doch

Eben nicht!

Ich hab keine ahnung von LUA.. aber ich sags jetzt mal so.. der fehler liegt in der reinen Logik in math.random..

Code:
beipunch = math.random(1,2)


auf deutsch er erzeugt Zwischen der zahl 1 und 2 ein random.. -> es is immer 1..

Hier ein C code um zu verstehen:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int main(int argc, char *argv[])
{
    srand(time(0));
    
    int rnum, i;
    
    for(i=0;i<0x20;i++)
    {
        rnum = rand() % 2;
        printf("Random Number: %i\n", rnum);
    }
    
    return 0;
}


Der code macht nichts anderes.. Das Resultat ist das hier:

Zitat:
Random Number: 1
Random Number: 1
Random Number: 1
Random Number: 1
Random Number: 0
Random Number: 0
Random Number: 0
Random Number: 1
Random Number: 1
Random Number: 1
Random Number: 0
Random Number: 0
Random Number: 1
Random Number: 0
Random Number: 0
Random Number: 1
Random Number: 1
Random Number: 0
Random Number: 0
Random Number: 1
Random Number: 1
Random Number: 1
Random Number: 1
Random Number: 0
Random Number: 0
Random Number: 0
Random Number: 1
Random Number: 1
Random Number: 1
Random Number: 0
Random Number: 0
Random Number: 1


Mach mal aus der zahl 2 eine 3.. dann wird es höchstwarscheinlich funktionieren..

EDIT:

http://lua-users.org/wiki/MathLibraryTutorial :
  • math.random() generates pseudo-random numbers uniformly distributed. Supplying argument alters its behaviour:
  • math.random() with no arguments generates a real number between 0 and 1.
  • math.random(upper) generates integer numbers between 1 and upper.
  • math.random(lower, upper) generates integer numbers between lower and upper.

> = math.random()
0.0012512588885159
> = math.random()
0.56358531449324

> = math.random(100)
20
> = math.random(100)
81
> = math.random(70,80)
76
> = math.random(70,80)
75

upper and lower must be integer. In other case Lua casts upper into an integer, sometimes giving math.floor(upper) and others math.ceil(upper), with unexpected results (the same for lower).


Ok hatte doch recht ;P

Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2012 20:04 von dx3m.

03.02.2012 13:31
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
SIM sk (Feb-4-2012)
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #11
RE: LUA - hilfe beim coden benötigt

hab aus der 2 eine 3 gemacht ging trotzdem nicht ...?

03.02.2012 23:03
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
dx3m
Manta
*


Beiträge: 490
Gruppe: Developer
Registriert seit: Aug 2010

Status: Abwesend
Danke erhalten: 643
Beitrag: #12
xPSP  RE: LUA - hilfe beim coden benötigt

SIM sk :
hab aus der 2 eine 3 gemacht ging trotzdem nicht ...?


Ja weil du ganze Zahlen ausgeben musst!

Code:
> = math.random()
0.0012512588885159
> = math.random()
0.56358531449324


Sieht man doch das da keine ganzen Zahlen ausgegeben werden..
Und so wirds auch bei dir sein!
>.>

04.02.2012 00:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #13
RE: LUA - hilfe beim coden benötigt

und wie kann ich das ändern?

04.02.2012 08:24
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
duLouser
Halbprofi
***


Beiträge: 138
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 49
Beitrag: #14
xPSP  RE: LUA - hilfe beim coden benötigt

Das Problem ist, dass du von Anfang an einen großen code hast. Am besten baust du dir den code stück für stück zusammen und testest die kleinen neuerungen.
Du solltest zuerst mal gucken welchen wert beipunsch nun wirklich hat. Hab den Code kurz zusammengeschmirt und könnte fehler enthalten

Code:
red=Color.new(255,0.0)
function neu()
beipunsch = math.random()
end
math.randomseed(os.time())
beipunsch = math.random()
while true do
if Controls.read():cross() and oldpad ~= Controls.read() then neu() end
oldpad=pad
screen:clear()
screen:print(0,0,"Beipunsch: " ..beipunsch,red)
screen.flip()
if Controls.read():start() then break end
end


Das Leben ist ein scheiß Spiel, aber die Grafik ist Geil!!!


Blade! 0.7

Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2012 09:17 von duLouser.

04.02.2012 09:05
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
SIM sk (Feb-4-2012)
SIM sk
Experte
****


Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 135
Beitrag: #15
xPSP  RE: LUA - hilfe beim coden benötigt

vielen dank das probiere mal wenn ich zeit habe ^^

EDIT: der code hilft nicht, da ich ya will, dass wenn 1 ist ... geschehen soll und wenn 2 ist ,,, geschehen soll!

Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2012 17:34 von SIM sk.

04.02.2012 15:55
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Seiten (2): « Erste [1] 2 Nächste > Letzte »
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xPSP [LUA] Hilfe bei KI benötigt SIM sk 6 2.186 04.03.2012 16:10
Letzter Beitrag: SIM sk
xPSP Suche nach nem Team / ein paar Personen zum Coden lars96 1 2.121 03.10.2011 09:30
Letzter Beitrag: Jay-Puddy
xPSP Lohnt es sich Lua coden zu lernen? The-Chief-069 24 6.212 27.07.2011 12:52
Letzter Beitrag: secret
xPSP (LUA) Problem beim PSP Quiz pandoraboy 7 2.123 23.07.2011 17:01
Letzter Beitrag: secret
xPSP PSP stürzt ab beim Laden der EBOOT Arktos 4 2.746 29.06.2011 14:05
Letzter Beitrag: Arktos

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang