سورس بازی Bouncer در اندروید

چهارشنبه 17 خرداد 1396

در این مقاله قصد داریم که یک بازی برای شما قرار دهیم که این بازی به این صورت هست که زمانی که توپ حرکت می کند باید به آجر های در حال حرکت بخورد و آن را از بین ببرد و زمانی که به توپ خورد نباید از صفحه گوشی خارج شود و گرنه بازی را خواهید باخت و از امتیاز شما کم می شود.

سورس بازی Bouncer در اندروید

در قسمت لایه آن کد زیر را قرار می دهیم البته لایه ی امتیاز و شروع بازی و باخت بازی و صفحه ی امتیاز دهی هم داریم ولی ما اینجا فقط یک لایه را می گذاریم.

<?xml version="1.0" encoding="utf-8"?>
<bouncer.logic.BouncerGame xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/ll_absolute"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   
     android:background="@drawable/game_background">
     <!--  android:background="#FF000000"> -->   
    
</bouncer.logic.BouncerGame>

خود کلاس ها هم به چند کلاس تقسیم می شود یک پوشه مربوط به دیتابیس یک کلاس مربوط به منو ها و یک کلاس مربوط به بازی است الان در این قسمت یکی از کلاس های مربوط به دیتابیس را قرار می دهیم:

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DatabaseHelper extends SQLiteOpenHelper {
	
	static int DATABASE_VERSION = 1;
	static String DATABASE_NAME = "bouncerGame.db";
	
	static String TABLE_NAME = "Results";
	static String RESULTS_COLUMN_NAME = "Name";
	static String RESULTS_COLUMN_POINTS = "Points";
	static String RESULTS_COLUMN_ID = "_id";
	
	String TAG = DatabaseHelper.class.getCanonicalName();

	public DatabaseHelper(Context context) {
	
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
		Log.d(TAG, "DatabaseHelper contructor");
	}

	@Override
	public void onCreate(SQLiteDatabase database) {
		Log.d(TAG,"onCreate");
	database.execSQL("CREATE TABLE " + TABLE_NAME  +
	                 "( " + RESULTS_COLUMN_ID  + " integer primary key, " + RESULTS_COLUMN_NAME + " text, " +
	                       RESULTS_COLUMN_POINTS + " text)");
	
	}

	//on upgrade will be invoked if i change version of db in consturctor
	@Override
	public void onUpgrade(SQLiteDatabase database, int oldVer, int newVer) {
		Log.d(TAG,"onUpgrade");
		
		database.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME );
		onCreate(database);
		
	}
	
	public void saveRecord(String points, String name){
		Log.d(TAG,"saveRecord");
		SQLiteDatabase database = this.getWritableDatabase();
		ContentValues contentValues = new ContentValues();
		contentValues.put(RESULTS_COLUMN_NAME, name);
		contentValues.put(RESULTS_COLUMN_POINTS, points);
	
		
		database.insert(TABLE_NAME , null, contentValues );
		
	}
	
	public Cursor getAllRecors(){
		SQLiteDatabase database = this.getReadableDatabase();
		return database.rawQuery("SELECT * FROM " + TABLE_NAME + " ORDER BY " + RESULTS_COLUMN_POINTS + " DESC" , null);
	}

}

در کلاس بالا دیتابیس را تعریف کرده است و جدول را می سازد و از جدول مورد نظر select می گیرد.

خروجی بازی به صورت زیر خواهد بود:

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید