Tetris disponible pour Linux, The Fantastic Labyrinth 0.7 en chantier, bientôt de nouvelles vidéos et Demiurge

La semaine du 15 au 20 mai 2017 a commencé par l’écriture du script du No Comment 004. Cet épisode sera sur les élection présidentielles. J’ai besoin d’exprimer la colère que j’ai ressentis, même si je m’attendais à ce résultat. Le premier tour me donnait espoir que la France insoumise puisse gagner, mais après tout était prévisible. Bref, je vais parler de ça, sans entrer dans certains détails que je réserverais à des vidéos ultérieures. Je ne sais pas encore exactement comment je vais produire la vidéo. Je vais peut-être mettre du facecam en petite quantité et mettre beaucoup d’images pour illustrer. Il faudra juste que je fasse attention aux droits d’auteurs parce que les media ont tendance à censurer les opinions en prétextant leurs droits sur les images, même si elles devraient être libre pour servir à l’information du public. Bref, je verrais ça.

J’ai aussi voulu coder Demiurge et j’avais du mal devant mon code pour le moteur 3D. Disons que c’est assez clair maintenant, mais ce qui me gêne depuis longtemps sur ce projet, c’est de ne pas pouvoir développer le plus intéressant du gameplay pour m’amuser avec le jeu. Quand je m’amuse avec un jeu que je développe, j’ai un plus grand plaisir à le développer et je suis donc plus disposée à relever de plus gros défis techniques. Du coup, vous avez du voir passer cette semaine un article dans une nouvelle catégorie ou j’annonçais la division du projet en 3 Demiurges, dont le premier est une version minimale en 2D retro et plus approprié pour du développement plus rapide. Je vous fais un petit rappel ici, mais si l’article doit s’afficher sous celui-ci : Demiurge se met a la mitose X) Le titre est assez rigolo parce qu’il fait référence à la division cellulaire qui aboutit le plus souvent à la formation d’un organisme vivant complexe. Le parallèle n’est pas innocent, car ça illustre bien le besoin pour Demiurge de se diviser pour venir au monde :p

J’ai aussi avancé sur le Doodle de Cyrille et je m’approche progressivement de la fin 🙂 Je me laisse encore un peu de temps pour décider de ce que je mettrais comme background avant de rendre cette contrepartie. Ah oui, finalement le format ne sera pas A6, mais A5, donc plus grand. Le format en dessous ne me semblait pas super appropriés 😉

J’ai commencé le développement de The Fantastic Labyrinth 0.7. J’ai besoin de faire évoluer ma boîte à outil DRIMI pour améliorer les containers et ajouter un core à la GUI. C’est pour ajouter des fenêtres dans le jeu 🙂 Et aussi, je n’ai pas encore compilé la version 0.6 de TFL, mais j’ai installé les librairies nécessaires pour compiler mon Tetris. Ce dernier n’avait besoin que de CMake et SFML. En installant les autres librairies, je pourrais compiler TFL, mais aussi DRIMI et Demiurge, ainsi que tout les autres programmes qui suivront. Allez voir dans la page du Tetris pour télécharger la version Linux. Je l’ai compilé sous Xubuntu 16.04, dites-moi si ça va bien de votre côté. Le Tetris comme les autres jeux sont dans le menu du haut. Je songe à faire un lien pour rassembler tout les jeux sous une appellation et éviter l’encombrement du menu. Ce serait cool de faire une page avec les titres et une image par jeux, présenté en tableau. Je verrais une belle manière de présenter tout ça 🙂

J’ai fais d’autres trucs comme le script du Vlog 3, parce que ça faisait un petit moment qu’en-même. Et enfin, j’ai commencé le montage de la vidéo du développement du Tetris. Je me dis que ce serait peu intéressant de mettre la totalité des 20h de développement. Du coup, je pense que je monterais ça avec des accélérés en musique, des explications et commentaires par moment, et des indication du temps passé.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

recaptcha/recaptchalib.php at 1.0.0 · google/recaptcha · GitHub
Skip to content
Permalink
Switch branches/tags
Find file
8a45f9d Dec 1, 2014
141 lines (129 sloc) 4.47 KB
<?php
/**
* This is a PHP library that handles calling reCAPTCHA.
* - Documentation and latest version
* https://developers.google.com/recaptcha/docs/php
* - Get a reCAPTCHA API Key
* https://www.google.com/recaptcha/admin/create
* - Discussion group
* http://groups.google.com/group/recaptcha
*
* @copyright Copyright (c) 2014, Google Inc.
* @link http://www.google.com/recaptcha
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* A ReCaptchaResponse is returned from checkAnswer().
*/
class ReCaptchaResponse
{
public $success;
public $errorCodes;
}
class ReCaptcha
{
private static $_signupUrl = "https://www.google.com/recaptcha/admin";
private static $_siteVerifyUrl =
"https://www.google.com/recaptcha/api/siteverify?";
private $_secret;
private static $_version = "php_1.0";
/**
* Constructor.
*
* @param string $secret shared secret between site and ReCAPTCHA server.
*/
function ReCaptcha($secret)
{
if ($secret == null || $secret == "") {
die("To use reCAPTCHA you must get an API key from <a href='"
. self::$_signupUrl . "'>" . self::$_signupUrl . "</a>");
}
$this->_secret=$secret;
}
/**
* Encodes the given data into a query string format.
*
* @param array $data array of string elements to be encoded.
*
* @return string - encoded request.
*/
private function _encodeQS($data)
{
$req = "";
foreach ($data as $key => $value) {
$req .= $key . '=' . urlencode(stripslashes($value)) . '&';
}
// Cut the last '&'
$req=substr($req, 0, strlen($req)-1);
return $req;
}
/**
* Submits an HTTP GET to a reCAPTCHA server.
*
* @param string $path url path to recaptcha server.
* @param array $data array of parameters to be sent.
*
* @return array response
*/
private function _submitHTTPGet($path, $data)
{
$req = $this->_encodeQS($data);
$response = file_get_contents($path . $req);
return $response;
}
/**
* Calls the reCAPTCHA siteverify API to verify whether the user passes
* CAPTCHA test.
*
* @param string $remoteIp IP address of end user.
* @param string $response response string from recaptcha verification.
*
* @return ReCaptchaResponse
*/
public function verifyResponse($remoteIp, $response)
{
// Discard empty solution submissions
if ($response == null || strlen($response) == 0) {
$recaptchaResponse = new ReCaptchaResponse();
$recaptchaResponse->success = false;
$recaptchaResponse->errorCodes = 'missing-input';
return $recaptchaResponse;
}
$getResponse = $this->_submitHttpGet(
self::$_siteVerifyUrl,
array (
'secret' => $this->_secret,
'remoteip' => $remoteIp,
'v' => self::$_version,
'response' => $response
)
);
$answers = json_decode($getResponse, true);
$recaptchaResponse = new ReCaptchaResponse();
if (trim($answers ['success']) == true) {
$recaptchaResponse->success = true;
} else {
$recaptchaResponse->success = false;
$recaptchaResponse->errorCodes = $answers [error-codes];
}
return $recaptchaResponse;
}
}
?>
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Fatal error: Class 'ReCaptcha' not found in /homepages/39/d436294224/htdocs/clickandbuilds/TheeDonistMonk/index.php on line 29