Beispiel #1
0
int main(int argc, char const* argv[])
{
    money a = money(5);
    money b = money(6);
    a.show(a.max(b));
    return 0;
}
Beispiel #2
0
 int rob(vector<int>& nums) {
     if(nums.size() <= 0) {
         return 0;
     }
     if(nums.size() == 1) {
         return nums[0];
     }
     if(nums.size() == 2) {
         return max(nums[0], nums[1]);
     }
     
     vector<int> money(nums.size(), 0);
     
     // rob from the first house
     money[0] = nums[0];
     money[1] = nums[0];
     for(int i = 2; i < nums.size() - 1; i++) {
         money[i] = max(money[i-1], money[i-2] + nums[i]);
     }
     int rob1 = money[nums.size() - 2];
     
     // rob from the second house
     money[0] = 0;
     money[1] = nums[1];
     for(int i = 2; i < nums.size(); i++) {
         money[i] = max(money[i-1], money[i-2] + nums[i]);
     }
     int rob2 = money[nums.size() - 1];
     
     return max(rob1, rob2);
 }
Beispiel #3
0
MyMoneyMoney kMyMoneyEdit::value() const
{
  QString txt = m_edit->text();
  ensureFractionalPart(txt);
  MyMoneyMoney money(txt);
  if (m_prec != -1)
    money = money.convert(MyMoneyMoney::precToDenom(m_prec));
  return money;
}
Beispiel #4
0
void 
MoneyTest::testAddThrow()
{
  // Set up
  const Money money123FF( 123, "FF" );

  // Process
  Money money( 123, "USD" );
  money += money123FF;        // should throw an exception
}
Beispiel #5
0
int main()
{
    int money(int,int*,int*,int*);
    int n,x,y,z;
    printf("Enter the amount desired(a multiple of 10 dollars) :");
    scanf("%d",&n);
    money(n,&x,&y,&z);
    printf("\n50s of bill to dispense : %d",x);
    printf("\n20s of bill to dispense : %d",y);
    printf("\n10s of bill to dispense : %d",z);
}
Beispiel #6
0
void 
MoneyTest::testConstructor()
{
  // Set up
  const std::string currencyFF( "FF" );
  const double longNumber = 1234.5678;

  // Process
  Money money( longNumber, currencyFF );

  // Check
  CPPUNIT_ASSERT_EQUAL( longNumber, money.getAmount() );
  CPPUNIT_ASSERT_EQUAL( currencyFF, money.getCurrency() );
}
Beispiel #7
0
void TaxMan(void)
{
	double tax;
	int i;
	char c;

	JOUST(PLAYER.Level);
	d *= 1000.;
	if(PLAYER.Gold + PLAYER.Bank > d) {
		NL;
		tax = PLAYER.Gold + PLAYER.Bank - d;
		sprintf(outbuf, "%s, the tax collector, looks at your bulging money purse", IRSREC->Handle);
		OUT(outbuf); NL;
		OUT("and says, \"Ah, it is time to pay your taxes!\"  You check out the two burly"); NL;
		sprintf(outbuf, "guards who stand ready to enforce %s's will.", SYSREC->Handle);
		OUT(outbuf); NL; NL;
		Delay(100);
		sprintf(outbuf, "The tax will cost you %s.", money(tax,ANSI));
		OUT(outbuf); NL; NL;
		Delay(100);
		sprintf(prompt, "%sWill you pay the tax (Y/N)? ", fore(CYN));
		do {
			OUT(prompt);
			c = inkey('Y', 'Y');
			NL;
		} while(c != 'Y' && c != 'N');
		NL;
		if(c == 'N') {
			sound2("taxman", 0);
			OUT("The tax collector orders his guards, \"Run this outlaw through!\""); NL; NL;
			Delay(100);
			for(i = 0; i < 2; i++) {
				memset(RPC[1][i], 0, sizeof(struct RPC));
				sprintf(RPC[1][i]->user.Handle, "City Guard #%d", i + 1);
				sprintf(RPC[1][i]->user.Class, "%s.%s", table->class[0]->Origin, table->class[0]->Character[dice(MAXCLASS(0))-1]->Name);
				RPC[1][i]->user.Level = PLAYER.Level / 2 + 1;
				RPC[1][i]->user.Sex = 'I';
				sprintf(RPC[1][i]->user.Weapon, "NATURAL.%u", RPC[1][i]->user.Level/2 + dice(RPC[1][i]->user.Level/2));
				sprintf(RPC[1][i]->user.Armor, "NATURAL.%u", RPC[1][i]->user.Level/4 + dice(RPC[1][i]->user.Level/4));
				CreateRPC(RPC[1][i]);
				RPC[1][i]->user.Poison = (UWORD)~0;
				if(RPC[1][i]->SP)
					RPC[1][i]->user.Spell = HEAL_SPELL | BLAST_SPELL;
			}
			from = '\0';
			Battle();
			if(RPC[1][0]->HP > 0 || RPC[1][1]->HP > 0 || !ONLINE->HP)
				c = 'Y';
		}
Beispiel #8
0
int main(){
	int n,a,k,s=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a);
		k=money(a);
		if(k<0){
			printf("Can't transport!");
			return 0;
		}
		s+=k;
	}
	printf("%d",s);
	return 0;
}
Beispiel #9
0
void 
MoneyTest::testAdd()
{
  // Set up
  const Money money12FF( 12, "FF" );
  const Money expectedMoney( 135, "FF" );

  // Process
  Money money( 123, "FF" );
  money += money12FF;

  // Check
  CPPUNIT_ASSERT( expectedMoney == money );           // add works
  CPPUNIT_ASSERT( &money == &(money += money12FF) );  // add returns ref. on 'this'.
}
Beispiel #10
0
// DP problem
// money[i] = std::max(money[i-1], money[i-2]+nums[i])
int rob(std::vector<int>& nums)
{
    if (nums.empty()) return 0;
    if (nums.size() == 1) return nums[0];
    if (nums.size() == 2) return std::max(nums[0], nums[1]);
    
    std::vector<int> money(nums.size());
    money[0] = nums[0];
    money[1] = std::max(nums[0], nums[1]);
    for (int i = 2, iEnd = (int)money.size(); i < iEnd; ++i)
    {
        money[i] = std::max(money[i-2]+nums[i], money[i-1]);
    }
    
    return money.back();
}
Beispiel #11
0
void Cell::draw(sf::RenderTarget& target, sf::RenderStates states) const {
  // apply the transform
  states.transform *= getTransform();

  sf::RectangleShape cell(sf::Vector2f(1.0, 1.0));
  int turns_ago = now_turn - last_turn_visited;
  cell.setFillColor(sf::Color(0, std::max(0, 255 - turns_ago * 10), 0));
  target.draw(cell, states);

  sf::VertexArray vertices;
  vertices.setPrimitiveType(sf::LinesStrip);
  vertices.append(sf::Vector2f(0, 0));
  vertices.append(sf::Vector2f(0, 1));
  vertices.append(sf::Vector2f(1, 1));
  vertices.append(sf::Vector2f(1, 0));
  vertices.append(sf::Vector2f(0, 0));
  target.draw(vertices, states);

  int candies_left = last_seen_candies;
  for (int i = 0; i < 5 && candies_left; ++i) {
    for (int j = 0; j < 5 && candies_left; ++j) {
      sf::CircleShape money(0.1);
      money.setPosition(0.2 * j, 0.2 * i);
      if (candies_left == 1 && just_eating) {
        money.setFillColor(sf::Color(255, 0, 0));
      } else {
        money.setFillColor(sf::Color(255, 255, 0));
      }
      target.draw(money, states);
      --candies_left;
    }
  }

  if (vis_player) {
    sf::RectangleShape player(sf::Vector2f(0.2, 0.2));
    player.setFillColor(sf::Color(50, 50, 255));
    player.setPosition(0.4, 0.4);
    target.draw(player, states);
  }
  if (vis_future_player) {
    sf::RectangleShape player(sf::Vector2f(0.2, 0.2));
    player.setFillColor(sf::Color(255, 0, 0));
    player.setPosition(0.4, 0.4);
    target.draw(player, states);
  }
}
void pawsExchangeWindow::HandleMoney( MsgEntry* me )
{
    psExchangeMoneyMsg money(me);
    
    if ( money.container == CONTAINER_OFFERING_MONEY )
    {
        offeringMoneyWidget->Set(money.circles, money.octas, money.hexas, money.trias);
        csString triasOffered;
        triasOffered.Format("Tria Offered %d", money.circles*CIRCLES_VALUE_TRIAS + money.octas*OCTAS_VALUE_TRIAS + money.hexas*HEXAS_VALUE_TRIAS + money.trias);
        totalTriasOffered->SetText(triasOffered);
    }
    else if ( money.container == CONTAINER_RECEIVING_MONEY )
    {
        receivingMoneyWidget->Set(money.circles, money.octas, money.hexas, money.trias);
        csString triasReceived;
        triasReceived.Format("Tria Received %d", money.circles*CIRCLES_VALUE_TRIAS + money.octas*OCTAS_VALUE_TRIAS + money.hexas*HEXAS_VALUE_TRIAS + money.trias);
        totalTriasReceived->SetText(triasReceived);
    }
}
void psNPCLoader::ReadMoney()
{
    csRef<iDocumentNode> xmlnode = npcRoot->GetNode("money");
    if(!xmlnode)
    {
        CPrintf(CON_WARNING, "Warning: no <money> tag found\n");
        return;
    }

    float circles, hexas, octas, trias;

    circles = xmlnode->GetAttributeValueAsFloat("circles");
    hexas = xmlnode->GetAttributeValueAsFloat("hexas");
    octas = xmlnode->GetAttributeValueAsFloat("octas");
    trias = xmlnode->GetAttributeValueAsFloat("trias");

    psMoney money((int)circles, (int)octas, (int)hexas, (int)trias);
    npc->SetMoney(money);
}
Beispiel #14
0
/*
 * pick_up:
 *	Add something to characters pack.
 */
