Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Jeux >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> Portal2d
Portal2d
Version : 1.2.1 Taille : 34700 octets Ajouté le : 2012-09-27 23:20 Modifié le : 2022-02-16 11:34
Auteur et posteur :
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Planète Casio - Add-in Casio - Portal2d - javierxd - Calculatrices
Nombre de visites sur cette page : 25254
Score au progrank : 64
Note actuelle : 7.63/10 noté 6 fois
Vous devez être connecté(e) pour noter (inscription).
6192 téléchargements | Voir les Tests (5)

Ce programme est sous licence Creative Commons 2.0 BY-SA-NC


A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

» Télécharger pour Graph 35+E II «
» Télécharger pour autres Graph «

Jeu compatible avec les processeurs SH4 (merci Casimo pour le code et les tests)

I)Introduction
Voici mon jeu pour le concours, c'est une adaptation du célèbre jeu Portal en 2D. De plus c'est mon premier add in, donc soyez indulgents (au moins pour ceux qui ne sont pas testeurs )

II)Présentation du jeu
Le jeu a pour le moment 7 niveaux, cependant, il sont assez difficiles pour vous prendre un bon moment à tous les faire

III)But du jeu et décor
Le but du jeu est d'atteindre la sortie de chaque niveau.
Ta portal gun te permet de créer des portails sur des blocs normaux (les blocs noirs avec un dessin ne te laissent pas placer des portails sur eux)
Les filets d'émancipation (je sais pas comment ça se dit en français ) bloquent les tirs de ta portal gun, et si tu les traverses, tes portails se ferment.
L'eau toxique te tuera si tu la touches, en te faisant revenir au début du niveau.

IV)Sur les portails
Tu peux créer deux portails différents avec ta portal gun. Rentrer dans l'un te téléportera vers l'autre. Un portail ne s'ouvrira que s'il est en contact avec un bloc normal.
Glados a écrit :
L'impulsion, produit de la masse par la vitesse d'un corps, se conserve entre portails. Pour les bêtes, si tu rentres vite, tu sors vite.

Ceci est respecté dans cette adaptation, et tu en auras souvent besoin

V)Commandes
Touches au menus:
REPLAY / 4 et 6: naviguer par le menu
EXE: accepter
exit: revenir au menu principal (si tu n'y es pas déjà)

Touches en jouant:
4 et 6: se déplacer
REPLAY: bouger ton viseur
SHIFT et ALPHA: Tirer avec ta portal gun. Chaque touche te permet de tirer pour un des deux portails.
exit: sortir au menu
F1: L'écran s'efface, faisant semblant que la calto est éteinte, tu peux la rallumer avec EXE

Fichier 1: Exécutable
Fichier 2: sources


Note sur 10 Commentaire Date de notation
9Excellent on croirait jouer à Portal ! ;) Adaptation très bien réussie ! Bravo Le 05.02.2016 à 18:05
8.8Voir le testLe 06.10.2012 à 15:07
6Voir le testLe 08.10.2012 à 20:16
7Voir le testLe 14.10.2012 à 14:10
7Voir le testLe 21.10.2012 à 21:36
8Voir le testLe 22.03.2013 à 14:07

Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7 | Suivante

LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message
Posté le 10-11-2012 à 17:14 | #
J'ai mis a jour mon test (j'ai viré certains commentaires et ait augmenté certaines notes)
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Posté le 10-11-2012 à 19:08 | #
Merci
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Posté le 31-01-2013 à 22:44 | #
Version 1.2
Cliquer pour enrouler

-L'origine du "bug du tremplin" a été repéré, j'essaierai de le corriger pour la prochaine version
-Les sprites des portails ont changé, maintenant on peut observer l'orientation des portails (de plus ça donne une impression plus réaliste)
-Correction d'un bug qui ralentissait le jeu. Maintenant il est plus fluide
-Niveau 7 ajouté
CasimoHors ligneMembrePoints: 141 Défis: 0 Message
Posté le 01-02-2013 à 17:59 | #
Est-ce que tu peux rendre portal 2d power graphic 2 - compatible?
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Posté le 01-02-2013 à 22:09 | #
Je vais essayer
Mais une chose, les progs que tu as rendu compatibles avec les SH4 marchent encore sur les SH3? Car sinon je fais une version de chaque
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 01-02-2013 à 22:16 | #
oui ils marchent encore
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Posté le 01-02-2013 à 22:29 | #
Ok, alors je le fais maintenant
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Posté le 01-02-2013 à 22:49 | #
J'ai essayé avec un copier coller et tout ça m'est sorti (je l'ai ajouté tout en haut du fichier Portal.c):
Portal2D.c(73) : C1016 (W) Argument mismatch
Portal2D.c(73) : C1016 (W) Argument mismatch
Portal2D.c(73) : C1016 (W) Argument mismatch
Portal2D.c(73) : C1016 (W) Argument mismatch
Portal2D.c(88) : C2500 (E) Illegal token "0x02020000"
Portal2D.c(89) : C2500 (E) Illegal token "{"
Portal2D.c(99) : C2230 (E) Illegal function call
Portal2D.c(101) : C2500 (E) Illegal token "else"
Code
Cliquer pour enrouler
/*****************************************************************/
/* Cette partie est responsable */
/* de la compatibilité avec les */
/* processeurs SH4 */
/*****************************************************************/
#define __KEYBIOS_H__
#include "fxlib.h"
#include "menus.h"


#define KEY_CHAR_0 OS2(0x30,71)
#define KEY_CHAR_1 OS2(0x31,72)
#define KEY_CHAR_2 OS2(0x32,62)
#define KEY_CHAR_3 OS2(0x33,52)
#define KEY_CHAR_4 OS2(0x34,73)
#define KEY_CHAR_5 OS2(0x35,63)
#define KEY_CHAR_6 OS2(0x36,53)
#define KEY_CHAR_7 OS2(0x37,74)
#define KEY_CHAR_8 OS2(0x38,64)
#define KEY_CHAR_9 OS2(0x39,54)
#define KEY_CHAR_DP OS2(0x2e,61)
#define KEY_CHAR_EXP OS2(0x0f,51)
#define KEY_CHAR_PMINUS OS2(0x87,41)
#define KEY_CHAR_PLUS OS2(0x89,42)
#define KEY_CHAR_MINUS OS2(0x99,32)
#define KEY_CHAR_MULT OS2(0xa9,43)
#define KEY_CHAR_DIV OS2(0xb9,33)
#define KEY_CHAR_FRAC OS2(0xbb,75)
#define KEY_CHAR_LPAR OS2(0x28,55)
#define KEY_CHAR_RPAR OS2(0x29,45)
#define KEY_CHAR_COMMA OS2(0x2c,35)
#define KEY_CHAR_STORE OS2(0x0e,25)
#define KEY_CHAR_LOG OS2(0x95,66)
#define KEY_CHAR_LN OS2(0x85,56)
#define KEY_CHAR_SIN OS2(0x81,46)
#define KEY_CHAR_COS OS2(0x82,36)
#define KEY_CHAR_TAN OS2(0x83,26)
#define KEY_CHAR_SQUARE OS2(0x8b,67)
#define KEY_CHAR_POW OS2(0xa8,57)
#define KEY_CTRL_EXE OS2(30004,31)
#define KEY_CTRL_DEL OS2(30025,44)
#define KEY_CTRL_AC OS2(30015,32)
#define KEY_CTRL_FD OS2(30046,65)
#define KEY_CTRL_EXIT OS2(30002,47)
#define KEY_CTRL_SHIFT OS2(30006,78)
#define KEY_CTRL_ALPHA OS2(30007,77)
#define KEY_CTRL_OPTN OS2(30008,68)
#define KEY_CTRL_VARS OS2(30016,58)
#define KEY_CTRL_UP OS2(30018,28)
#define KEY_CTRL_DOWN OS2(30023,37)
#define KEY_CTRL_LEFT OS2(30020,38)
#define KEY_CTRL_RIGHT OS2(30021,27)
#define KEY_CTRL_F1 OS2(30009,79)
#define KEY_CTRL_F2 OS2(30010,69)
#define KEY_CTRL_F3 OS2(30011,59)
#define KEY_CTRL_F4 OS2(30012,49)
#define KEY_CTRL_F5 OS2(30013,39)
#define KEY_CTRL_F6 OS2(30014,29)
#define KEY_CTRL_MENU OS2(30003,48)

#ifndef isOS2// This is new

typedef int(*sc_i2cp2sip)(char*, char*, short int*, short int*);
const unsigned int sc0015[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0015 };
#define GlibGetOSVersionInfo (*(sc_i2cp2sip)sc0015)

int OSVersionAsInt(void)
{
unsigned char mainversion;
unsigned char minorversion;
unsigned short release;
unsigned short build;
GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x0000FFFF );
}

#define isOS2 (OSVersionAsInt() 0x02020000)
#define OS2(x,y) ((OSVersionAsInt() 0x02020000)?y:x)

#endif

const unsigned short* keyboardregister = (unsigned short*)0xA44B0000;

unsigned short key[8] = {0};

int KeyDown(int keycode)
{
if(isOS2)
{
int row, col, word, bit;
row = keycode%10;
col = keycode/10-1;
word = row>>1;
bit = col + 8*(row&1);
memcpy(key, keyboardregister, sizeof(unsigned short) << 3);

Sleep(1); //slow down, this function is faster than IsKeyDown() :-P

return (0 (key[word] & 1<<bit));
}
else
{
return IsKeyDown(keycode);
}
}

#define IsKeyDown(x) KeyDown(x)
#define IsKeyUp(x) !KeyDown(x)


/*****************************************************************/
/* */
/* CASIO fx-9860G SDK Library */
/* */
/* File name : Portal2D.c */
/* Author: JavierXD */
/* */
/* Copyright (c) 2006 CASIO COMPUTER CO., LTD. */
/* */
/*****************************************************************/


int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;

Bdisp_AllClr_DDVRAM();

do
{
menu();
} while( 1 );

return 1;
}







#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
// InitializeSystem
//
// param : isAppli : 1 = Application / 0 = eActivity
// OptionNum : Option Number (only eActivity)
//
// retval : 1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section
LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message
Posté le 01-02-2013 à 23:06 | #
c'est bien a cette ligne que sa bug?
OSVersionAsInt() 0x02020000

si oui, il me semble que le copier-coller ne marche pas bien avec les caractères spéciaux (il me semble qu'il manque un caractère de comparaison, type <= par exemple)
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message
Posté le 01-02-2013 à 23:26 | #
Oui, probablement c'est ça, de toute façon je viens me rendre compte que j'ai pas pris la dernière version du code, je vais la prendre...
EDIT: le lien vers le code qui permet aussi d'utiliser getkey me renvoie vers un commentaire, mais il n'y a aucun code. Quelqu'un pourrait me le passer?

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 109 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd