Code:
//Kodoval MOoToO
//Screeny od *Dave*
//Nejake tie pikosky od RAVEN-a (mojeho svagra ;))
// Pezinok 2007 jun-august
// SIMULATOR KARTOVEHO POKRU (SENKOVA KLASIKA)
#include <pspkernel.h>
#include <pspdisplay.h>
#include <pspctrl.h>
#include "graphics.h"
#include <pspdebug.h>
#include <stdlib.h>
#include <stdio.h>
#include <pspaudio.h>
#include <pspaudiolib.h>
#include <psppower.h>
#include "mp3player.h"
PSP_MODULE_INFO("PokerbyMooToo", 0, 1, 4);
#define RGB(r, g, b) ((r)|((g)<<8)|((b)<<16))
SceCtrlData pad;
Image* DOUBLINGBACK;
Image* YOUWINBACK;
Image* WINPNG[5];
Image* MENUPNG;
Image* FIRSTSCR;
Image* PRESSSTART;
Image* CARDPIC[5];
Image* CHOOSE;
Image* STARTPNG;
Image* ENDPNG;
Image* ENDING[13];
Image* ENDINGBACK;
Image* GAMEBOARD;
Image* OPTIONSPNG;
Image* OPTIONSBACK;
Image* JOKERSON;
Image* JOKERSOFF;
Image* MUSICON;
Image* FXON;
Image* INFO;
Image* SPOT;
Image* BACKCARD;
Image* NUMBPIC[10];
Image* LOADING;
Image* REMOVER;
Image* PAGE1;
Image* CREDITSPAGE;
Image* PAUSESCREEN;
int WIN,START,X,I,Y,ITEM,DO,UNDO,MOVEH,MOVEV,STARTER,END,KARTA,NUMBER,FULL,ACTION,JOK=4,CHANGE,C,KONIEC,FX,SW,CUR,CURX,CURY,CHBUTON;
int DUBLING,ROYALFLUSH,STRAIGHT,CELLCARD,CELLCOLOR,JOKER,FLUSH,COLWIN,SAME,ANOTHERONE,HIGHPAIR,TWOPAIRS,THREEOFAKIND,POKER,FULLHOUSE,FIVEOFAKIND;
int DOUBLEPOT,GETWIN,ROUND,FULLNUMBER,NUMBERS,KREDIT,BETT,Z,JOKERZ,LANG,PAUSA;
int COLH[6],CARDH[6],CARDCOL[100],CARD[100],CHANGEH[6],NUMB[10];
char CARDNAME[100],NAMEOFMP3[100];
char LABELBUFER[200],LABELFILE[200];
//forMP3
int MAXMP3=1,ACTUALTRACK,i,LASTINORDER,NEXTSONG,ORDER[200];
char MUSICFILE[200];
int random(int high) /* definovanie funkcie random */
{
return (rand() % (high+1));
}
//================================CALLBACKS=================================================
/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
MP3_Stop();MP3_FreeTune();sceKernelExitGame();
return 0;
}
/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}
/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}
return thid;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//===============================================MP3====================================
void MP3_MakeRandOrder()
{ //order
for(i=1;i<(MAXMP3+1);i++){ORDER[i]=0;}
for(i=1;i<(MAXMP3+1);i++)
{
Y=0;
while(Y==0)
{ACTUALTRACK=random(MAXMP3);
if(ACTUALTRACK==0){ACTUALTRACK=1;}
if(ORDER[ACTUALTRACK]==0){ORDER[ACTUALTRACK]=i;Y=1;}else{Y=0;}
}
}
if(LASTINORDER==ORDER[1]){ACTUALTRACK=2;}else{ACTUALTRACK=1;}
LASTINORDER=ORDER[MAXMP3];
Y=0; }
//+++++++++++++++++++++
void MP3_HowMuch()
{MP3_Init(1);
while(1)//kolko fajlov mame
{sprintf(MUSICFILE,"./MUSIC/%d.mp3",MAXMP3);
if(MP3_Load(MUSICFILE)){MAXMP3+=1;MP3_FreeTune();}else {MAXMP3-=1;break;}
}
}
//+++++++++++++++++++++
void MP3_ShufflePlayer()
{if (MP3_EndOfStream() == 1||NEXTSONG ==1)
{
NEXTSONG=0;MP3_Stop();MP3_FreeTune();
MP3_Init(1);ACTUALTRACK+=1;
if(ACTUALTRACK==(MAXMP3+1)){MP3_MakeRandOrder();}
sprintf(MUSICFILE,"./MUSIC/%d.mp3",ORDER[ACTUALTRACK]);
MP3_Load(MUSICFILE);MP3_Play();
}
}
//++++++++++++++++++++++
void MP3_ShufflePlayerInit()
{MP3_HowMuch();
MP3_MakeRandOrder();
}
//==========================================LOADNUMBERSPICS========================================UNDONE=========8D
void LOADNUMBERSPICS()
{
NUMBPIC[0]=loadImage("./GRAPHICS/NUMBERS/0.PNG");
NUMBPIC[1]=loadImage("./GRAPHICS/NUMBERS/1.PNG");
NUMBPIC[2]=loadImage("./GRAPHICS/NUMBERS/2.PNG");
NUMBPIC[3]=loadImage("./GRAPHICS/NUMBERS/3.PNG");
NUMBPIC[4]=loadImage("./GRAPHICS/NUMBERS/4.PNG");
NUMBPIC[5]=loadImage("./GRAPHICS/NUMBERS/5.PNG");
NUMBPIC[6]=loadImage("./GRAPHICS/NUMBERS/6.PNG");
NUMBPIC[7]=loadImage("./GRAPHICS/NUMBERS/7.PNG");
NUMBPIC[8]=loadImage("./GRAPHICS/NUMBERS/8.PNG");
NUMBPIC[9]=loadImage("./GRAPHICS/NUMBERS/9.PNG");
//===================ENG
if(LANG==3)
{
OPTIONSBACK=loadImage("./GRAPHICS/MENUEN/OPTIONSBACK.PNG");
JOKERSON=loadImage("./GRAPHICS/MENUEN/LABELS/JOKERSON.PNG");
JOKERSOFF=loadImage("./GRAPHICS/MENUEN/LABELS/JOKERSOFF.PNG");
MUSICON=loadImage("./GRAPHICS/MENUEN/LABELS/MUSIC.PNG");
FXON=loadImage("./GRAPHICS/MENUEN/LABELS/FX.PNG");
INFO=loadImage("./GRAPHICS/MENUEN/LABELS/INFO.PNG");
MENUPNG = loadImage("./GRAPHICS/MENU.png");
STARTPNG = loadImage("./GRAPHICS/MENUEN/LABELS/START.png");
ENDPNG = loadImage("./GRAPHICS/MENUEN/LABELS/END.png");
OPTIONSPNG = loadImage("./GRAPHICS/MENUEN/LABELS/OPTIONS.png");
DOUBLINGBACK=loadImage("./GRAPHICS/MENUEN/DOUBLEBACK.PNG");
YOUWINBACK=loadImage("./GRAPHICS/MENUEN/YOUWINBACK.PNG");
BACKCARD=loadImage("./GRAPHICS/CARDS/BACK.PNG");
REMOVER=loadImage("./GRAPHICS/MENUEN/NUMBERSREMOVER.PNG");
PAUSESCREEN=loadImage("./GRAPHICS/MENUEN/PAUSE.PNG");
}
//=====================SVK
if(LANG==1)
{
OPTIONSBACK=loadImage("./GRAPHICS/MENUSK/OPTIONSBACK.PNG");
JOKERSON=loadImage("./GRAPHICS/MENUSK/LABELS/JOKERSON.PNG");
JOKERSOFF=loadImage("./GRAPHICS/MENUSK/LABELS/JOKERSOFF.PNG");
MUSICON=loadImage("./GRAPHICS/MENUSK/LABELS/MUSIC.PNG");
FXON=loadImage("./GRAPHICS/MENUSK/LABELS/FX.PNG");
INFO=loadImage("./GRAPHICS/MENUSK/LABELS/INFO.PNG");
MENUPNG = loadImage("./GRAPHICS/MENU.png");
STARTPNG = loadImage("./GRAPHICS/MENUSK/LABELS/START.png");
ENDPNG = loadImage("./GRAPHICS/MENUSK/LABELS/END.png");
OPTIONSPNG = loadImage("./GRAPHICS/MENUSK/LABELS/OPTIONS.png");
DOUBLINGBACK=loadImage("./GRAPHICS/MENUSK/DOUBLEBACK.PNG");
YOUWINBACK=loadImage("./GRAPHICS/MENUSK/YOUWINBACK.PNG");
BACKCARD=loadImage("./GRAPHICS/CARDS/BACK.PNG");
REMOVER=loadImage("./GRAPHICS/MENUSK/NUMBERSREMOVER.PNG");
PAUSESCREEN=loadImage("./GRAPHICS/MENUSK/PAUSE.PNG");
}
if(LANG==2)
{
OPTIONSBACK=loadImage("./GRAPHICS/MENUCZ/OPTIONSBACK.PNG");
JOKERSON=loadImage("./GRAPHICS/MENUCZ/LABELS/JOKERSON.PNG");
JOKERSOFF=loadImage("./GRAPHICS/MENUCZ/LABELS/JOKERSOFF.PNG");
MUSICON=loadImage("./GRAPHICS/MENUCZ/LABELS/MUSIC.PNG");
FXON=loadImage("./GRAPHICS/MENUCZ/LABELS/FX.PNG");
INFO=loadImage("./GRAPHICS/MENUCZ/LABELS/INFO.PNG");
MENUPNG = loadImage("./GRAPHICS/MENU.png");
STARTPNG = loadImage("./GRAPHICS/MENUCZ/LABELS/START.png");
ENDPNG = loadImage("./GRAPHICS/MENUCZ/LABELS/END.png");
OPTIONSPNG = loadImage("./GRAPHICS/MENUCZ/LABELS/OPTIONS.png");
DOUBLINGBACK=loadImage("./GRAPHICS/MENUCZ/DOUBLEBACK.PNG");
YOUWINBACK=loadImage("./GRAPHICS/MENUCZ/YOUWINBACK.PNG");
BACKCARD=loadImage("./GRAPHICS/CARDS/BACK.PNG");
REMOVER=loadImage("./GRAPHICS/MENUCZ/NUMBERSREMOVER.PNG");
PAUSESCREEN=loadImage("./GRAPHICS/MENUCZ/PAUSE.PNG");
}
}
//===========================================CURSOR MOVE=================================DONE=
void CURSORPOSITION()
{
CURX=CURX+(MOVEV*4);
if(CURX>456){CURX=456;}
if(CURX<0){CURX=0;}
CURY=CURY+(MOVEH*4);
if(CURY>248){CURY=248;}
if(CURY<0){CURY=0;}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//==========================================LOADING CARDS IMAGES=========================DONE=
void LOADCARDSIMAGES()
{
for(X=1;X<6;X++)
{if(CARDPIC[X]){freeImage(CARDPIC[X]);}}
for(X=1;X<6;X++)
{
NUMBER=((COLH[X]*100)+CARDH[X]);
sprintf (CARDNAME,"./GRAPHICS/CARDS/%d.PNG",NUMBER);
CARDPIC[X] = loadImage(CARDNAME);
}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//==========================================END============================================DONE=
void ENDOFGAME()
{
ENDINGBACK = loadImage("./GRAPHICS/END/ENDINGBACK.png");
ENDING[0] = loadImage("./GRAPHICS/END/END1.png");
ENDING[1] = loadImage("./GRAPHICS/END/END2.png");
ENDING[2] = loadImage("./GRAPHICS/END/END3.png");
ENDING[3] = loadImage("./GRAPHICS/END/END4.png");
ENDING[4] = loadImage("./GRAPHICS/END/END5.png");
ENDING[5] = loadImage("./GRAPHICS/END/END6.png");
ENDING[6] = loadImage("./GRAPHICS/END/END7.png");
ENDING[7] = loadImage("./GRAPHICS/END/END8.png");
ENDING[8] = loadImage("./GRAPHICS/END/END9.png");
ENDING[9] = loadImage("./GRAPHICS/END/END10.png");
ENDING[10] = loadImage("./GRAPHICS/END/END11.png");
ENDING[11] = loadImage("./GRAPHICS/END/END12.png");
ENDING[12] = loadImage("./GRAPHICS/END/END13.png");
I=0;Y=0;
while(I<13){
blitAlphaImageToScreen(0, 0 , 480, 272, ENDINGBACK, 0, 0);
blitAlphaImageToScreen(0, 0 , 238, 57, ENDING[I], 121, 108); //animacia
flipScreen();
if(I==0){sceKernelDelayThread(800000);}
Y+=1;if(Y==3){I+=1;Y=0;}
}
MP3_Stop();
MP3_FreeTune();
sceKernelDelayThread(1000000);
sceKernelExitGame();
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=============================================MIESANIE====================================DONE=
void MIX()
{
X=0;Y=0;
for(X=0;X<60;X++)
{CARDCOL[X]=0;CARD[X]=0;
}
if(JOK==4){SW=1;} else {SW=0;}
for(X=1;X<5;X++)
{for(Y=1;Y<(14+SW);Y++)
{FULL=1;
while (FULL==1)
{C=random(51+JOK);if (CARD[C] != 0) {FULL=1;}
else {FULL=0;CARDCOL[C]=X;CARD[C]=Y;}}
}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=============================================CISIELKA :D================================DONE=:D
void NUMBERTOPICTURE()
{NUMBERS=0;NUMB[1]=0;NUMB[2]=0;NUMB[3]=0;NUMB[4]=0;NUMB[5]=0;NUMB[6]=0;NUMB[7]=0;NUMB[8]=0;
if(FULLNUMBER==0){NUMBERS=1;}
while (FULLNUMBER>=10000000){FULLNUMBER-=10000000;NUMB[8]+=1;NUMBERS=8;}
while (FULLNUMBER>= 1000000){FULLNUMBER-= 1000000;NUMB[7]+=1;if(NUMBERS==0){NUMBERS=7;}}
while (FULLNUMBER>= 100000){FULLNUMBER-= 100000;NUMB[6]+=1;if(NUMBERS==0){NUMBERS=6;}}
while (FULLNUMBER>= 10000){FULLNUMBER-= 10000;NUMB[5]+=1;if(NUMBERS==0){NUMBERS=5;}}
while (FULLNUMBER>= 1000){FULLNUMBER-= 1000;NUMB[4]+=1;if(NUMBERS==0){NUMBERS=4;}}
while (FULLNUMBER>= 100){FULLNUMBER-= 100;NUMB[3]+=1;if(NUMBERS==0){NUMBERS=3;}}
while (FULLNUMBER>= 10){FULLNUMBER-= 10;NUMB[2]+=1;if(NUMBERS==0){NUMBERS=2;}}
while (FULLNUMBER>= 1){FULLNUMBER-= 1;NUMB[1]+=1;if(NUMBERS==0){NUMBERS=1;}}
FULLNUMBER=0;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=============================================SMER========================================DONE=:D
void SMER(){
DO=0; UNDO=0; STARTER=0; MOVEV=0; MOVEH=0;CHBUTON=0;DUBLING=0;
sceCtrlReadBufferPositive(&pad, 1);
if(pad.Buttons & PSP_CTRL_SELECT) {while((pad.Buttons & PSP_CTRL_SELECT)){sceCtrlReadBufferPositive(&pad, 1);NEXTSONG=1;}}
if(pad.Buttons & PSP_CTRL_CIRCLE) {DUBLING=1;while((pad.Buttons & PSP_CTRL_CIRCLE)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}
if(pad.Buttons & PSP_CTRL_SQUARE) {CHBUTON=1;while((pad.Buttons & PSP_CTRL_SQUARE)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}
if(pad.Buttons & PSP_CTRL_CROSS) {DO=1;while((pad.Buttons & PSP_CTRL_CROSS)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}
if(pad.Buttons & PSP_CTRL_TRIANGLE) {UNDO=1;while((pad.Buttons & PSP_CTRL_TRIANGLE)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}
if(pad.Buttons & PSP_CTRL_START) {STARTER=1;while((pad.Buttons & PSP_CTRL_START)){sceCtrlReadBufferPositive(&pad, 1);Y=1;}}
if((pad.Buttons & PSP_CTRL_RIGHT)) {MOVEV=1;if(CUR==0){while((pad.Buttons & PSP_CTRL_RIGHT)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}}
if((pad.Buttons & PSP_CTRL_LEFT)) {MOVEV=-1;if(CUR==0){while((pad.Buttons & PSP_CTRL_LEFT)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}}
if((pad.Buttons & PSP_CTRL_UP)) {MOVEH=-1;if(CUR==0){while((pad.Buttons & PSP_CTRL_UP)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}}
if((pad.Buttons & PSP_CTRL_DOWN)) {MOVEH=1;if(CUR==0){while((pad.Buttons & PSP_CTRL_DOWN)){sceCtrlReadBufferPositive(&pad, 1);STARTER=0;}}}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//==============================================LANGUAGESETUP=================================
void SETUP()
{
Image* SETUP=loadImage("./GRAPHICS/SETUP.png");
SPOT=loadImage("./GRAPHICS/CURSOR.PNG");
CUR=1;
while(1)
{
SMER();
CURSORPOSITION();
blitAlphaImageToScreen(0, 0 , 480, 272, SETUP, 0, 0);
blitAlphaImageToScreen(0, 0 , 24, 24, SPOT, CURX, CURY);
flipScreen();
if(((CURX>20&&CURX<102)&&(CURY>111&&CURY<156))&&DO==1){LANG=1;break;}
if(((CURX>190&&CURX<278)&&(CURY>111&&CURY<156))&&DO==1){LANG=2;break;}
if(((CURX>352&&CURX<442)&&(CURY>111&&CURY<156))&&DO==1){LANG=3;break;}
}
freeImage(SETUP);CUR=0;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=========================================INFO=================================================
void CREDITS()
{PAGE1 = loadImage("./GRAPHICS/CREDITS/PAGE1.png");
blitAlphaImageToScreen(0, 0 , 480, 272, PAGE1, 0, 0);
flipScreen();
DO=0;
while(DO==0)
{SMER();}
CREDITSPAGE = loadImage("./GRAPHICS/CREDITS/LASTPAGE.png");
blitAlphaImageToScreen(0, 0 , 480, 272, CREDITSPAGE, 0, 0);
flipScreen();
DO=0;
while(DO==0)
{SMER();}
freeImage(PAGE1);
freeImage(CREDITSPAGE);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=============================================OPTIONS MENU================================DONE=
void OPTIONS()
{
//by default jok=4,fx=1
ITEM=1;
while (UNDO==0)
{
blitAlphaImageToScreen(0, 0 , 480, 272, OPTIONSBACK, 0, 0);
X++;
if ((X>20)&&(Y<1)){Y=1;X=0;}
if ((X>20)&&(Y>0)){Y=0;X=0;}
switch (ITEM){
case 1:
{if((Y==1)&&(JOK==4)){ blitAlphaImageToScreen( 0,0,180,40,JOKERSON, 159,100);}
else {if(Y==1){ blitAlphaImageToScreen( 0, 0, 180, 40, JOKERSOFF, 159,100);}}
if(FX==1){ blitAlphaImageToScreen( 0, 0, 155, 40, FXON, 169,140);}
else { blitAlphaImageToScreen( 0, 0, 155, 40, MUSICON, 169,140);}
blitAlphaImageToScreen( 0, 0, 155, 40, INFO, 154,180);break;}
case 2:
{if(JOK==4){ blitAlphaImageToScreen( 0,0,180,40,JOKERSON,159,100);}
else { blitAlphaImageToScreen( 0, 0, 180, 40, JOKERSOFF, 159,100);}
if((FX==1)&&(Y==1)){ blitAlphaImageToScreen( 0, 0, 155, 40, FXON, 169,140);}
else if(Y==1){ blitAlphaImageToScreen( 0, 0, 155, 40, MUSICON, 169,140);}
blitAlphaImageToScreen( 0, 0, 155, 40, INFO, 154,180);break;}
case 3:
{if(JOK==4){blitAlphaImageToScreen( 0,0,180,40,JOKERSON, 159,100);}
else { blitAlphaImageToScreen( 0, 0, 180, 40, JOKERSOFF, 159,100);}
if(FX==1){ blitAlphaImageToScreen( 0, 0, 155, 40, FXON, 169,140);}
else {blitAlphaImageToScreen( 0, 0, 155, 40, MUSICON, 169,140);}
if(Y==1){blitAlphaImageToScreen( 0, 0, 155, 40, INFO, 154,180);}break;}
}
flipScreen();
SMER();
ITEM=(ITEM+MOVEH);
if(ITEM<1){ITEM=3;}
if(ITEM>3){ITEM=1;}
if((ITEM==1)&&(DO==1)){if(JOK==4){JOK=0;}else{JOK=4;}}
if((ITEM==2)&&(DO==1)){if(FX==1){FX=0;}else{FX=1;}}
if((ITEM==3)&&(DO==1)){CREDITS();}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=============================================MENU=====================================DONE=
void MENU()
{
MP3_Init(1);
MP3_Load("./MUSIC/menu.mp3");
MP3_Play();
START=0;CHOOSE=STARTPNG;X=0;I=0;DO=0;ITEM=0; //nastavenie buniek
while(START==0) //cyklus plati kym je START=0
{
blitAlphaImageToScreen(0, 0 , 480, 272, MENUPNG, 0, 0); //pozadie
printTextScreen(10, 235, "BETA v0.5", RGB(0, 0, 0));
printTextScreen(335, 245, "code by MooToo", RGB(0, 0, 0));
printTextScreen(335, 255, "graphics by *DAVE*", RGB(0, 0, 0)); //nick
X++;
if ((X>20)&&(Y<1)){Y=1;X=0;}
if ((X>20)&&(Y>0)){Y=0;X=0;}
if(Y==1){ blitAlphaImageToScreen( 0, 0, 155, 40, CHOOSE, 164,232);}
flipScreen();
SMER();
if((ITEM==1)&&(DO==1)){OPTIONS();} //vyvolanie podprog. SMER
if((ITEM==2)&&(DO==1)){END=1;START=1;} //test volby end
if((ITEM==0)&&(DO==1)){START=1;END=0;} //test nolby start
if((ITEM==0)&&(STARTER==1)){START=1;} //
ITEM=ITEM+MOVEV; //pohyb v menu
if(ITEM<0) {ITEM=2;} //
if(ITEM>2) {ITEM=0;} //
if(ITEM==0){CHOOSE=STARTPNG;}
if(ITEM==2) {CHOOSE=ENDPNG;}
if (ITEM==1) {CHOOSE=OPTIONSPNG;}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//==============================================RENDER GAME===================================DONE:D
void RENDERGAME()
{
blitAlphaImageToScreen(0, 0 , 480, 272, GAMEBOARD, 0, 0);
if(CHANGEH[1]==0){blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[1], 32, 115);}else{blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, 32, 115);}
if(CHANGEH[2]==0){blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[2], 118, 115);}else{blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, 118, 115);}
if(CHANGEH[3]==0){blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[3], 204, 115);}else{blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, 204, 115);}
if(CHANGEH[4]==0){blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[4], 290, 115);}else{blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, 290, 115);}
if(CHANGEH[5]==0){blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[5], 376, 115);}else{blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, 376, 115);}
blitAlphaImageToScreen(0, 0 , 24, 24, SPOT, CURX, CURY);
//blit score
Y=0;
FULLNUMBER=KREDIT;NUMBERTOPICTURE();
for(Z=NUMBERS;Z>0;Z--)
{blitAlphaImageToScreen(0, 0 , 18, 30, NUMBPIC[NUMB[Z]], (90+Y), 4);Y+=18;}
//blit bett
Y=0;
FULLNUMBER=BETT;NUMBERTOPICTURE();
for(Z=NUMBERS;Z>0;Z--)
{blitAlphaImageToScreen(0, 0 , 18, 30, NUMBPIC[NUMB[Z]], (70+Y), 40);Y+=18;}
flipScreen();
if(FX==0) MP3_ShufflePlayer();
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void PAUSE()
{
blitAlphaImageToScreen(0, 0 , 480, 272, PAUSESCREEN, 0, 0);
flipScreen();
while(1)
{SMER();
if (UNDO==1){break;}
if(DO==1){KONIEC=1;break;}
}
PAUSA=0;
}
//==========================================ACTION==========================================DONE:D
void ACTIONDETECT()
{
SMER();
if (STARTER==1){PAUSA=1;}
if(DUBLING==1){BETT=BETT+2;if(BETT>100){BETT=2;}}
if(BETT>KREDIT){BETT=KREDIT;}
if (DO==1){ACTION=1;}
if ((((CURX>22)&&(CURX<93))&&((CURY>115)&&(CURY<211)))&&(CHBUTON==1)){if(CHANGEH[1]==0){CHANGEH[1]=1;}else{CHANGEH[1]=0;}}
if ((((CURX>108)&&(CURX<179))&&((CURY>115)&&(CURY<211)))&&(CHBUTON==1)){if(CHANGEH[2]==0){CHANGEH[2]=1;}else{CHANGEH[2]=0;}}
if ((((CURX>194)&&(CURX<265))&&((CURY>115)&&(CURY<211)))&&(CHBUTON==1)){if(CHANGEH[3]==0){CHANGEH[3]=1;}else{CHANGEH[3]=0;}}
if ((((CURX>280)&&(CURX<351))&&((CURY>115)&&(CURY<211)))&&(CHBUTON==1)){if(CHANGEH[4]==0){CHANGEH[4]=1;}else{CHANGEH[4]=0;}}
if ((((CURX>366)&&(CURX<437))&&((CURY>115)&&(CURY<211)))&&(CHBUTON==1)){if(CHANGEH[5]==0){CHANGEH[5]=1;}else{CHANGEH[5]=0;}}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//========================================DOUBLEWINGAME=====================================DONE:D
void DOUBLEGAME()
{
KARTA=1;
for(I=1;I<6;I++)
{KARTA+=1;CARDH[I]=CARD[KARTA];COLH[I]=CARDCOL[KARTA];}
LOADCARDSIMAGES();
blitAlphaImageToScreen(0, 0 , 480, 272, DOUBLINGBACK, 0, 0);flipScreen();
blitAlphaImageToScreen(0, 0 , 480, 272, DOUBLINGBACK, 0, 0);flipScreen();
X=1;ROUND=0;
while (GETWIN!=1&&DOUBLEPOT!=0)
{ROUND+=2;
if(X<5){X+=1;} else
{MIX();
KARTA=1;
for(I=1;I<6;I++)
{KARTA+=1;CARDH[I]=CARD[KARTA];COLH[I]=CARDCOL[KARTA];}
LOADCARDSIMAGES();X=1;
}
blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, (10+(ROUND*10)), 87);
//blit score
Y=0;
FULLNUMBER=DOUBLEPOT;NUMBERTOPICTURE();
//prepis cisel
blitAlphaImageToScreen(0, 0 , 321, 62, REMOVER, 0, 0);
for(Z=NUMBERS;Z>0;Z--)
{blitAlphaImageToScreen(0, 0 , 18, 30, NUMBPIC[NUMB[Z]], (100+Y), 17);Y+=18;}
flipScreen();
blitAlphaImageToScreen(0, 0 , 71, 96, BACKCARD, (10+(ROUND*10)), 87);
//blit score
Y=0;
FULLNUMBER=DOUBLEPOT;NUMBERTOPICTURE();
//prepis cisel
blitAlphaImageToScreen(0, 0 , 321, 62, REMOVER, 0, 0);
for(Z=NUMBERS;Z>0;Z--)
{blitAlphaImageToScreen(0, 0 , 18, 30, NUMBPIC[NUMB[Z]], (100+Y),17);Y+=18;}
flipScreen();
DO=0;
while(1)
{
SMER();
if((COLH[X]==1||COLH[X]==4||CARDH[X]==14)&&CHBUTON==1)
{DOUBLEPOT+=DOUBLEPOT;
blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[X], (10+(ROUND*10)), 87);flipScreen();
blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[X], (10+(ROUND*10)), 87);flipScreen();break;}
if((COLH[X]==2||COLH[X]==3||CARDH[X]==14)&&DUBLING==1)
{DOUBLEPOT+=DOUBLEPOT;
blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[X], (10+(ROUND*10)), 87);flipScreen();
blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[X], (10+(ROUND*10)), 87);flipScreen();break;}
if((COLH[X]==1||COLH[X]==4)&&DUBLING==1)
{DOUBLEPOT=0;blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[X], (10+(ROUND*10)), 87);}
if((COLH[X]==2||COLH[X]==3)&&CHBUTON==1)
{DOUBLEPOT=0;blitAlphaImageToScreen(0, 0 , 71, 96, CARDPIC[X], (10+(ROUND*10)), 87);}
flipScreen();
if(DOUBLEPOT==0){sceKernelDelayThread(800000);break;}
if(DO==1){sceKernelDelayThread(800000);KREDIT=KREDIT+DOUBLEPOT;GETWIN=1;break;}
if(FX==0) MP3_ShufflePlayer();
}
if(FX==0) MP3_ShufflePlayer();
}
GETWIN=0;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=========================================YOUWINRENDER====================================DONE:D
void YOUWINRENDER()
{
if(FX==0) MP3_ShufflePlayer();
WIN=1;
if(POKER==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/POKER/POKER%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(HIGHPAIR==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/HIGHPAIR/HP%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(TWOPAIRS==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/TWOPAIRS/TP%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(THREEOFAKIND==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/3OFAKIND/3KIND%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(FIVEOFAKIND==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/5OFAKIND/5KIND%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(FLUSH==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/FLUSH/FL%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(ROYALFLUSH==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/ROYALFLUSH/rf%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(STRAIGHT==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/STRAIGHT/ST%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
if(FULLHOUSE==1)
{for(X=1;X<6;X++)
{sprintf (LABELFILE,"./GRAPHICS/WINLABELS/FULLHOUSE/FH%d.PNG",X);
WINPNG[X]=loadImage(LABELFILE);
}
}
X=1;Y=1;CHBUTON=DUBLING=0;
while(CHBUTON==0&&DUBLING==0)
{if(FX==0) MP3_ShufflePlayer();
blitAlphaImageToScreen(0, 0 , 480, 272, YOUWINBACK, 0, 0);
blitAlphaImageToScreen(0, 0 , 300, 100, WINPNG[X], 80, 60);
//BLIT DOUBLE POT
Z=0;
FULLNUMBER=DOUBLEPOT;NUMBERTOPICTURE();
for(I=NUMBERS;I>0;I--)
{blitAlphaImageToScreen(0, 0 , 18, 30, NUMBPIC[NUMB[I]], ((240-(NUMBERS*9))+Z), 150);Z+=18;}
if (X==5){Y=-1;}
if (X==1){Y=1;}
X=X+Y;
flipScreen();
SMER();
}
if(CHBUTON==1){KREDIT=KREDIT+DOUBLEPOT;}
X=Y=Z=0;
if(WINPNG[1])freeImage(WINPNG[1]);
if(WINPNG[2])freeImage(WINPNG[2]);
if(WINPNG[3])freeImage(WINPNG[3]);
if(WINPNG[4])freeImage(WINPNG[4]);
if(WINPNG[5])freeImage(WINPNG[5]);
ACTION=0;DO=0; UNDO=0; STARTER=0; MOVEV=0; MOVEH=0;KONIEC=0;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=====================================checkhand========================================DONE:D
void CHECKHAND()
{
//zoradenie kariet*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++DONE!!!!!!!!:D
for(X=5;X>1;X--)
{for(Y=(X-1);Y>0;Y--)
{if (CARDH[X]<CARDH[Y])
{CELLCARD=CARDH[X];CARDH[X]=CARDH[Y];CARDH[Y]=CELLCARD;
CELLCOLOR=COLH[X];COLH[X]=COLH[Y];COLH[Y]=CELLCOLOR;}
}
}
if(FX==0) MP3_ShufflePlayer();
//JOKERS**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++DONE!!!!!!!!:D
JOKER=0;
for (X=5;X>0;X--)
{if (CARDH[X]==14){JOKER+=1;}
}
if(FX==0) MP3_ShufflePlayer();
//STRAIGHT***++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++UNDONE ================8D
STRAIGHT=0;ANOTHERONE=0;
JOKERZ=JOKER;
CELLCARD=0;
for(X=1;X<(5-JOKER);X++)
{CELLCARD=((CARDH[X+1])-1);
if (CELLCARD==CARDH[X]){ANOTHERONE+=1;} else
{for(Y=1;Y<=JOKERZ;Y++)
{CELLCARD-=1;if(CELLCARD==CARDH[X]){ANOTHERONE+=1;JOKERZ-=1;break;}}
}
}
if(ANOTHERONE==(X-1)){STRAIGHT=1;DOUBLEPOT=(BETT*10);}
if(FX==0) MP3_ShufflePlayer();
//color****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++DONE!!!!!!!:D
FLUSH=0;COLWIN=0;ROYALFLUSH=0;
for(X=1;X<(5-JOKER);X++)
{if(COLH[X]==COLH[X+1]){COLWIN+=1;}}
if(COLWIN==(X-1)){FLUSH=1;DOUBLEPOT=(BETT*5);}
if(STRAIGHT==1&&FLUSH==1){STRAIGHT=0;FLUSH=0;ROYALFLUSH=1;DOUBLEPOT=(BETT*30);}
if(FX==0) MP3_ShufflePlayer();
//PAR,TERCKA,POKER,5ofaKind*****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++DONE!!!!!!!:D
if(ROYALFLUSH==0)
{
SAME=0;ANOTHERONE=0;HIGHPAIR=0;TWOPAIRS=0;THREEOFAKIND=0;POKER=0;FULLHOUSE=0;FIVEOFAKIND=0;
CELLCARD=0;
for(X=1;X<(5-JOKER);X++)
{if(CARDH[X]==CARDH[X+1])
{if (CELLCARD==0){SAME+=1;CELLCARD=CARDH[X];}else
{if(CELLCARD==CARDH[X]){SAME+=1;}else
{SAME+=1;ANOTHERONE+=1;CELLCARD=CARDH[X];}
}
}
}
if(FX==0) MP3_ShufflePlayer();
if (JOKER==0&&SAME==1&&ANOTHERONE==0&&(CELLCARD>10||CELLCARD==1)){HIGHPAIR=1;DOUBLEPOT=(BETT*2);}
if (JOKER==0&&SAME==2&&ANOTHERONE==1){TWOPAIRS=1;DOUBLEPOT=(BETT*3);}
if (JOKER==0&&SAME==2&&ANOTHERONE==0){THREEOFAKIND=1;DOUBLEPOT=(BETT*4);}
if (JOKER==0&&SAME==3&&ANOTHERONE==0){POKER=1;DOUBLEPOT=(BETT*20);}
if (JOKER==0&&SAME==3&&ANOTHERONE==1){FULLHOUSE=1;DOUBLEPOT=(BETT*15);}
//JOKER=1
if (JOKER==1&&(CARDH[4]>10||CARDH[1]==1)&&SAME==0){HIGHPAIR=1;DOUBLEPOT=(BETT*2);}
if (JOKER==1&&SAME==2&&ANOTHERONE==1){FULLHOUSE=1;DOUBLEPOT=(BETT*15);}
if (JOKER==1&&SAME==1){THREEOFAKIND=1;DOUBLEPOT=(BETT*4);}
if (JOKER==1&&SAME==2&&ANOTHERONE==0){POKER=1;DOUBLEPOT=(BETT*20);}
if (JOKER==1&&SAME==3){FIVEOFAKIND=1;DOUBLEPOT=(BETT*30);}
// JOKER=2
if (JOKER==2&&SAME==1){POKER=1;DOUBLEPOT=(BETT*20);}
if (JOKER==2&&SAME==2){FIVEOFAKIND=1;DOUBLEPOT=(BETT*30);}
if (JOKER==2&&SAME==0){THREEOFAKIND=1;DOUBLEPOT=(BETT*4);}
// JOKER=3
if (JOKER==3&&SAME==1){FIVEOFAKIND=1;DOUBLEPOT=(BETT*30);}
if (JOKER==3&&SAME==0){POKER=1;DOUBLEPOT=(BETT*20);}
// JOKER=4
if (JOKER==4){FIVEOFAKIND=1;DOUBLEPOT=(BETT*30);}
}
if(POKER==1&&FLUSH==1){FLUSH=0;}
if(FIVEOFAKIND==1&&FLUSH==1){FLUSH=0;}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//===========================================game===============================================
void GAME()
{
KREDIT=100;BETT=2;
KONIEC=0;
if(FX!=0){MP3_Stop();MP3_FreeTune();}else{NEXTSONG=0;MP3_Stop();MP3_FreeTune();
MP3_Init(1);sprintf(MUSICFILE,"./MUSIC/%d.mp3",ORDER[ACTUALTRACK]);
MP3_Load(MUSICFILE);
MP3_Play();}
while(KONIEC == 0)
{
if(LANG==1)GAMEBOARD=loadImage("./GRAPHICS/MENUSK/GAMEBOARD.PNG");
if(LANG==2)GAMEBOARD=loadImage("./GRAPHICS/MENUCZ/GAMEBOARD.PNG");
if(LANG==3)GAMEBOARD=loadImage("./GRAPHICS/MENUEN/GAMEBOARD.PNG");
MIX();KARTA=0;CUR=1;CURX=234;CURY=130;DUBLING=0;
for(I=1;I<6;I++)
{KARTA+=1;CARDH[I]=CARD[KARTA];COLH[I]=CARDCOL[KARTA];}
LOADCARDSIMAGES();
ACTION=0;
while (ACTION==0)
{if(KONIEC==1){break;}
RENDERGAME();
CURSORPOSITION();
ACTIONDETECT();
if(PAUSA==1){PAUSE();}
if(FX==0) MP3_ShufflePlayer();
}
//=======================changingcards==========================================DONE!!!
if(CHANGEH[1]==1){KARTA+=1;CARDH[1]=CARD[KARTA];COLH[1]=CARDCOL[KARTA];CHANGEH[1]=0;}
if(CHANGEH[2]==1){KARTA+=1;CARDH[2]=CARD[KARTA];COLH[2]=CARDCOL[KARTA];CHANGEH[2]=0;}
if(CHANGEH[3]==1){KARTA+=1;CARDH[3]=CARD[KARTA];COLH[3]=CARDCOL[KARTA];CHANGEH[3]=0;}
if(CHANGEH[4]==1){KARTA+=1;CARDH[4]=CARD[KARTA];COLH[4]=CARDCOL[KARTA];CHANGEH[4]=0;}
if(CHANGEH[5]==1){KARTA+=1;CARDH[5]=CARD[KARTA];COLH[5]=CARDCOL[KARTA];CHANGEH[5]=0;}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LOADCARDSIMAGES();
freeImage(GAMEBOARD);
if(LANG==1)GAMEBOARD=loadImage("./GRAPHICS/MENUSK/GAMEBOARD2.PNG");
if(LANG==2)GAMEBOARD=loadImage("./GRAPHICS/MENUCZ/GAMEBOARD2.PNG");
if(LANG==3)GAMEBOARD=loadImage("./GRAPHICS/MENUEN/GAMEBOARD2.PNG");
DO=0;KREDIT-=BETT;
while(DO==0)
{
if (STARTER==1){PAUSA=1;}
if(KONIEC==1){break;}
RENDERGAME();
CURSORPOSITION();
SMER();
if(FX==0) MP3_ShufflePlayer();
if(PAUSA==1){PAUSE();}
}
freeImage(GAMEBOARD);
if(KONIEC!=1)CHECKHAND();
if(KONIEC!=1)if(HIGHPAIR==1||THREEOFAKIND==1||TWOPAIRS==1||POKER==1||FULLHOUSE==1||FIVEOFAKIND==1||FLUSH==1||ROYALFLUSH==1||STRAIGHT==1) {YOUWINRENDER();}
if(KONIEC!=1)if (DUBLING==1){DOUBLEGAME();}
if(KREDIT==0){KONIEC=1;}
}
if(FX==0)MP3_End();
CUR=0;
}
//==============================================================================================
//================================================main============================================
int main()
{
SetupCallbacks();
initGraphics();
pspAudioInit();
FIRSTSCR = loadImage("./GRAPHICS/POKER.png");
// =====================================FIRST SCREEN===============================================
SETUP();
LOADING=loadImage("./GRAPHICS/LOADING.PNG");
blitAlphaImageToScreen(0, 0 , 480, 272, LOADING, 0, 0);
flipScreen();
freeImage(LOADING);
MP3_ShufflePlayerInit();
LOADNUMBERSPICS();
if(LANG==1){PRESSSTART = loadImage("./GRAPHICS/MENUSK/LABELS/PRESSSTART.png");}
if(LANG==2){PRESSSTART = loadImage("./GRAPHICS/MENUCZ/LABELS/PRESSSTART.png");}
if(LANG==3){PRESSSTART = loadImage("./GRAPHICS/MENUEN/LABELS/PRESSSTART.png");}
STARTER=0;CURX=1;CURY=1;
while(STARTER==0){
MIX();
blitAlphaImageToScreen(0, 0 , 480, 272, FIRSTSCR, 0, 0);
CURX++;
if ((CURX>20)&&(CURY==0)){CURY=1;CURX=0;}
if ((CURX>20)&&(CURY==1)){CURY=0;CURX=0;}
if(CURY==1){ blitAlphaImageToScreen( 0, 0, 214, 40, PRESSSTART, 130,232);}
flipScreen();
SMER();
}
freeImage(FIRSTSCR);
freeImage(PRESSSTART);
//=================================================================================================
END=0;
while(1){
MENU();
if (END==1){ENDOFGAME();}
GAME();
END=0;
}
sceKernelSleepThread();
return 0;
}
//=============================================END=================================================