من يه بازي ساده تحت سي ميخوام كسي بازي آماده داره ؟
خيلي فوريه :sad:
Printable View
من يه بازي ساده تحت سي ميخوام كسي بازي آماده داره ؟
خيلي فوريه :sad:
مریم جان
اول از همه ازت می خوام معذرتخواهی من رو قبول کنی. موقعیتی پیش اومد که نتونستم جواب سوالت رو همون یک ساعت پیش بدم.
دوما یه برنامه هست که به X-O معروفه و اسم اصلیش TicTacToe هست که یکی از دوستان دیگه هم چند روز پیش در تاپیک [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] درخواستش رو داده بودند و کدش هم اینه:
موفق باشی دوست من.کد://**************************************
//
// Name: Basic TicTacToe
// Description:Just another simple TicTa
// cToe Game
// By: Dan R
//
//This code is copyrighted and has// limited warranties.Please see http://
// www.Planet-Source-Code.com/vb/scripts/Sh
// owCode.asp?txtCodeId=10094&lngWId=3//for details.//**************************************
//
//Program: Basic TicTacToe
//Author: Dan R (NoName)
//Date: 12/07/2005
#include <iostream>
using namespace::std;
#include <stdlib.h>
void displayBoard();
bool checkWin();
void move(bool);
bool isLegal(int);
char board[9] = {'1','2','3','4','5','6','7','8','9'};
void main()
{
bool player = false; // true = X false = O
displayBoard();
while(!checkWin())
{
if(player == true)
player = false;
else
player = true;
move(player);
}
if(player == true)
cout << "Player 1 WINS" << endl;
else
cout << "Player 2 WINS" << endl;
}
void displayBoard()
{
system("cls");
cout << "\n " << board[0] << " | " << board[1] << " | " << board[2] << endl
<< " ---------" << endl
<< " " << board[3] << " | " << board[4] << " | " << board[5] << endl
<< " ---------" << endl
<< " " << board[6] << " | " << board[7] << " | " << board[8] << endl;
}
bool checkWin()
{
if(board[0] == board[1] && board[2] == board[0] )
return true;
else if(board[3] == board[4] && board[5] == board[3])
return true;
else if(board[6] == board[7] && board[8] == board[6])
return true;
else if(board[0] == board[3] && board[6] == board[0])
return true;
else if(board[1] == board[4] && board[7] == board[1])
return true;
else if(board[2] == board[5] && board[8] == board[2])
return true;
else if(board[0] == board[4] && board[8] == board[0])
return true;
else if(board[2] == board[4] && board[6] == board[2])
return true;
else
return false;
}
void move(bool who)
{
int spot;
if(who == true)
cout << "\nEnter your move Player 1: ";
else
cout << "\nEnter your move Player 2: ";
cin >> spot;
if(isLegal(spot))
{
if(who == true)
board[spot-1] = 'X';
else
board[spot-1] = 'O';
}
else
move(who);
displayBoard();
}
bool isLegal(int spot)
{
if(board[spot-1] == 'X' || board[spot-1] == 'O')
return false;
else
return true;
}
مریم جان
نمی دونم به چه دلیلی شما نمی تونی پیغام خصوصی بفرستی و بگیری. امکان داره شما هنوز ای میلActivation ی که برات ارسال شده رو جواب ندادی. ولی خوب نمی دونم در اینصورت چطور تونستی پست بدی. :blink:
اما دوست من، چرا سوالاتت رو در انجمنها مطرح نمی کنی تا همه ببینند و نظر بدند و از این طریق شاید هم زودتر به جوابت برسی؟
نترس، هیچی نمی شه، جرات داشته باش و سوالت رو بپرس، حتی اگه یه کم ساده باشه. ;) من هواتو دارم عزیزم. :)
در ضمن این بازی رو هم بطور اتفاقی برات پیدا کردم، بشرط اینکه نگی چرا C++ هست و من C ش رو می خوام ها.
:happy:
یه بازی هست بنام Secret Word (کلمه مخفی)
خلاصه اش اینه که کاربر باید تمامی حروف درون یک کلمه خاص رو که معلوم نیست چیه، پیدا کنه. اگه کلمه ای رو بگه که درون کلمه موردنظر وجود داشته باشه، در محل صحیحش نمایش داده می شه. کاربر می تونه به تعداد FAILS_ALOWED بار با شکست مواجه بشه.
استراتژی این بازی خیلی شبیه بازی معروف Hangman هست که احتمالا باهاش آشنا هستین.
کد://****************************************
// cplusplus language tutorial
// section 3.2
//
// "The Secret Word"
// Shows:
// - strings
// - arrays of strings
// - cstring functions: strcpy and strlen
//
// Briefing:
// The user has to discover all the letters
// in a secret keyword.
// Each letter said that is in the keyword
// is shown in its rightful location.
// He/She has the opportunity to fail up
// to FAILS_ALLOWED times.
// *****************************************
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define N_KEYS 12
#define KEY_MAX_WIDTH 20
#define FAILS_ALLOWED 7
// Possible keywords. You may inser new ones if you increase N_KEYS.
char possiblekeys [N_KEYS][KEY_MAX_WIDTH] = {
"mushroom", "pineapple", "neighborhood", "citizen",
"programming", "darkness", "fundamental", "encyclopedia",
"businessman", "restaurant", "observatory", "civilization"
};
// This will store the key
char key [KEY_MAX_WIDTH];
// This will store the string shown on screen with letters already discovered.
char outstring [KEY_MAX_WIDTH];
int CheckLetter (char letter);
main ()
{
char input;
int valid;
int fails = FAILS_ALLOWED;
unsigned int discovered = 0;
unsigned int n;
// Select a key.
srand ( time (NULL) ); // Initialize random number generator
int value = rand()%N_KEYS; // Get random between 0 and NKEYS-1
strcpy (key,possiblekeys[value]); // Copy key
// Set outstring to '-' characters plus terminating null-character
for (n=0; n<strlen(key); n++) outstring[n]='-';
outstring[n]='\0';
do {
// Prompt user
cout << "\nDiscover the secret key: " << outstring << "\n";
cout << "Enter a letter (You may fail " << fails << " times): ";
cin >> input; cin.ignore (100,'\n');
// check if letter is valid
valid = CheckLetter (input);
// it it is valid, increase dicovered letters counter.
// if not, decrease allowed fails
if (valid!=0) discovered+=valid;
else fails--;
} while (discovered < strlen(key) && fails>0);
// The loop ends if key is discovered or fails are exhausted.
// Display CORRECT! only if key was discovered.
if (discoverd == strlen(key)) cout << "CORRECT! ";
cout "Key was '" << key <<"'.\n";
return 0;
}
// Function that checks if letter is in key.
// returns the number of times the letter was found in key
int CheckLetter (char letter)
{
unsigned int n;
int found=0;
for (n=0; n<strlen(key); n++)
if (key[n]==letter && outstring[n]=='-')
{
found++;
outstring[n]=key[n];
}
return found;
}
سلام
من لينك سورس يه بازي رو كه خودم نوشتم
تو سايت گذاشتم.
مي توني استفاده كني
با سلام خدمت دوست عزيزم bithiah
برنامه مربوط به بازي secret word در خط هاي 61 و 62 دچار خطا ميباشد.
اصلاح خطا: خط 61: discoverd بايد به discovered تبديل شود.
خط 62: ;"cout "key was" << key <<"/n بايد به ";cout <<"key was" << key <<"/n تبديل شود.
برنامه هات خيلي عاليه مرسي :)