الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

للعبه C++ قمت ببرمجتها

بدأه Ali Al-Zyoud في 3 سبتمبر 2009 · 7 رد · 2,015 مشاهدة · في C++.Net
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

http://ifile.it/c6gto5y

http://rapidshare.com/files/274304807/CP1_0910_Proj2.pdf

هذا الرابط كان وصف للعبه وقمت بصناعتها بحوالي 3 ساعات واود ان اطرحها هنا لتعم الفائده للجميع والكود يستطيع اي احد استخدامه او تطويره لتعم الفائده إن شاء الله .

والكود مكون من جزئياً

اولاً game .h

#include<stdio.h>
#include <ctime> 
#include<windows.h>
ref class game{
public :
	void create_new_game(int array_dimension);
	void Print_Game_Screen();
	bool Game_End();
	bool Enter_Number_From_Player(System::String^);
	void Winner();
private :
	int array_size;
	cli::array<System::String^,2>^main_array;
	int player1_score;
	int player2_score;
	bool start;
	int current_row;
	int current_column;
	int current_player;//0-player1  1-player2
};
void game::create_new_game(int array_size){
	time_t l;
	game::array_size=array_size;
	main_array=gcnew array<System::String^,2> (array_size,array_size);
	srand((unsigned)time(NULL));
	for (int i=0;i<array_size;i++)
	for (int j=0;j<array_size;j++)
		main_array[i,j]=System::Convert::ToString((rand()%201-100));
	start=false;//No one make move 
	current_player=0;
}
void game::Print_Game_Screen(){
	for(int i=0;i<array_size;i++){
	for(int s=0;s<array_size;s++){
printf("-------");
	}
	printf("\n");
for(int j=0;j<array_size;j++){
printf("| %s",main_array[i,j]);
for(int c=0;c<(5-main_array[i,j]->Length);c++)
printf(" ");
	}
	printf("|\n");
	}
		for(int s=0;s<array_size;s++){
printf("-------");
	}
		printf("\n");
printf("Player ONE Score %d			 Player TWO Score %d\n",player1_score,player2_score);
}
bool game::Game_End(){
	bool End=false;
	bool in_row=false;
	bool in_column=false;
	for(int i=0;i<array_size;i++){
		for(int j=0;j<array_size;j++)
			if((main_array[i,j]!="X"))
				in_row=false;

	if (in_row) End=true;
		in_row=true;
	}

	for(int j=0;j<array_size;j++){
	for(int i=0;i<array_size;i++)
if((main_array[i,j]!="X"))
in_column=false;

	if (in_column) End=true;
		in_column=true;
	}

	return End;
}
bool game::Enter_Number_From_Player(System::String^ S){
	if(S=="X")
		return 0;
	if(!start){
	for (int i=0;i<array_size;i++)
		for (int j=0;j<array_size;j++)
			if(main_array[i,j]==S){
				player1_score+=System::Convert::ToDouble(main_array[i,j]);
				main_array[i,j]="X";
			current_column=j;
			current_row=i;
			start=true;//the first move done
			}
	current_player=1; 
	return 1;
	}
	if (current_player==0)
		for (int j=0;j<array_size;j++)
			if(main_array[current_row,j]==S){
				player1_score+=System::Convert::ToDouble(main_array[current_row,j]);
				main_array[current_row,j]="X";
				current_column=j;
			current_player=1;
			return 1;}

			if (current_player==1)
			for (int i=0;i<array_size;i++)
				if(main_array[i,current_column]==S){
				player2_score+=System::Convert::ToDouble(main_array[i,current_column]);
				main_array[i,current_column]="X";
				current_row=i;
				current_player=0;
				return 1;}
				return 0;
}

void game::Winner(){
	if (player1_score>player2_score )
	printf("\n******** Player ONE WINs **********");
	else
	printf("\n******** Player TWO WINs **********");

}

ثانياً ال main

// Project.cpp : main project file.
#include "stdafx.h"
#include "game.h"
#include "iostream"
#include<conio.h>

using namespace System;
using namespace std;

int main(array<System::String ^> ^args)
{
	int size;
	String^ temp;
	bool state=0;//if state change meant the other turn
	printf("Enter Array Size  ");
	while(!(cin>>size) || size<0){
	cout<<"\nWrong Input\nEnter Array Size  ";
	cin.clear();
	cin.get();
	}
	game Game;
	Game.create_new_game(size);
	while(!(Game.Game_End())){
	system("cls");
	Game.Print_Game_Screen();
	switch(state){
		case 0:printf("Player One Enter Number ");break;
		case 1:printf("Player Two Enter Number ");break;
		}
	temp=Console::ReadLine();
	if(Game.Enter_Number_From_Player(temp))
	state=!state;
	}
	system("cls");
	Game.Print_Game_Screen();
	Game.Winner();
	getch();
}

وهنا اللعبه مع الكود

c_game.rar

#2

هذه اللعبة مبرمجة بالسي أم بالسي بلس بلس ؟

#3

وعليكــم السـلام ورحمة الله وبركاتـه..

مبرمجه بC++/CLI وسيتم نقلها للقسم المختص بذلك ،، لكنها حاليا تشابه سي++ القياسية بنسبة كبيره حيث لا يوجد استخدام كبير لمكتبات الدوت نت .NET Library

شكرا لصاحب الكود ، وسنتعلم منها عندما نبدأ بتعلم C++.NET .

وفقكم الله ،،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#4
Wajdy Essam كتب:
وعليكــم السـلام ورحمة الله وبركاتـه..

مبرمجه بC++/CLI وسيتم نقلها للقسم المختص بذلك ،، لكنها حاليا تشابه سي++ القياسية بنسبة كبيره حيث لا يوجد استخدام كبير لمكتبات الدوت نت .NET Library

شكرا لصاحب الكود ، وسنتعلم منها عندما نبدأ بتعلم C++.NET .

وفقكم الله ،،

سألت لأنها لم تعمل على مترجم السي بلس بلس :)

#5

c++/CLI

تعمل على ال compilers

Visual C++.NET 2005/2008 فقط ولا تعمل على اي مترجم اخر

#6

إن شاء الله المزيد من التقدم للامام

#7

تم إخفاء جميع الردود الخارجة عن الموضوع

الرجاء الالتزام بآداب الحوار العامة

و أن لا ننسى أننا في منتدى تقني فلنعلي الهمم

كل مشاركة خارج الموضوع بعد مشاركتي هذه ستحذف دون سابق إنذار

#8

ملف اللعبه exe file

game.rar

تم تعديل هذه المشاركة بواسطة Ali Al-Zyoud في 4 أكتوبر 2009 في 23:14

مواضيع مشابهة