Veckorna innan nyår började jag fundera på att bygga en app för att hålla reda på saker och ting i strid. Volt, som More than Human bygger på, är egentligen hyfsat enkelt men om man vill kunna köra med att SL sköter all mekanik dolt så blir det ganska mycket att hålla reda på.
Så; dags att putsa upp de gamla programmeringskunskaperna. Och eftersom jag gärna vill ha förslag och kritik skapar jag såklart en tråd där jag gaggar om saken.
Min tanke är att bygga det här i inkrementella steg. Först och främst vill jag bygga en enkel tärningsrullare för Volt/More than Human, där man fyller i färdighetsvärde, svårighetsgrad(tröskel), huruvida man använder sig av Tur-regeln, och får ett resultat. När den funkar går jag vidare.
Ett voltslag går till såhär:
- Slå 2t20.
- Om någon av dem visar ett värde som är högre än tröskeln men lägre än eller lika med egenskapsvärdet så lyckas man.
- Den lyckade tärningens värde är hur bra man lyckats. Om båda tärningarna lyckades så används det högre värdet.
EXEMPEL: Tröskel 4, egenskapsvärde 12. Tärningarna visar 6 och 19. Resultatet är "6 lyckat".
- Det finns en "tur-regel" som är frivillig. Använder man den så innebär svart 20 alltid att resultatet är misslyckat, och svart 1 innebär att vit kan vara lyckad även om dess värde är högre än egenskapsvärdet.
EXEMPEL: Tröskel 4, egenskapsvärde 12. Svart visar 1, vit visar 19. Resultatet är "19 lyckat".
Hittills har jag byggt ett par javaklasser, som programmeringskunniga (eller bara allmänt nyfikna) gärna får kolla på:
Tärningsklassen:
http://snipt.org/BHid0
Resultatklassen:
http://snipt.org/BHie4
Lite simpel testkod:
http://snipt.org/BHif2
Några anteckningar
- Nä, jag vet att tärningarna håller reda på sin egen färg helt i onödan.
- Tärningar rullar sig själva om man inte säger åt dem annat.
- Resultatet skapar allt det behöver alldeles självt.
- Man kan som synes ange argument när man skapar resultaten på alla möjliga sätt och i olika kombinationer. De man använder mest är level och threshold, möjligen att man säger att man inte vill använda luck-regeln. Sedan KAN man stoppa in värden för black och white också; om man inte vill att programmet ska slumpa (för purister som vill höra plasten rulla) eller vill testa systemet.
- Jag övervägde att bygga en ResultFactory-klass istället, pga att många olika argument kan anges i olika kombinationer, men jag iddes inte.
NÄSTA STEG: Bygga en android-app som använder sig av de här klasserna. Bör kunna vara redo innan slutet av Januari.
Så; dags att putsa upp de gamla programmeringskunskaperna. Och eftersom jag gärna vill ha förslag och kritik skapar jag såklart en tråd där jag gaggar om saken.
Min tanke är att bygga det här i inkrementella steg. Först och främst vill jag bygga en enkel tärningsrullare för Volt/More than Human, där man fyller i färdighetsvärde, svårighetsgrad(tröskel), huruvida man använder sig av Tur-regeln, och får ett resultat. När den funkar går jag vidare.
Ett voltslag går till såhär:
- Slå 2t20.
- Om någon av dem visar ett värde som är högre än tröskeln men lägre än eller lika med egenskapsvärdet så lyckas man.
- Den lyckade tärningens värde är hur bra man lyckats. Om båda tärningarna lyckades så används det högre värdet.
EXEMPEL: Tröskel 4, egenskapsvärde 12. Tärningarna visar 6 och 19. Resultatet är "6 lyckat".
- Det finns en "tur-regel" som är frivillig. Använder man den så innebär svart 20 alltid att resultatet är misslyckat, och svart 1 innebär att vit kan vara lyckad även om dess värde är högre än egenskapsvärdet.
EXEMPEL: Tröskel 4, egenskapsvärde 12. Svart visar 1, vit visar 19. Resultatet är "19 lyckat".
Hittills har jag byggt ett par javaklasser, som programmeringskunniga (eller bara allmänt nyfikna) gärna får kolla på:
Tärningsklassen:
http://snipt.org/BHid0
Resultatklassen:
http://snipt.org/BHie4
Lite simpel testkod:
http://snipt.org/BHif2
Några anteckningar
- Nä, jag vet att tärningarna håller reda på sin egen färg helt i onödan.
- Tärningar rullar sig själva om man inte säger åt dem annat.
- Resultatet skapar allt det behöver alldeles självt.
- Man kan som synes ange argument när man skapar resultaten på alla möjliga sätt och i olika kombinationer. De man använder mest är level och threshold, möjligen att man säger att man inte vill använda luck-regeln. Sedan KAN man stoppa in värden för black och white också; om man inte vill att programmet ska slumpa (för purister som vill höra plasten rulla) eller vill testa systemet.
- Jag övervägde att bygga en ResultFactory-klass istället, pga att många olika argument kan anges i olika kombinationer, men jag iddes inte.
NÄSTA STEG: Bygga en android-app som använder sig av de här klasserna. Bör kunna vara redo innan slutet av Januari.