Forum: Skapa ett spel

Forum huvudsida -> Programmering -> Skapa ett spel

Sidor: 1

Till botten

AmandaLahti 11:21 - 14:e Maj 2008 | Post #1
Medlem
Inlägg: 1


Skicka PM
Hejsan!

Jag behöver hjälp med en programeringsuppgift i skolan!
Jag skriver i Gel och använder mig av Java.

Min uppgift är att skriva ett program som simulerar ett tärningsspel.
Spelet går ut på att en tärning kastas ett valfritt antal gånger men då det blir en 1:a förloras alla poäng som erhållits under den kastomgången.

Målet är att nå den sammanlagda poängen 100 (eller högre) under så få kastomgångar som möjligt. Det går alltså att meddela att kastomgången är slut, varvid den erhållna poängen räddas och en ny kastomgång påbörjas.

När summan 100 är uppnådd ska antalet använda kastomgångar presenteras.

Vore jättetacksam för hjälp med uppgiften eller kommentarer som kan hjälpa mig påvägen!






HärJ 13:41 - 14:e Maj 2008 | Post #2
Moderator
Inlägg: 1198


Skicka PM
Tärningen är bara ett slumpat värde mellan 1 och 6. Om du sedan lägger till tärningens värde till en, variabel som håller ordning på summan av alla omgångar, så är programmet nästan färdigt. Bara att lägga en if-sats innan du lägger till värdet för att kolla om det är en 1:a, för då ska du ju sätta summa = 0.
Lägg allt i en while(summa < 100)-loop och så är saken biff.Smiley
Hoppas det var till nån hjälp.




-------------------------
Tänk om jag vore en skalärprodukt!



Hetzz 12:46 - 15:e Maj 2008 | Post #3
Medlem
Inlägg: 516


Skicka PM
Nu vill jag inte låta elak, det är dock inte alltid uppskattat att be om hjälp med skoluppgifter, om man inte som du gör ber främst om vägledning och liknande. Mer regelräta kodstycken kan folk bli lite bittra om man frågar efter. (gäller som sagt inte bara här)

-------------------------





kode 18:39 - 15:e Maj 2008 | Post #4
Medlem
Inlägg: 45


Skicka PM
Jag kan bidra med lite pseudokod eller nåt. Eller iofs, pseudokoden är rätt så körbar, iom att det är ruby.

  1. #! /usr/bin/ruby
  2.  
  3. class Dice
  4. @sides
  5. def initialize(sides = 6)
  6. @sides = sides
  7. end
  8.  
  9. def throw
  10. rand(@sides)+1
  11. end
  12. end
  13.  
  14. d6 = Dice.new(6)
  15.  
  16. sum = 0
  17. kast = 0
  18. while (true)
  19. puts "Hur många kast vill du göra? (0 avslutar)"
  20. antal = gets.to_i
  21. break if antal == 0
  22. kast += antal
  23. antal.times do
  24. foo = d6.throw
  25. foo == 1 ? sum = 0 : sum += foo
  26. end
  27. puts "Nu har du gjort #{kast} kast, summan är #{sum}."
  28. break if sum >= 100
  29. end


Det brukar alltid underlätta att försöka bena ut exakt vad som menas med uppgiften och hur en körning av detta skulle kunna se ut. Eller nåt i den stilen. I det här fallet blir det ju då något i stil med:

1. Summan är noll, antalet kast är noll.
2. Fråga hur många tärningar som ska kastas.
3. Avsluta om inte några tärningar ska kastas (eller, i det här fallet, börja om?, dvs gå till 1).
4. Addera det inlästa antalet tärningskast till det totala antalet kast.
5. Kasta tärning.
6. Blev det en etta, nollställ summeringen.
7. Annars, addera tärningens resultat till summan.
8. Upprepa steg 3-5 tills det antal tärningar som skulle kastas har kastats.
9. Om summan är 100 eller mer, presentera antalet kast som gjorts.





Sidor: 1

Forum huvudsida -> Programmering -> Skapa ett spel
Atom feed

Du får inte posta i den här tråden | Till toppen