void pick_up(char ch)
{
	nochange = FALSE;
	switch(ch) {
		case GOLD:
			money();
		when ARMOR:
		case POTION:
		case FOOD:
		case WEAPON:
		case SCROLL:	
		case AMULET:
		case RING:
		case STICK:
			add_pack(NULL, FALSE);
		otherwise:
			msg("That item is ethereal !!!");
	}
}
 //if force0Rob is true,  I HAVE to     rob 0-th house
 //if force0Rob is false, I HAVE to NOT rob 0th house
 int robPrime(vector<int>& nums, bool force0Rob) {
     
     //dynamic programming cache; money made by robbing *optimal choices* of houses until index i
     vector<int> money(nums.size(), 0);
     money[0] = force0Rob ? nums[0] : 0;
     money[1] = force0Rob ? nums[0] : nums[1];
     
     //dynamic programming loop
     for (int i=2; i<nums.size()-1; i++) {
         int cand1 = nums[i] + money[i-2];
         int cand2 = money[i-1];
         money[i] = cand1 > cand2 ? cand1 : cand2;
     }
     
     //last place
     int last = nums.size() - 1;
     int lastbutone = nums.size() - 2;
     int lastbuttwo = nums.size() - 3;
     money[last] = force0Rob ? (max(money[lastbutone], money[lastbuttwo])) 
                             : (max(money[lastbutone], money[lastbuttwo] + nums[last]));
     return money[last];
 }
