Page 1 of 1

[GAME] Linux Gems

PostPosted: Wed Jan 27, 2021 9:50 am
by ebmaster
ciao a tutti!
provo a smanettare con UBUNTU riportando alcuni giochi da Windows:
piccole problematiche di scrittura, che una volta capite non danno sostanzialmente grossi problemi,
mentre in programmazione ho un problema con questa parte di codice:
Code: Select all
 ....
if(x<5 and board[x,y,1]==board[x+3,y,1])//errore 8
                    //gemix errore passa con 5 ? valore 8 e 9 errore fuori intervallo portato a 10
                       
                        //test for 5
                        if(x<4 and board[x,y,1]==board[x+4,y,1])//errore 9
                            multiplier+=1;
                            score+=100*multiplier;
                            delgem[x+4,y]=0;
                            x+=2;
                        else
...

queste IF sembrano essere ignorate.

il gioco è perfettamente funzionante modificando
Code: Select all
int board[10,10,4];

Re: [GAME] Linux Gems

PostPosted: Wed Jan 27, 2021 10:34 am
by ebmaster
inserisco il file zip contenete il gioco compilato per chi lo vorrebbe provare

Re: [GAME] Linux Gems

PostPosted: Thu Jan 28, 2021 7:07 pm
by Vortigano
ebmaster wrote:inserisco il file zip contenete il gioco compilato per chi lo vorrebbe provare


hi, i like your game. I changed this and it runs ok (i don't changed the table/matrix dimension)

Code: Select all
//check horizontal
        for(y=0;y<8;y++)
            for(x=0;x<6;x++)//provabile errore 6
                //check for a 3 gem match
                if(board[x,y,1]==board[x+1,y,1] and board[x,y,1]==board[x+2,y,1])
                    delgem[x,y]=0;
                    delgem[x+1,y]=0;
                    delgem[x+2,y]=0;
                    //test for 4
                    if(x+3<8)
                        //exit("error",0);
                        if(x<5 and
                            //board[x,y,1]==
                                board[x+3, y, 1])//errore 8
                            //gemix errore passa con 5 ? valore 8 e 9 errore fuori intervallo portato a 10
                           
                            if(x+4<8)
                                //test for 5
                                if(x<4 and board[x,y,1]==board[x+4,y,1])//errore 9
                                    multiplier+=1;
                                    score+=100*multiplier;
                                    delgem[x+4,y]=0;
                                    x+=2;
                                else
                                    //only a 4 match
                                    multiplier+=1;
                                    score+=25*multiplier;
                                    delgem[x+3,y]=0;
                                    x++;
                                end
                            end
                           
                            else
                            multiplier+=1;
                            score+=10*multiplier;
                        end
                    end
                    foundmatch=1;
                end
            end
        end

Re: [GAME] Linux Gems

PostPosted: Thu Jan 28, 2021 7:28 pm
by Vortigano
isn't there a "fivepieces" checking?


Code: Select all

0,0,0,0,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,X,0,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,0,X,0,0,0,0,
B,B,B,B,B,B,B,B

0,0,0,0,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,0,X,0,0,0,0,
0,0,0,X,0,0,0,0,
B,B,B,B,B,B,B,B

0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
B,B,B,B,B,B,B,B


Re: [GAME] Linux Gems

PostPosted: Thu Jan 28, 2021 11:55 pm
by ebmaster
Ciao Vortigano
il gioco lo hai provato in windows o linux?

sembra non andare in crash ma non va bene! non elimina le righe che si creano.
"questo problema nasce sotto linux"
domani lo provo megtlio, grazie per il supporto ;)

Re: [GAME] Linux Gems

PostPosted: Fri Jan 29, 2021 7:17 am
by Vortigano
I tested it under windows 8.1 + amd video. goodbye.

Re: [GAME] Linux Gems

PostPosted: Fri Jan 29, 2021 11:28 am
by ebmaster
Vortigano :y:
:D il problema esisteva anche sotto windows con la nuova versione di gemix
in sostanza il problema rimane quello che avevo ipotizzato
"if(x<5 and board[x,y,1]==board[x+3,y,1])"
grazie al tuo supporto ho capito meglio come formulare la mia perplessità :P
ho risolto facilmente come da te fatto dividendo la IF
"if(x<5 )
if( board[x,y,1]==board[x+3,y,1])" comunque questa parte di codice risulta superflua e rallenta il gioco ELIMINO

quindi la domanda ora "Gemix continua a processare la IF sino alla fine anche se la prima parte è FALSA?"

Re: [GAME] Linux Gems

PostPosted: Fri Jan 29, 2021 1:08 pm
by CicTec
ebmaster wrote:Vortigano :y:
:D il problema esisteva anche sotto windows con la nuova versione di gemix
in sostanza il problema rimane quello che avevo ipotizzato
"if(x<5 and board[x,y,1]==board[x+3,y,1])"
grazie al tuo supporto ho capito meglio come formulare la mia perplessità :P
ho risolto facilmente come da te fatto dividendo la IF
"if(x<5 )
if( board[x,y,1]==board[x+3,y,1])" comunque questa parte di codice risulta superflua e rallenta il gioco ELIMINO

quindi la domanda ora "Gemix continua a processare la IF sino alla fine anche se la prima parte è FALSA?"

Ciao ebmaster,

DIV2 così come Gemix processano tutta la linea, se il gioco viene da Fenix ultime versioni o altro fork allora il comportamento funziona come in C, quindi se la prima condizione non è soddisfatta, si esce dalla valutazione e non si esegue il codice IF.

Grazie per il gioco, vedrò nei prossimi giorni di provarlo anche con la nuova beta per vedere se ci sono problemi. :)

Re: [GAME] Linux Gems

PostPosted: Fri Jan 29, 2021 3:10 pm
by ebmaster
Grazie per il chiarimento, ora mi è più chiaro capire come mai "molti errori riscontrati erano sempre legati a questa condizione" :) :y:

Re: [GAME] Linux Gems

PostPosted: Fri Jan 29, 2021 4:37 pm
by Vortigano
ebmaster wrote:Grazie per il chiarimento, ora mi è più chiaro capire come mai "molti errori riscontrati erano sempre legati a questa condizione" :) :y:

:) :y: :y: