سورس بازی Bouncer در اندروید
چهارشنبه 17 خرداد 1396در این مقاله قصد داریم که یک بازی برای شما قرار دهیم که این بازی به این صورت هست که زمانی که توپ حرکت می کند باید به آجر های در حال حرکت بخورد و آن را از بین ببرد و زمانی که به توپ خورد نباید از صفحه گوشی خارج شود و گرنه بازی را خواهید باخت و از امتیاز شما کم می شود.
در قسمت لایه آن کد زیر را قرار می دهیم البته لایه ی امتیاز و شروع بازی و باخت بازی و صفحه ی امتیاز دهی هم داریم ولی ما اینجا فقط یک لایه را می گذاریم.
<?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 می گیرد.
خروجی بازی به صورت زیر خواهد بود:
- Android
- 1k بازدید
- 1 تشکر