/*
 * pick_up:
 *	Add something to characters pack.
 */
void
pick_up(int ch)
{
    switch(ch)
    {
	case GOLD:
	    money();
	    break;
	default:
	    debug("Where did you pick that up???");
	case ARMOR:
	case POTION:
	case FOOD:
	case WEAPON:
	case SCROLL:	
	case AMULET:
	case RING:
	case STICK:
	    add_pack(NULL, FALSE);
	    break;
    }
}
Beispiel #17
0
void
pick_up(char ch)
{
    THING *obj;

    if (on(player, ISLEVIT))
	return;

    obj = find_obj(hero.y, hero.x);
    if (move_on)
	move_msg(obj);
    else
	switch (ch)
	{
	    case GOLD:
		if (obj == NULL)
		    return;
		money(obj->o_goldval);
		detach(lvl_obj, obj);
		discard(obj);
		proom->r_goldval = 0;
		break;
	    default:
#ifdef MASTER
		debug("Where did you pick a '%s' up???", unctrl(ch));
#endif
	    case ARMOR:
	    case POTION:
	    case FOOD:
	    case WEAPON:
	    case SCROLL:	
	    case AMULET:
	    case RING:
	    case STICK:
		add_pack((THING *) NULL, FALSE);
		break;
	}
}
Beispiel #18
0
void CoolGame::init(GLManager *glManager)
{
  auto input = getEngine()->getWindow()->getInput();
  input->registerKeyToAction(SDLK_SPACE, "fire");
  input->registerKeyToAction(SDLK_c, "swapCamera");

  input->bindAction("fire", IE_PRESSED, [this]() {
    MeshLoader cube("cube.obj");
    cube.getEntity()->getTransform().setPosition(primary_camera->getParent()->getPosition());
    cube.getEntity()->addComponent<BoxCollider>(glm::vec3(0.5, 0.5, 0.5), 50);
    addToScene(cube.getEntity());
    auto dir = primary_camera->getParent()->getDirection();
    cube.getEntity()->getComponent<BoxCollider>()->applyCentralImpulse(glm::vec3(dir.x * 500.0f, dir.y * 500.0f, dir.z * 500.0f));
  });

  input->bindAction("swapCamera", IE_PRESSED, [this]() {
    getEngine()->getGLManager()->setActiveCamera(primary_camera2);
  });

  input->bindAction("swapCamera", IE_RELEASED, [this]() {
    getEngine()->getGLManager()->setActiveCamera(primary_camera);
  });

  auto brickMat = std::make_shared<Material>(std::make_shared<Texture>(Asset("bricks2.jpg")), std::make_shared<Texture>(Asset("bricks2_normal.jpg")), std::make_shared<Texture>(Asset("bricks2_specular.png")));
  auto planeMesh = Plane::getMesh();
  // ground
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform().setPosition(glm::vec3(-5, -2, 0)).setScale(glm::vec3(10, 1, 10));
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform().setPosition(glm::vec3(5, -2, 0)).setScale(glm::vec3(10, 1, 10));
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform().setPosition(glm::vec3(-5, -2, 10)).setScale(glm::vec3(10, 1, 10));
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform().setPosition(glm::vec3(5, -2, 10)).setScale(glm::vec3(10, 1, 10));
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }

  // front wall
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(-5, 3, -5))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(1, 0, 0), glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(5, 3, -5))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(1, 0, 0), glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }

  // back wall
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(-5, 3, 15))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(1, 0, 0), -glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(5, 3, 15))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(1, 0, 0), -glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }

  // left wall
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(-10, 3, 0))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(0, 0, 1), -glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(-10, 3, 10))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(0, 0, 1), -glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }

  // right wall
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(10, 3, 0))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(0, 0, 1), glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }
  {
    auto plane = std::make_shared<Entity>();
    plane->addComponent<MeshRenderer>(planeMesh, brickMat);
    plane->getTransform()
        .setPosition(glm::vec3(10, 3, 10))
        .setScale(glm::vec3(10, 1, 10))
        .rotate(glm::vec3(0, 0, 1), glm::pi<float>() / 2.f);
    plane->addComponent<BoxCollider>(glm::vec3(5, 0, 5), 0);

    addToScene(plane);
  }

  /*{
    MeshLoader ml("Pregnant.obj");
    ml.getEntity()->getTransform().setPosition(glm::vec3(0 + (i * 3), -2, -2.5));
    ml.getEntity()->addComponent<Sphere>(1);
    addToScene(ml.getEntity());
  }*/

  for (int i = 0; i < 10; i++)
  {
    MeshLoader ml("AncientUgandan.obj");
    ml.getEntity()->getTransform().setPosition(glm::vec3(0, i * 3, -2.5));
    ml.getEntity()->addComponent<SphereCollider>(1, 1);
    addToScene(ml.getEntity());
  }

  MeshLoader money("monkey3.obj");
  money.getEntity()->getTransform().setPosition(glm::vec3(0, 0, 8));
  money.getEntity()->addComponent<PerspectiveCamera>(glm::pi<float>() / 2.0f, getEngine()->getWindow()->getWidth() / (float)getEngine()->getWindow()->getHeight(), 0.05f, 100.0f);
  //money.getEntity()->addComponent<SpotLight>(glm::vec3(0.1f, 1.0f, 1.0f), 5.8f, 0.7f, std::make_shared<Attenuation>(0, 0, 0.2));
  money.getEntity()->addComponent<SphereCollider>(1, 1);
  addToScene(money.getEntity());

  MeshLoader money2("monkey3.obj");
  money2.getEntity()->addComponent<PerspectiveCamera>(glm::pi<float>() / 2.0f, getEngine()->getWindow()->getWidth() / (float)getEngine()->getWindow()->getHeight(), 0.8f, 100.0f);
  money2.getEntity()->addComponent<FreeMove>();
