Android programmering, hjälp/riktlinjer?

Permalänk
Medlem

Android programmering, hjälp/riktlinjer?

Tjenare!
Är på mitt 2dra år i gymnasiet och går en kurs i android programmering, jag skulle behöva lite hjälp med ett projekt som jag suttit och filat på ett tag.
Tanken är att det skall bli ett spel, ungefär som android spelet "Jewels"
http://myappworld.com/wp-content/uploads/2011/09/jewels-andro...

Jag har kommit så långt att jag har fått bilderna att random placeras ut över ett fält med 36 imagebuttons, sen även att man kan byta bild, dvs du trycker på en som är grön och den under som är röd och de byter färg. (ska ta mig i kragen och fixa vettigare bilder, men det är inte prio1 i dagsläget)
http://imgur.com/P0QhtcL

Till mitt problem!
1) Tanken är ju att man skall kunna byta bild med de närmsta 4 bilderna, som formen av ett kors "+", men nu kan du byta bild från ett hörn till ett annat... Hur gör man för att begränsa det hela?
2 )Skulle behöva ett poängsystem, då man får 3 i rad så får man ett poäng(som visas nere på den svarta raden) och de tre bilderna får på nytt 3 random bilder. Vet inte om man skulle kunna göra så att det automatiskt tar reda på om det finns 3 stycken av samma bild i rad och utför resten av sig själv, eller om man ska måsta trycka på den bild som är i mitten och sedan på knappen "Action" (då kollar den om det finns en av samma bild så att det bildar 3 i rad). Samtidigt som man får poäng så uppfattar den hur många "drag" du gör och räknar dem. Vet inte riktigt vad som blir smidigast/lättast att programmera och hur jag skall gå till väga.
3 ) Sen så skall man ju inte heller få spela hur länge som helst! Det vore ju för enkelt att farma poäng på!
Om man skulle sätta ett antal drag/steg man får göra, eller antal drag man gör under en viss tid som räknar ned. Ta sedan drag / poäng och få slutpoäng.

Vet inte om jag kanske ber om för mycket här, men jag uppskattar i alla fall all hjälp som ges!
Länkar som kan vara till hjälp uppskattas självklart, guider, information eller dylikt!

Jag lägger upp mitt projekt här så att man kan titta på koden(vet att projekt namnet är lite miss-ledande, hade först tänkt göra ett snake spel^^)
http://www.2shared.com/file/wUzsFCwh/SpelSnake.html
http://fuskbugg.se/dl/ffmkkS/SpelSnake.rar

Tackar ödmjukast om ni tar er tid att hjälpa till!
Mvh // Grante

Permalänk
Medlem
Skrivet av Grante:

Tjenare!
Är på mitt 2dra år i gymnasiet och går en kurs i android programmering, jag skulle behöva lite hjälp med ett projekt som jag suttit och filat på ett tag.
Tanken är att det skall bli ett spel, ungefär som android spelet "Jewels"
http://myappworld.com/wp-content/uploads/2011/09/jewels-andro...

Jag har kommit så långt att jag har fått bilderna att random placeras ut över ett fält med 36 imagebuttons, sen även att man kan byta bild, dvs du trycker på en som är grön och den under som är röd och de byter färg. (ska ta mig i kragen och fixa vettigare bilder, men det är inte prio1 i dagsläget)
http://imgur.com/P0QhtcL

Till mitt problem!
1) Tanken är ju att man skall kunna byta bild med de närmsta 4 bilderna, som formen av ett kors "+", men nu kan du byta bild från ett hörn till ett annat... Hur gör man för att begränsa det hela?
2 )Skulle behöva ett poängsystem, då man får 3 i rad så får man ett poäng(som visas nere på den svarta raden) och de tre bilderna får på nytt 3 random bilder. Vet inte om man skulle kunna göra så att det automatiskt tar reda på om det finns 3 stycken av samma bild i rad och utför resten av sig själv, eller om man ska måsta trycka på den bild som är i mitten och sedan på knappen "Action" (då kollar den om det finns en av samma bild så att det bildar 3 i rad). Samtidigt som man får poäng så uppfattar den hur många "drag" du gör och räknar dem. Vet inte riktigt vad som blir smidigast/lättast att programmera och hur jag skall gå till väga.
3 ) Sen så skall man ju inte heller få spela hur länge som helst! Det vore ju för enkelt att farma poäng på!
Om man skulle sätta ett antal drag/steg man får göra, eller antal drag man gör under en viss tid som räknar ned. Ta sedan drag / poäng och få slutpoäng.

Vet inte om jag kanske ber om för mycket här, men jag uppskattar i alla fall all hjälp som ges!
Länkar som kan vara till hjälp uppskattas självklart, guider, information eller dylikt!

Jag lägger upp mitt projekt här så att man kan titta på koden(vet att projekt namnet är lite miss-ledande, hade först tänkt göra ett snake spel^^)
http://www.2shared.com/file/wUzsFCwh/SpelSnake.html
http://fuskbugg.se/dl/ffmkkS/SpelSnake.rar

Tackar ödmjukast om ni tar er tid att hjälpa till!
Mvh // Grante

  1. Du får skapa metoder boolean isAdjacentTo(Jewel other)/Jewel[] getAdjacent() som testar om en bit ligger bredvid en annan/returnerar alla bitar som ligger i närheten av en bit. Om isAdjacentTo() returnerar true kan du göra bytet.

  2. Om du löser problemet med att hitta och ta bort rätt antal bilder löser sig första problemet. För att räkna streak, dvs hur många borttagningar man har gjort utan avbrott, kan du skicka med en ökande multiplikator till poängsystemet: första gången är multiplikatorn 1, andra gången 2, tredje gången 3 osv. Poängen för borttagningen multipliceras med multiplikatorn innan den läggs till i poänglistan. Vid ett drag som inte leder till borttagning ställs multiplikatorn till 1 igen.

  3. Skapa en räknare som minskar med 1 för varje drag som görs som inte leder till en borttagning.

Detta är bara förslag på hur man kan göra; du kanske har tänkt dig spelet helt annorlunda. I vilket fall så finns det ingen magisk funktion som listar ut vad du vill ha och löser problemet åt dig. Hade det funnits hade programmerare inte behövts.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:
  1. Du får skapa metoder boolean isAdjacentTo(Jewel other)/Jewel[] getAdjacent() som testar om en bit ligger bredvid en annan/returnerar alla bitar som ligger i närheten av en bit. Om isAdjacentTo() returnerar true kan du göra bytet.

  2. Om du löser problemet med att hitta och ta bort rätt antal bilder löser sig första problemet. För att räkna streak, dvs hur många borttagningar man har gjort utan avbrott, kan du skicka med en ökande multiplikator till poängsystemet: första gången är multiplikatorn 1, andra gången 2, tredje gången 3 osv. Poängen för borttagningen multipliceras med multiplikatorn innan den läggs till i poänglistan. Vid ett drag som inte leder till borttagning ställs multiplikatorn till 1 igen.

  3. Skapa en räknare som minskar med 1 för varje drag som görs som inte leder till en borttagning.

Detta är bara förslag på hur man kan göra; du kanske har tänkt dig spelet helt annorlunda. I vilket fall så finns det ingen magisk funktion som listar ut vad du vill ha och löser problemet åt dig. Hade det funnits hade programmerare inte behövts.

Okey, tack! Du råkar inte ha någon bra länk där jag skulle kunna läsa lite mer om hur jag skapar metoder och hanterar booleans på det sätt du tänkt att jag ska göra?

Permalänk
Medlem
Skrivet av Grante:

Okey, tack! Du råkar inte ha någon bra länk där jag skulle kunna läsa lite mer om hur jag skapar metoder och hanterar booleans på det sätt du tänkt att jag ska göra?

Det är basic Java-programmering. Behöver du hjälp finns det en mängd guider på nätet; många på Sweclockers brukar rekommendera The New Boston. Har kollat på ett par klipp och är inte jätteimponerad men de fungerar säkert bra till en början: http://thenewboston.org/list.php?cat=31

De är på engelska, vilket kanske är ett problem.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Borde inte problemet med diagonala byten lösas med XOR?

Lite pseudokod

if isAdjacentX(object1,object2) XOR isAdjacentY(object1, object2)
{ make the switch }
else
{ error }