Nekromanti Program för att rolla OB tärningar.

Spider Jerusalem_UBBT

Swashbuckler
Joined
13 May 2011
Messages
2,245
Location
The City
Då jag har fnulat på en eon karaktärs generator så har jag programmerat OB tärningar.
Nu är det så att jag är ett freak när det kommer till kod och vill göra den finare och finare ad infinitum.

Så utmaningen är att göra en så optimerad OB tärnings rollare som man kan. Alla språk är tillåtna så länge dom går att kompilera på en dator.

Detta är hur jag löste problemet.
<div class="ubbcode-block"><div class="ubbcode-header">Code:</div><div class="ubbcode-body ubbcode-pre" ><pre>#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>

#define DICE 6 //These are the only two
#define ROLLS 3 //variables you need to change.

using namespace std;

int Random(int Max) {
return (rand() % Max)+1;
}

int checkmax(int);

int ob(int times, int orig){
int tot = 0, x = 0;
int origin[times];
for(int n=0;n<times;n++){
x = Random(DICE);
if(orig == 1){
origin[n] = x;
}
x = checkmax(x);
tot = tot +x;
}
if(orig==1){
int a=0,b=0;
for(int i=0; i<times;i++){
if(origin==1)
a++;
else if(origin==6)
b++;
}
if(a>=(times-1) and b==0)
cout << "Perfekt: ";
else if(b>=2 and a ==0)
cout << "Fummel: ";
else
cout << "Orginal roll: ";
for(int i=0;i<times;i++)
if(i!=times-1)
cout << origin << ", ";
else
cout << origin << endl;
}
return tot;
}

int checkmax(int x){
if(x == DICE){
x = ob(2,0);
}
return x;
}


int main()
{
srand(time(NULL));

for(int i = 0; i < 1; i++)
cout << "Total: " << ob(ROLLS,1) << endl;
}
</pre></div></div>
*edit: För att kolla efter perfekt och fummel.

Testade att se hur många rolls den behövde för att rolla över 100, svaret var 129133055 och 384156946. Så sannolikheten att rolla över 100 skada med OB3T6 är rätt liten men finns.

OBT Rollare

*edit: Länk till ett grafiskt program som rollar OB tärningar och säger när man har rullat perfekt eller Fummlat.
 

Spider Jerusalem_UBBT

Swashbuckler
Joined
13 May 2011
Messages
2,245
Location
The City
<div class="ubbcode-block"><div class="ubbcode-header">Code:</div><div class="ubbcode-body ubbcode-pre" ><pre>NUMBEROFDICE: 3 \ THESE ARE THE ONLY VARIABLES... \
DIE: 6 \ ...THAT YOU NEED TO CHANGE. \

function: ob NUMBER:n {
TOTALSUM: 0
loop LOOPING over {1..NUMBER} {
X: 1d+DIE
X: [checkmax X]
TOTALSUM: TOTALSUM + X
}
result: TOTALSUM
}

function: checkmax N:n {
if N = DIE {
result: [ob 2]
}
result: N
}

set "maximum function depth" to 5 \ Change this to a lower number if you get a timeout. \

output [ob NUMBEROFDICE] named "OB[NUMBEROFDICE]T[DIE] "</pre></div></div>
För att göra det lättare att byta tärning.
 

sirfrog

Warrior
Joined
29 May 2011
Messages
230
Location
Elsweyr
Se min signatur.

Dessutom mest troligt det enda program som kan rulla Ob7T5 om du så känner för det.
 

sirfrog

Warrior
Joined
29 May 2011
Messages
230
Location
Elsweyr
WEll, det är iofs inte särsikt svårt, bara ovanligt.

Nåja, ladda ned eller inte, den funkar för Ob och vanliga tärningsslag i alla fall. Och är kodad i Java.
 

Spider Jerusalem_UBBT

Swashbuckler
Joined
13 May 2011
Messages
2,245
Location
The City
Jag har ett starkt hat mot allt som är skrivet i java.
Tittade på ditt program och jag gillar det, men instinktivt så måste jag hata det då jag vet att det är i java.
 

sirfrog

Warrior
Joined
29 May 2011
Messages
230
Location
Elsweyr
Tja, är det att skriva Java eller att använda program skrivna i Java som är bekymret?

Nåväl, fördelen är i varje fall att den kan köras på typ vad som helst. Om någon som kan något om smartphones kunde berätta huruvida den funkar på dessa skulle jag vara evigt tacksam.

För övrigt: Varför hatar ALLA jag träffat Java? Visst, det är skumt och ooptimerat och sånt, men ändå.
 

Spider Jerusalem_UBBT

Swashbuckler
Joined
13 May 2011
Messages
2,245
Location
The City
SirFrog said:
Tja, är det att skriva Java eller att använda program skrivna i Java som är bekymret?

Nåväl, fördelen är i varje fall att den kan köras på typ vad som helst. Om någon som kan något om smartphones kunde berätta huruvida den funkar på dessa skulle jag vara evigt tacksam.

För övrigt: Varför hatar ALLA jag träffat Java? Visst, det är skumt och ooptimerat och sånt, men ändå.
Hatar JAVA program och språket.

Att få in det på an android är lätt på en iphone är inte lätt.

How to shoot yourself in the foot!

JAVA
After importing java.awt.right.foot.* and java.awt.gun.right.hand.*, and writing the classes and methods of those classes needed, you’ve forgotten what the hell you’re doing.

C
You shoot yourself in the foot.

C++
You accidentally create a dozen clones of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can’t tell which are bitwise copies and which are just pointing at others and saying, “That’s me, over there.”

/Spider Jerusalem gillar C <3.
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,183
Location
Rissne
SirFrog said:
Nåväl, fördelen är i varje fall att den kan köras på typ vad som helst. Om någon som kan något om smartphones kunde berätta huruvida den funkar på dessa skulle jag vara evigt tacksam.
Java finns inte på iOS eller Android.

Eller ja, Androidprogram skriver man ofta i en variant av Java, men du skulle behöva skriva om programmet för att det skulle gå att köra i Androidmiljö.

Så det går att köra på vad som helst som inte är en modern mobiltelefon, och där man installerat en bautastor runtime och har RAM att slösa... =)

SirFrog said:
För övrigt: Varför hatar ALLA jag träffat Java? Visst, det är skumt och ooptimerat och sånt, men ändå.
Jag hatar inte Java.
Däremot brukar javaprogram vara slöa och ineffektiva (slösa massor med systemresurser), fungera sisådär i 64-bitarsmiljö, och i allmänhet vara mindre bra än saker skrivna i python c++ eller nåt annat.

Och jag undviker helst att programmera i Java pga den extrema mängden olika tecken som behövs för allting (favoritexemplet här är enkel utskrift till konsoll, fjärran från pythons enkla "print x"-modell). Sedan jag började med Python har jag utvecklat en allergi mot onödiga tecken =) Jag tycker heller inte om strukturen med påtvingad objektorientering. Jag gillar visserligen hård typning, men allt annat stör mig för mycket för att jag riktigt ska orka med det hela.
 
Top