Page 1 of 1

Error when trying to express start copy of hearts

Posted: 27 March 2017, 21:18
by JCase16
So I'm trying to copy the hearts game into my "myspades" game just so I can start digging in. I believe I changed everything that needs to be changed to make this work but when trying to express start a game, I get this:
"Warning: require_once(/var/www/tournoi/include/action_myspades.inc.php): failed to open stream: No such file or directory in /var/tournoi/release/tournoi-151226-1240-gs/www/index.php on line 50 Fatal error: require_once(): Failed opening required '/var/www/tournoi/include/action_myspades.inc.php' (include_path='/var/tournoi/release/tournoi-151226-1240-gs/www/lib/google-api-php-client/src:.:/usr/share/php:/usr/share/pear') in /var/tournoi/release/tournoi-151226-1240-gs/www/index.php on line 50"

Anyone have any idea what may be causing this? I do not have a file named action_myspades.inc.php but I also have no idea where that would have come from.

Re: Error when trying to express start copy of hearts

Posted: 27 March 2017, 21:59
by episodic
I have no idea what is the problem in this case, sorry, so maybe I post here off-topic, but just wanted to say that I gave up on trying to put the Hearts together. And when I was trying, I found an error in "gameoptions.inc.php":

Code: Select all

$game_options = array(

		100 => array(
				'name' => totranslate('Game length'),
				'values' => array(
						1 => array( 'name' => totranslate( 'Quick game (75 points)' ) ),
						2 => array( 'name' => totranslate( 'Standard game (100 points)' ),
				),
				'default' => 1
		)

);
- there is one closing bracket missing after (100 points)'
it should be:

Code: Select all

2 => array( 'name' => totranslate( 'Standard game (100 points)' ) ),
Maybe it helps you somehow.

BTW, Andy_K's "Nile" in shared code is great for checking how a card system works and it has no errors :)

Re: Error when trying to express start copy of hearts

Posted: 27 March 2017, 22:40
by JCase16
Thanks episodic. DO you have any idea what changes have to be made to a game's code to make it work in a new game location? If I took Nile and just dumped it into my new game's FTP "mynewgame" then what needs to change?

Re: Error when trying to express start copy of hearts

Posted: 28 March 2017, 11:32
by fafa-fr
Hi,
JCase16 wrote:DO you have any idea what changes have to be made to a game's code to make it work in a new game location? If I took Nile and just dumped it into my new game's FTP "mynewgame" then what needs to change?
I once copied the content of a project folder to another project folder, and all I changed was the names of the files, and the occurences of the game name in the code (in 3 or 4 files at least, and not only at the beginning of the files). Beware if you use a case-sensitive search to look for the occurences of the game name, some of them are uppercase.

Re: Error when trying to express start copy of hearts

Posted: 28 March 2017, 11:41
by episodic
edit: yes, exaclty what @fafa-fr has written.
You need to copy-paste the code from the following aknile files into your mynewgame files:
aknile.action.php
aknile.css
aknile.game.php
aknile.js
aknile.view.php
aknile_aknile.tpl
dbmodel.sql
material.inc.php
states.inc.php
stats.inc.php

And "img" folder with image files too.

After that you need to exchange all instances of aknile into mynewgame ->
From aknile.action.php file in mynewgame.action.php file:
class action_aknile extends APP_GameAction
class action_mynewgame extends APP_GameAction

$this->view = "aknile_aknile";
$this->view = "mynewgame_mynewgame";


From aknile.game.php file in mynewgame.game.php file:
class aknile extends Table
class mynewgame extends Table

function aknile( )
function mynewgame( )

return "aknile";
return "mynewgame";


From aknile.js file in mynewgame.js file:
return declare("bgagame.aknile", ebg.core.gamegui, {
return declare("bgagame.mynewgame", ebg.core.gamegui, {

console.log('aknile constructor');
console.log('mynewgame constructor');

this.ajaxcall("/aknile/aknile/pass.html",
this.ajaxcall("/mynewgame/mynewgame/pass.html",

this.ajaxcall("/aknile/aknile/market.html",
this.ajaxcall("/mynewgame/mynewgame/market.html",

this.ajaxcall("/aknile/aknile/offering.html",
this.ajaxcall("/mynewgame/mynewgame/offering.html",

this.ajaxcall("/aknile/aknile/plant.html",
this.ajaxcall("/mynewgame/mynewgame/plant.html",

this.ajaxcall("/aknile/aknile/speculate.html",
this.ajaxcall("/mynewgame/mynewgame/speculate.html",

From aknile.view.php file in mynewgame.view.php file:
class view_aknile_aknile extends game_view
class view_mynewgame_mynewgame extends game_view

return "aknile";
return "mynewgame";

$this->page->begin_block( "aknile_aknile", "myblock" );
$this->page->begin_block( "mynewgame_mynewgame", "myblock" );

$this->page->begin_block( "aknile_aknile", "field" );
$this->page->begin_block( "mynewgame_mynewgame", "field" );

$this->page->begin_block( "aknile_aknile", "opponent" );
$this->page->begin_block( "mynewgame_mynewgame", "opponent" );

and that is it.