X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fminigames%2Fminigame%2Fttt.qc;h=e06bb46628c5366db60f07a129feaf0cc18358f7;hp=8c5005ed259f301e924a19c781ec2080db2e064a;hb=c039d054a46888048d214000273ccfc63e4611b6;hpb=5607e279fe7b0dc9f92e15556ed6dc33f17f549c diff --git a/qcsrc/common/minigames/minigame/ttt.qc b/qcsrc/common/minigames/minigame/ttt.qc index 8c5005ed25..e06bb46628 100644 --- a/qcsrc/common/minigames/minigame/ttt.qc +++ b/qcsrc/common/minigames/minigame/ttt.qc @@ -1,3 +1,4 @@ +#include "ttt.qh" REGISTER_MINIGAME(ttt, "Tic Tac Toe"); const int TTT_TURN_PLACE = 0x0100; // player has to place a piece on the board @@ -25,11 +26,11 @@ const int TTT_TILE_SIZE = 3; // find tic tac toe piece given its tile name entity ttt_find_piece(entity minig, string tile) { - entity e = world; + entity e = NULL; while ( ( e = findentity(e,owner,minig) ) ) if ( e.classname == "minigame_board_piece" && e.netname == tile ) return e; - return world; + return NULL; } // Checks if the given piece completes a row @@ -120,10 +121,10 @@ void ttt_next_match(entity minigame, entity player) minigame.minigame_flags = TTT_TURN_PLACE | minigame.ttt_nexteam; minigame_server_sendflags(minigame,MINIG_SF_UPDATE); minigame.ttt_npieces = 0; - entity e = world; + entity e = NULL; while ( ( e = findentity(e,owner,minigame) ) ) if ( e.classname == "minigame_board_piece" ) - remove(e); + delete(e); } } @@ -142,12 +143,12 @@ int ttt_server_event(entity minigame, string event, ...) } case "end": { - entity e = world; + entity e = NULL; while( (e = findentity(e, owner, minigame)) ) if(e.classname == "minigame_board_piece") { if(e.netname) { strunzone(e.netname); } - remove(e); + delete(e); } return false; } @@ -272,7 +273,7 @@ void ttt_hud_board(vector pos, vector mySize) // Required function, draw the game status panel void ttt_hud_status(vector pos, vector mySize) { - HUD_Panel_DrawBg(1); + HUD_Panel_DrawBg(); vector ts; ts = minigame_drawstring_wrapped(mySize_x,pos,active_minigame.descriptor.message, hud_fontsize * 2, '0.25 0.47 0.72', panel_fg_alpha, DRAWFLAG_NORMAL,0.5); @@ -295,7 +296,7 @@ void ttt_hud_status(vector pos, vector mySize) if ( e.team == 2 ) mypos_y += player_fontsize_y + ts_y; minigame_drawcolorcodedstring_trunc(mySize_x,mypos, - (e.minigame_playerslot ? GetPlayerName(e.minigame_playerslot-1) : _("AI")), + (e.minigame_playerslot ? entcs_GetName(e.minigame_playerslot-1) : _("AI")), player_fontsize, panel_fg_alpha, DRAWFLAG_NORMAL); mypos_y += player_fontsize_y; @@ -417,11 +418,11 @@ int ttt_ai_random(int piecemask) for ( int i = 0; i < 9; i++ ) { if ( piecemask & f ) - RandomSelection_Add(world, f, string_null, 1, 1); + RandomSelection_Add(NULL, f, string_null, 1, 1); f <<= 1; } - LOG_TRACE(sprintf("TTT AI: selected %x from %x\n", + LOG_TRACE(sprintf("TTT AI: selected %x from %x", RandomSelection_chosen_float, piecemask) ); return RandomSelection_chosen_float; } @@ -439,7 +440,7 @@ int ttt_ai_block3 ( int piecemask, int piecemask_free ) r |= ttt_ai_1of3(piecemask,TTT_AI_POSFLAG_A3,TTT_AI_POSFLAG_B3,TTT_AI_POSFLAG_C3); r |= ttt_ai_1of3(piecemask,TTT_AI_POSFLAG_A1,TTT_AI_POSFLAG_B2,TTT_AI_POSFLAG_C3); r |= ttt_ai_1of3(piecemask,TTT_AI_POSFLAG_A3,TTT_AI_POSFLAG_B2,TTT_AI_POSFLAG_C1); - LOG_TRACE(sprintf("TTT AI: possible 3 in a rows in %x: %x (%x)\n",piecemask,r, r&piecemask_free)); + LOG_TRACE(sprintf("TTT AI: possible 3 in a rows in %x: %x (%x)",piecemask,r, r&piecemask_free)); r &= piecemask_free; return ttt_ai_random(r); } @@ -452,15 +453,15 @@ string ttt_ai_choose_simple(int piecemask_self, int piecemask_opponent, int piec { int move = 0; - LOG_TRACE("TTT AI: checking winning move\n"); + LOG_TRACE("TTT AI: checking winning move"); if (( move = ttt_ai_block3(piecemask_self,piecemask_free) )) return ttt_ai_piece_flag2pos(move); // place winning move - LOG_TRACE("TTT AI: checking opponent's winning move\n"); + LOG_TRACE("TTT AI: checking opponent's winning move"); if (( move = ttt_ai_block3(piecemask_opponent,piecemask_free) )) return ttt_ai_piece_flag2pos(move); // block opponent - LOG_TRACE("TTT AI: random move\n"); + LOG_TRACE("TTT AI: random move"); return ttt_ai_piece_flag2pos(ttt_ai_random(piecemask_free)); } @@ -469,7 +470,7 @@ void ttt_aimove(entity minigame) { if ( minigame.minigame_flags == (TTT_TURN_PLACE|minigame.ttt_ai) ) { - entity aiplayer = world; + entity aiplayer = NULL; while ( ( aiplayer = findentity(aiplayer,owner,minigame) ) ) if ( aiplayer.classname == "minigame_player" && !aiplayer.minigame_playerslot ) break; @@ -510,12 +511,12 @@ void ttt_aimove(entity minigame) } // TODO multiple AI difficulties - LOG_TRACE(sprintf("TTT AI: self: %x opponent: %x free: %x\n", + LOG_TRACE(sprintf("TTT AI: self: %x opponent: %x free: %x", piecemask_self, piecemask_opponent, piecemask_free)); pos = ttt_ai_choose_simple(piecemask_self, piecemask_opponent, piecemask_free); - LOG_TRACE("TTT AI: chosen move: ",pos,"\n\n"); + LOG_TRACE("TTT AI: chosen move: ", pos); if ( !pos ) - LOG_TRACE("Tic Tac Toe AI has derped!\n"); + LOG_TRACE("Tic Tac Toe AI has derped!"); else ttt_move(minigame,aiplayer,pos); } @@ -642,8 +643,7 @@ int ttt_client_event(entity minigame, string event, ...) if ( spawnai ) { - entity aiplayer = spawn(); - aiplayer.classname = "minigame_player"; + entity aiplayer = new(minigame_player); aiplayer.owner = minigame; aiplayer.team = ai; aiplayer.minigame_playerslot = 0;