Inlägg

Inlägg som jurgen89 har skrivit i forumet
Av jurgen89

Kan nämna multisim också.
Det jag använder. Personligen tycker jag det är enklare än pspice (det enda av dom nämnda som jag testat).

Av jurgen89
Skrivet av Waloth:

Jag har testat att göra EXAKT som den killen gör i den videon (och den innan för att vara säker). Det fungerar inte. Jag får felmeddelanden på mina a,b,c som säger "Synthax error, instert ";" to complete BlockStatements. Kan du förklara vad jag gör för fel?

Du har missat ett ';' i slutet på någon/några rad(er).

Skrivet av mattoys:

vad händer om bilden är borta?
felhantering mm

Som det här projektet ser ut skulle jag säga att hoppa all felhantering

Av jurgen89
Skrivet av radera:

Att linjen utgår från övre vänstra hörnet är jag med på och att det är (0,0). Att x,y varierar för varje linje är jag inte riktigt med på? x borde väl vara samma eftersom alla linjer utgår från samma hörn/punkt? Därefter borde väl y ändras? OM vi nu tänker på "solstråle" mönstret vill säga.

Sen förstår jag inte for loopen? Hur visar for loopen att det ska ritas linjer från samma hörn och med samma avstånd mellan och lika långa? Svårt att förklara med...

Den andra punkten (x,y) är slutpunkten för linjen.
Rita ett koordinatsystem på papper med omvänd y-axel (alltså att högre y-värden kommer längre nedåt). Dra därefter några linjer så som "solstråle"-mönstret ser ut så ser man ganska tydligt att både x- och y-värdena ändras, x-värdena minskar och y-värdena ökar för varje linje om första linjen är den längst upp.

Loopen ökar y-värdet för varje linje för att förflytta slutpunkten längre nedåt.
x-värdet ökas för att förflytta slutpunkten mot högra delen av panelen.
Ökar man inte x-värdet får du linjer som alltid går till högre delen av panelen men slutar längre och längre ned.

Av jurgen89
Skrivet av radera:

Okej, då ska jag väl också kunna få det och fungera. Men det värsta är när man bara kopierar in såhär, om man är nybörjare som jag, så förstår man inte riktigt vad man gör. Skulle någon vilja förklara vad som sker just i loopen? Det är som sagt denna jag har svårt att förstå...

menar du det här?

for (int x=width, y=0;x>0;x -=delta, y +=delta) g.drawline(0,0,x,y)

drawLine fungerar såhär: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Gra...

första punkten som linjen utgår från är alltid övre vänstra hörnet, alltså (0,0).
Andra punkten varierar för varje linje, (x,y).
Det loopen gör är att den ändrar värdena på x och y för varje linje som ritas.
Sen slutar den när x-värdet blir negativt.

Av jurgen89
Skrivet av radera:

Får inte detta till att fungera, hur menar du att hela koden ska se ut?

Testade nu och det fungerar.
Tog all kod från din länk och la in loopen bara.

Av jurgen89
Skrivet av radera:

Okej, tyvärr blev jag inte klokare för det, inte mer än att jag kanske bör använda en for-loop Kanske ska förtydliga lite med vilka mönster jag vill skapa: http://javaclass.billkrieger.com/classes/week2/hints4.1.shtml

Det är i första hand det mönstret där linjerna strålar ut som solstrålar jag tänker på. Hur gör jag själva loopen och beräkningen? Det är där jag kört fast.

Det förklaras ju rätt bra i länken du postade hur man kan göra.

int linesToDraw = 15; int width = getWidth(); // total width int height = getHeight(); // total height int xDelta = width / linesToDraw; int yDelta = height / linesToDraw; // Put in a loop to draw draw lines from the // upper left corner to the end points as // follows: // x = width, y = 0 // x = width - delta, y = delta // x = width - 2 * delta, y = 2 * deltav // ... // x = (width - (n - 1) * delta), y = (n - 1) * delta

lite översatt, otestat, inte säker hur man skriver 2 variabler i for-loopar men om det inte går så är det bara flytta ut y tex:

for (int x=width, y=0;x>0;x -=delta, y +=delta) g.drawline(0,0,x,y)

Av jurgen89

Måste du namnge dom något speciellt? Om du dynamiskt vill skapa nya arraylists så fungerar det ju utmärkt att göra som du skrev:
ArrayList<String> strängar[0] = new ArrayList<String>();
Den nya arraylistan får ju "namnet" strängar[0]

Av jurgen89

Fungerar nu, inte hårdtestat än dock. Tack för hjälpen!

Av jurgen89

Sparar redan undan tiden utanför metoden. Därifrån jag räknar ut tidskillnaden som jag sedan skickar vidare in.
Det går inte att bestämma hur ofta metoden kallas.

Att veta total tid borde inte hjälpa heller, då det egentligen inte är en variabel som ska räknas upp i 100hz utan en viss metod. Så vet inte hur många gånger den körts.

Av jurgen89

Tidsberäkning

Hej. Har hakat upp mig på ett mindre problem.

Problemet:
En funktion, kallar den update, ska räkna upp en variabel 100 gånger per sekund. Hur ofta update kallas varierar.
Ex:
update körs i 50hz -> variabeln räknas upp dubbelt varje gång.
update körs i 200hz -> variabeln räknas upp varannan gång.
osv...

Tiden mellan anropen till update finns som argument till funktionen (delta).

När funktionen körs för långsamt har jag (tror jag) fixat.
Nuvarande lösning:

diff += 100 - 1/delta while (diff>=100){ //slow variabeln++ diff-=100 } if (diff > -100) //standard variabeln++ else //to fast diff+=100 <-------FEL!

Står helt still nu tyvärr. Kanske är dumt tillväga gångs sätt från början?

Av jurgen89

inte multiplikation utan upphöjt till, dvs radie * radie (om andra argumentet till pow är 2)

Av jurgen89

Math.PI använder du dig ju redan av.

pow fungerar enligt:
c = pow(a,b) ger c = a^b
så tex kan du byta ut Math.PI * radie * radie till Math.PI * Math.pow(radie,2)

Hoppas det hjälper

Av jurgen89

Har tyvärr inte bra koll på vilka alternativ som finns.
Dock känns c assembler som nåt du kan kolla upp, borde bara vara att googla på det för tutorials.
Aldrig skrivit något med det själv kan jag tillägga.

Av jurgen89

Ser fint ut
Några tankar dock (kan möjligtvis ha fel):
funktionen ska enligt er returnera en int. Varför returnera en funktion istället?
Varför använda return öht?

Av jurgen89

jag skulle gissa n representerar längden på arrayen (inte startpositionen)

Var längesen jag skrev något rekursivt men testa
1. skriv ut talet på position n i a
2. kalla på print med n-1 som längd argument
3. avsluta om n<0 (givetvis)

Av jurgen89

Kan säga först att jag tycker det är lite elakt mot spelaren att skriva ut vinden och sedan ge den ett nytt värde innan uträkningarna sker.

Ang. problemet:
Antar att du menar att avstånd till apan och hur mycket man missar ska sparas för varje kast.

Avståndet till apan har du ju i monkey.
Hur mycket man missar med ges av abs(distance-monkey)

Spara undan dessa för varje loop i två arrayer/vektorer.
Skriv sedan en loop som kör igenom arrayerna och skriver ut värdena.

Hoppas det hjälper. Kan förklara noggrannare om du vill.