|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 2500 (0x9c4)
Types: TextFile
Names: »pass.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Craps/pass.c«
#include "types.h"
#include "ext.h"
double bet(x,n,d)
double x;
int n,d;
{
int dollars=(int)x,quarters;
if(n==0 || d==0 || x==(double)0.0) return(0.0);
quarters=(int)((x-(double)dollars)/.25)+((dollars%d)*4);
dollars -= (dollars%d);
return((double)(((dollars/d*n)+(dollars%d))) +
(double)(((quarters/d)*n*.25)+((double)(quarters%d)*.25)));
}
ppassln() /* pay the pass line */
{
double bet(),x;
x=pass+bet(odds[point],op[point][0],op[point][1]);
total=total+x+odds[point];
wins=wins+x;
if(pass!=0.0) {
sprintf(line,"You won %.2f on the Pass Line! ~",x);
announce(line);
}
odds[point]=0.0;
}
cpassln() /* clear the pass line */
{
loss=loss+pass+odds[point];
if(pass!=0.0) announce("Line Away! ~");
pass=0.0;
odds[point]=0.0;
}
pcomeb(on) /* pay the come bar */
{
total=total+comeb;
wins=wins+comeb;
if(comeb!=0.0) announce("You won your Come Bar Bet! ~");
if(on) {
total=total+comeb;
if(comeb!=0.0) announce("Your Come Bet is back. ~");
comeb=0.0;
}
}
ccomeb() /* clear the come bar */
{
loss=loss+comeb;
if(comeb!=0.0) announce("You lost your Come Bar Bet! ~");
comeb=0.0;
}
ccome(off) /* clear the come points */
int off;
{
int i,j=0;
for(i=0;i<11;i++) {
loss=loss+come[i];
if(come[i]!=0.0) j++;
if(off) total=total+odds[i];
else loss=loss+odds[i];
come[i]=odds[i]=0.0;
}
sprintf(line,"Your come %s lost! ~",(j==1) ? "bet":"bets all");
if(j) announce(line);
if(off && j) announce("But you got your odds back! ~");
}
do_come(n,on)
int n,on;
{
double bet(), x;
x=come[n];
if(on) x = x + bet(odds[n],op[n][0],op[n][1]);
if(come[n]!=0.0 && comeb!=0.0) {
if(come[n]==comeb) {
total=total+x;
wins=wins+x;
sprintf(line,"Off and On on the %d for %.2f. ~",n,x);
announce(line);
} else {
total=total+x+come[n]+odds[n];
wins=wins+x;
sprintf(line,"You won %.2f on your Come Bet! ~",x);
announce(line);
announce("You got your come bet");
if(odds[n]!=0.0) announce("/odds");
announce(" back. ~");
come[n]=odds[n]=0.0;
come[n]=comeb;
comeb=0.0;
sprintf(line,"Your come bet got moved to the %d. ~",n);
announce(line);
}
} else if(come[n]!=0.0 && comeb==0.0) {
total=total+x+come[n]+odds[n];
wins=wins+x;
sprintf(line,"You won %.2f on your Come Bet! ~",x);
announce(line);
if(!on) announce("But your odds were off! ~");
come[n]=odds[n]=0.0;
} else if(comeb!=0.0) {
come[n]=comeb;
comeb=0.0;
sprintf(line,"Your come bet got moved to the %d. ~",n);
announce(line);
}
}