示例#1
0
AMETHOD(New, TYP, Std$Address$T, TYP, Std$Integer$SmallT) {
//@address
//@length
//:T
// Returns a new reader starting at <code>address</code> with length <code>length</code>.
	reader_t *Reader = new(reader_t);
	Reader->Type = T;
	Reader->Address = Std$Address$get_value(Args[0].Val);
	Reader->Length = Std$Integer$get_small(Args[1].Val);
	Result->Val = (Std$Object$t *)Reader;
	return SUCCESS;
}
示例#2
0
文件: Calculus.c 项目: wrapl/wrapl
#include <Std.h>

GLOBAL_FUNCTION(Minimize, 2) {
	size_t NumParams = Std$Integer$get_small(Args[0].Val);
	Std$Object_t *Function = Args[1].Val;
	
	return SUCCESS;
};
示例#3
0
/* play one numbers round */
void numbers_round(void) {
  int num_large;
  int i, j;
  static int turn = 0;

  /* stages:
      pick numbers
      30 second timer (let Rachel think during this time?)
      reveal answers
      reveal methods
      assign scores
      Rachel's solution */
  printf(" Round %d: Numbers round\n", round);

  printf("It is %s's turn to choose numbers.\n", player[turn].name);

  /* choose numbers */
  init_numbers();
  do {
    printf("%s, how many large numbers? [0 to 4] ", player[turn].name);
    num_large = atoi(get_line());
  } while(num_large < 0 || num_large > 4);

  /* generate numbers */
  for(i = 0; i < num_large; i++) {
    number[i] = get_large();
  }
  for(; i < 6; i++) {
    number[i] = get_small();
  }

  /* display numbers */
  for(j = 6; j >= 0; j--) {
    printf("\r");

    if(nocolour) printf("| ");
    else printf("%s ", letter_colour);

    for(i = 0; i < j; i++) {
      if(number[i] > 9) printf(" ");
      if(number[i] > 99) printf(" ");
      printf("  ");
    }
    for(i = j; i < 6; i++) {
      printf("%d ", number[i]);
    }

    if(nocolour) printf("|");
    else printf("%s", colour_off);
    fflush(stdout);

    usleep(500000);
  }
  putchar('\n');

  speak(RACHEL, "And the target number is...\n");

  /* generate a target */
  for(i = 0; i < 20; i++) {
    printf("  \r");
    if(!nocolour) printf("%s", number_colour);

    printf(" %d ", 100 + (rand() % 900));

    if(!nocolour) printf("%s", colour_off);
    fflush(stdout);

    usleep(100000);
  }
  target = 100 + (rand() % 900);
  printf("  \r");
  if(!nocolour) printf("%s", number_colour);

  printf(" %d ", target);

  if(!nocolour) printf("%s", colour_off);
  printf("\n");

  /* let people think */
  run_timer();

  /* increment the player whose turn it is to choose numbers */
  round++;
  turn++;
  if(turn >= players) turn = 0;
}