#if defined(ANDROID)
  money2.getEntity()->addComponent<FreeLook>(0.1f);
#else
  money2.getEntity()->addComponent<FreeLook>();
#endif
  money2.getEntity()->getTransform().setPosition(glm::vec3(0, 0, 5)).setScale(glm::vec3(0.8, 0.8, 0.8));
  money2.getEntity()->addComponent<SpotLight>(glm::vec3(1.0f, 1.0f, 1.0f), 2.8f, 0.7f, std::make_shared<Attenuation>(0, 0, 0.2));

  addToScene(money2.getEntity());

  primary_camera = money2.getEntity()->getComponent<PerspectiveCamera>();
  primary_camera2 = money.getEntity()->getComponent<PerspectiveCamera>();

  getEngine()->getGLManager()->setActiveCamera(primary_camera);
}
Beispiel #19
0
void inspect(void)
{
	char a, i, j;
	char titre[32];
	
	printTitle(8,4, A_BGRED, "INSPECTER QUEL HEROS ? ", 23);
	while(1) {
		a = get();
		if (a<'1' || a>'6')
			ping(); // ping si pas correct
		else
			break; // correct : on sort
	}
	cls();
	printFrame(23);
	i = a - '1';
	// construction du nom/titre
	strcpy(titre, " < ");
	strcat(titre, characters[i].nom);
	if(characters[i].mp != 1) {
		strcat(titre, " ");
		strcat(titre, maisons[characters[i].mp-2]);
	}
	strcat(titre, " > ");
	j = strlen(titre);
	a = (31-j)/2 + 4;
	// affichage du titre
	printTitle(a,2, A_BGRED, titre, j);
	// affichage classe, niv, xp
	printAtXY(5,  4, "Carr :");
	printAtXY(11, 4, classe[characters[i].cp-1]);
	printAtXY(22, 4, "Niv:");
	printAtXY(27, 4, itoa(characters[i].ni));
	printAtXY(29, 4, "EXP:");
	printAtXY(33, 4, itoa(characters[i].xp));
	
	// affichage santé, pv
	printAtXY(5,  6, "Sant{:");
	printAtXY(11, 6, etat[characters[i].ok-1]);
	printAtXY(22, 6, "PV :");
	printAtXY(27, 6, itoa(characters[i].et));
	printAtXY(30, 6, "/");
	printAtXY(32, 6, itoa(characters[i].pv));
	// affichage bourse
	printAtXY(5,  8, "Bourse:");
	printAtXY(13, 8, itoa(characters[i].ri*10));
	printAtXY(21, 8, "Cerfs d'Argent");
	
	// affichage de l'équipement porté
	printAtXY(5,  10, "Arme D:");
	if (characters[i].wr != 0)
		printAtXY(13, 10, textesItems[characters[i].wr-1]);

	printAtXY(5,  11, "Arme G:");
	if (characters[i].wl != 0)
		printAtXY(13, 11, textesItems[characters[i].wl-1]);
	
	printAtXY(5,  12, "Animal:");
	if (characters[i].bt != 0)
		printAtXY(13, 12, textesItems[characters[i].bt-1]);

	printAtXY(5,  13, "Armure:");
	if (characters[i].pt != 0)
		printAtXY(13, 13, textesItems[characters[i].pt-1]);
	printAtXY(29, 13, "CA:");
	printAtXY(33, 13, itoa(characters[i].ca));
	
	// affiche les caracs
	printTitle(4,15, A_BGRED, "CC  CT  Fo  Ag  In  FM ", 23);
	printAtXY(7,16, itoa(characters[i].cc));
	printAtXY(11,16, itoa(characters[i].ct));
	printAtXY(15,16, itoa(characters[i].fo));
	printAtXY(19,16, itoa(characters[i].ag));
	printAtXY(23,16, itoa(characters[i].in));
	printAtXY(27,16, itoa(characters[i].fm));
	// affichage du sac à dos
	for(j=0;j<6;j++) {
		printAtXY(5,18+j, itoa(j+1));
		if (characters[i].sad[j]!=0) {
			if (characters[i].sad[j]-1<nbTextes)
			    printAtXY(8,18+j, textesItems[characters[i].sad[j]-1]);
			else
				printAtXY(8,18+j, "objet bugge");
		} else {
			printAtXY(8,18+j, "..............");
		}
	}
	// les morts et les paralysés ne peuvent pas lancer de sorts!
	if (characters[i].cp>3 && characters[i].ok<3)
		printTitle(10,25, A_BGRED, " <ESPACE> : SORTS ", 18);
	else
		printTitle(10,25, A_BGRED, " <ESPACE> : RETOUR", 18);
	printTitle(4,26, A_BGBLUE, " DONNER :  ", 11);
	printTitle(16,26, A_BGRED, " A)rgent O)bjet ? ", 17);
	while(1) {
		a = get();
		if (a=='A') {
			money(i);
			break;
		} else if (a=='O') {
			items(i);
			break;
		} else if (a==' ') {
			if (characters[i].cp>3 && characters[i].ok<3)
				spells(i);
			break;
		} else
			ping();
	}
}
Beispiel #20
0
static int run(connection_t connection, int op) {
	switch(op) {
		case MONEY: {
			if(!money(connection, client_money)) {
				log_send(LEVEL_ERROR, "Error getting the money.");
				return -1;
			}else{
				log_send(LEVEL_INFO, "Succesfully got money.");
			}
		} break;

		case CUCCO_ADD: {
			if(!cucco_add(connection, database)) {
				log_send(LEVEL_ERROR, "Error adding the cucco.");
				return -1;
			}else{
				log_send(LEVEL_INFO, "Succesfully added cucco.");
			}
		} break;

		case CUCCO_REMOVE: {
			if(!cucco_remove(connection, database)) {
				log_send(LEVEL_ERROR, "Error removing the cucco.");
				return -1;
			}else{
				log_send(LEVEL_INFO, "Succesfully removed cucco.");
			}
		} break;

		case LIST: {
			if(!list(connection, database)) {
				log_send(LEVEL_ERROR, "Error getting the list of cuccos.");
				return -1;
			}else{
				log_send(LEVEL_INFO, "Sucesfully returned list of cuccos");
			}
		} break;

		case BET: {
			if(!bet(connection, &client_money, clients, bettors, winner, database)) {
				log_send(LEVEL_ERROR, "Error placing bet.");
				return -1;
			}else{
				log_send(LEVEL_INFO, "Succesfully placed bet.");
			}
		} break;

		case RESET: {
			if(!reset(connection)) {
				log_send(LEVEL_ERROR, "Error reseting the amount of money");
				return -1;
			}
			log_send(LEVEL_INFO, "Succesfully reseted the users amount of money");
			client_money = MONEY_DEFAULT;
		} break;

		case EXIT: {
			log_send(LEVEL_INFO, "[CHILD SV] Exiting.");
			return 1;
		} break;

		default: {
			log_send(LEVEL_ERROR, "Invalid opcode.");
			return -1;
		} break;
	}

	return 0;
}
Beispiel #21
0
void MainWindow::checkForSaveFile()
{
    QFile file2("autosave.dat");
    QString fileInput = "autosave.dat";

    if (!file2.exists() && !QFile(QString(".autosave.dat")).exists())
        QString fileInput = QFileDialog::getSaveFileName(this, tr("Autosave File"), "", tr("Data File (*.dat)"));

    else if (!file2.exists() && QFile(QString(".autosave.dat")).exists())
        QFile(QString(".autosave.dat")).copy(fileInput);

    QList<QString> asList;

    if (fileInput != "")
    {
        /**
          Load the last save into memory.

          Allows us to extract the serials/class members.
          **/

        QFile file(fileInput);
        if (!file.open(QIODevice::ReadOnly))
        {
            QMessageBox::critical(this, tr("Error"), tr("Could not open file"));
            return;
        }//end if
        QTextStream in(&file);


        while (!in.atEnd())
        {
            asList.push_back(in.readLine());
        }//iterate through the file. All of it. Store.
    }//end if.

    for (int x = 0; x < asList.size(); x++)
    {
        /**
          Now, we segment the file.
          **/
        QString current = asList.at(x);
        QString flipped = reverse(current);
        QList<QString> currentKid;

        int y = x;

        while (asList.at(y) != flipped)
        {
            y++;
        }

        for (int z = x; z < y; z++)
        {
            currentKid.push_back(asList.at(z));
            x++;
        }//end for z.

        if (true)
        {
            QString last = currentKid.at(0);
            QString email = currentKid.at(1);
            int index = email.indexOf(":") + 1;
            email.remove(0, index);
            QString period = currentKid.at(2);
            index = period.indexOf(":") + 1;
            period.remove(0, index);
            QString balance = currentKid.at(3);

            KedighKid toPush(last, period, email);


            for (int i = 4; i < currentKid.size(); i++)
            {
                QString line = currentKid.at(i);
                QString tabLength = "\t\t";
                line.remove(0, tabLength.length());
                int index = line.indexOf(":");
                QString serial = line;
                serial.remove(index, line.size());
                QString denom = line;
                denom.remove(0, serial.size());
                QString toSize = " $";
                denom.remove(0, 3);
                int _denomination = denom.toInt();

                KedighCash money(serial, "Today", _denomination);
                toPush.addMoney(money);
            }
            kids.push_back(toPush);
            x++;
        }
    }

    qSort(kids.begin(), kids.end());
    for (int i = 0; i < kids.size(); i++)
    {
        ui->studentSelect->addItem(kids.at(i).name);
    }

    for (int y = 0; y < kids.size(); y++)
    {
        ui->fileDisplay->addItem(kids.at(y).name);
    }

    countCash();
    displayInfo();
}//open last save.