Fórum Sistema de Pontuação por níveis #299456
22/04/2010
0
Bom dia Amigos,
Estou com um grande problema nas mãos.
Preciso fazer um sistema de pontuação por níveis.
Explicando melhor:
Eu(Robson) compro em uma loja.
Se eu indicar o Jose,
Eu(Robson) ganho 10 pontos
Se o Jose indicar o Pedro,
Jose Ganha 10 pontos
Robson ganha 7 Pontos
Se o Pedro indicar a Maria,
Pedro ganha 10 Pontos,
Jose ganha 7 Pontos e
Robson ganha 5 pontos
Se a Maria indicar o Marcos,
Maria ganha 10 pontos
Pedro ganha 7 pontos
Jose ganha 5 pontos
Robson ganha 3 pontos
Se o Marcos indicar o Manuel
Marcos ganha 10 Pontos
Maria ganha 7 pontos
Pedro ganha 5 pontos
Jose ganha 3 pontos
Robson ganha 1 pontos
A partir do 5º nível eu (Robson) não ganho mais pontos. Ou seja, é um sistema de pontuação ate o 5º Nível
Mas não tenho idéia de como fazer isso. Quais tabelas criar e nem como fazer isso por
SQL
Lembrando que tenho que atualizar os pontos de todos os membros dos 5 níveis sempre que alguém é indicado, Respeitando os pontos de cada nível
E Também sabendo que qualquer um pode indicar quantas pessoas quiser ganhando pontos por todos que indicar
Uso Firebird 1.5 e Asp.Net C#
Alguém pode me ajudar?
Grato
Estou com um grande problema nas mãos.
Preciso fazer um sistema de pontuação por níveis.
Explicando melhor:
Eu(Robson) compro em uma loja.
Se eu indicar o Jose,
Eu(Robson) ganho 10 pontos
Se o Jose indicar o Pedro,
Jose Ganha 10 pontos
Robson ganha 7 Pontos
Se o Pedro indicar a Maria,
Pedro ganha 10 Pontos,
Jose ganha 7 Pontos e
Robson ganha 5 pontos
Se a Maria indicar o Marcos,
Maria ganha 10 pontos
Pedro ganha 7 pontos
Jose ganha 5 pontos
Robson ganha 3 pontos
Se o Marcos indicar o Manuel
Marcos ganha 10 Pontos
Maria ganha 7 pontos
Pedro ganha 5 pontos
Jose ganha 3 pontos
Robson ganha 1 pontos
A partir do 5º nível eu (Robson) não ganho mais pontos. Ou seja, é um sistema de pontuação ate o 5º Nível
Mas não tenho idéia de como fazer isso. Quais tabelas criar e nem como fazer isso por
SQL
Lembrando que tenho que atualizar os pontos de todos os membros dos 5 níveis sempre que alguém é indicado, Respeitando os pontos de cada nível
E Também sabendo que qualquer um pode indicar quantas pessoas quiser ganhando pontos por todos que indicar
Uso Firebird 1.5 e Asp.Net C#
Alguém pode me ajudar?
Grato
Robson Chaves
Curtir tópico
+ 0
Responder
Posts
23/04/2010
Wilson Junior
CREATE TABLE PESSOA(
ID INTEGER NOT NULL, /* Índice da tabela */
Nome VARCHAR(50) NOT NULL, /* Nome da pessoa */
Pontuacao INTEGER DEFAULT 0 NOT NULL, /* Pontuação */
CodPessoaInd INTEGER, /* Pessoa que a indicou */
CONSTRAINT PK_PESSOA PRIMARY KEY(NumSeq)
);
ALTER TABLE PESSOA
ADD CONSTRAINT FK_PESSOA_CODPESSOAIND FOREIGN KEY (CodPessoaInd) REFERENCES PESSOA(ID);
Como ficará os registros:
ID Nome Pontuacao CodPessoaInd
==== =============== ========= ============
1 Robson 0 NULL
Ao incluir o José ficará
ID Nome Pontuacao CodPessoaInd
==== =============== ========= ============
2 José 0 1
1 Robson 10 NULL /* Soma 10 pontos no campo Pontuacao */
Ao incluir o Pedro ficará
ID Nome Pontuacao CodPessoaInd
==== =============== ========= ============
3 Pedro 0 2
2 José 10 1 /* Soma 10 pontos no campo Pontuacao */
1 Robson 17 NULL /* Soma 7 pontos no campo Pontuacao */
Ou seja, crie um contador para saber o nível em que está, "Contador = 1" para a pessoa que indicou Pedro (2-José), some 10, "Contador = 2" para a pessoa que indicou José (1-Robson), some 7, "Contador = 3", mas o campo CodPessoaInd é NULL, então para de somar a pontuação.
Espero ter colaborado.
ID INTEGER NOT NULL, /* Índice da tabela */
Nome VARCHAR(50) NOT NULL, /* Nome da pessoa */
Pontuacao INTEGER DEFAULT 0 NOT NULL, /* Pontuação */
CodPessoaInd INTEGER, /* Pessoa que a indicou */
CONSTRAINT PK_PESSOA PRIMARY KEY(NumSeq)
);
ALTER TABLE PESSOA
ADD CONSTRAINT FK_PESSOA_CODPESSOAIND FOREIGN KEY (CodPessoaInd) REFERENCES PESSOA(ID);
Como ficará os registros:
ID Nome Pontuacao CodPessoaInd
==== =============== ========= ============
1 Robson 0 NULL
Ao incluir o José ficará
ID Nome Pontuacao CodPessoaInd
==== =============== ========= ============
2 José 0 1
1 Robson 10 NULL /* Soma 10 pontos no campo Pontuacao */
Ao incluir o Pedro ficará
ID Nome Pontuacao CodPessoaInd
==== =============== ========= ============
3 Pedro 0 2
2 José 10 1 /* Soma 10 pontos no campo Pontuacao */
1 Robson 17 NULL /* Soma 7 pontos no campo Pontuacao */
Ou seja, crie um contador para saber o nível em que está, "Contador = 1" para a pessoa que indicou Pedro (2-José), some 10, "Contador = 2" para a pessoa que indicou José (1-Robson), some 7, "Contador = 3", mas o campo CodPessoaInd é NULL, então para de somar a pontuação.
Espero ter colaborado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)