Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ   Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ
Trang Chủ Giới Thiệu Chương Trình Học Tài Liệu Lịch Khai Giảng Học Phí Việc Làm Lộ trình học

Go Back   Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ > WEB - ĐỒ HỌA - LẬP TRÌNH > LẬP TRÌNH iOS
Đăng Ký Thành Viên Thành Viên Lịch Ðánh Dấu Ðã Ðọc


LẬP TRÌNH iOS THIẾT KẾ ỨNG DỤNG, GAME TRÊN IPHONE, IPAD, IPOD

Vui lòng gõ từ khóa liên quan đến vấn đề bạn quan tâm vào khung dưới , trước khi đặt câu hỏi mới.


Trả lời
 
Ðiều Chỉnh
  #1  
Old 27-07-2012, 11:20
daklakit2010 daklakit2010 vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Jun 2012
Tuổi: 32
Bài gởi: 37
Thanks: 18
Thanked 3 Times in 3 Posts
Game cờ vua objective c

Để phát triển game cờ vua objective c ta làm theo hướng dẫn sau.


ChessViewController.m
PHP Code:
//
//  ChessViewController.m
//  Chess
//
//  Created by Nicholas Haurus on 3/7/11.
//  Copyright 2011 Haurus Inc. All rights reserved.
//
 
#import "ChessViewController.h"
 
@implementation ChessViewController
 
// Create getters and setters
@synthesize boardViewboardModel;
 
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [
super viewDidLoad];
    
// Add boardmodel
    
boardModel = [[BoardModel allocinit];
    [
boardModel reset];
    [
boardModel print];
    
// Add background
    
UIImage *backgroundImage = [UIImage imageNamed:@"background.png"];
    
UIImageView *backgroundImageView = [[UIImageView allocinitWithImage:backgroundImage];    
    [
self.view addSubview:backgroundImageView];
    
// Add boardview
    
boardView = [[[BoardView allocinitWithFrame:CGRectMake(00640640)] init];
    [
boardView setCenter:CGPointMake(424420)];
    [
boardView render:boardModel];
    [
self.view addSubview:boardView];
}
 
- (
void)didReceiveMemoryWarning {
    
// Releases the view if it doesn't have a superview.
    
[super didReceiveMemoryWarning];    
}
 
 
- (
void)dealloc {
    
// Perform garbage collection
    
[boardModel dealloc];
    [
boardView dealloc];
    [
super dealloc];
}
 
@
end 
BoardModel.m
PHP Code:
//
//  BoardModel.m
//  Chess
//
//  Created by Nicholas Haurus on 3/7/11.
//  Copyright 2011 Haurus Inc. All rights reserved.
//
 
#import "BoardModel.h"
 
// Define your ids for the white pieces
NSString *const WHITE_KING =   @"wk";
NSString *const WHITE_QUEEN =  @"wq";
NSString *const WHITE_BISHOP = @"wb";
NSString *const WHITE_KNIGHT = @"wn";
NSString *const WHITE_ROOK =   @"wr";
NSString *const WHITE_PAWN =   @"wp";
// Define your ids for the black pieces
NSString *const BLACK_KING =   @"bk";
NSString *const BLACK_QUEEN =  @"bq";
NSString *const BLACK_BISHOP = @"bb";
NSString *const BLACK_KNIGHT = @"bn";
NSString *const BLACK_ROOK =   @"br";
NSString *const BLACK_PAWN =   @"bp";
// Define your id for the an empty space
NSString *const EMPTY =   @"em";
 
@
implementation BoardModel
 
@synthesize pieces;
 
-(
idinit {
    
// This we hold which pieces should be on what square
    
pieces = [[NSMutableArray allocinitWithCapacity:64];
    return 
self;
}
 
-(
voidclear {
    
// Removing any existing data
    
[pieces removeAllObjects];
    
// Setup the empty middle
    
for (int i=064i++) {
        [
pieces insertObject:EMPTY atIndex:i];
    }
}
 
-(
voidreset {
    [
self clear];
    
// Setup the white power pieces
    
[pieces replaceObjectAtIndex:0 withObject:WHITE_ROOK];
    [
pieces replaceObjectAtIndex:1 withObject:WHITE_KNIGHT];
    [
pieces replaceObjectAtIndex:2 withObject:WHITE_BISHOP];
    [
pieces replaceObjectAtIndex:3 withObject:WHITE_QUEEN];
    [
pieces replaceObjectAtIndex:4 withObject:WHITE_KING];
    [
pieces replaceObjectAtIndex:5 withObject:WHITE_BISHOP];
    [
pieces replaceObjectAtIndex:6 withObject:WHITE_KNIGHT];
    [
pieces replaceObjectAtIndex:7 withObject:WHITE_ROOK];
    
// Setup the white pawns
    
for (int i=816i++) {
        [
pieces replaceObjectAtIndex:i withObject:WHITE_PAWN];
    }    
    
// Setup the bacl pawns
    
for (int i=4856i++) {
        [
pieces replaceObjectAtIndex:i withObject:BLACK_PAWN];
    }
    
// Setup the black power pieces
    
[pieces replaceObjectAtIndex:56 withObject:BLACK_ROOK];
    [
pieces replaceObjectAtIndex:57 withObject:BLACK_KNIGHT];
    [
pieces replaceObjectAtIndex:58 withObject:BLACK_BISHOP];
    [
pieces replaceObjectAtIndex:59 withObject:BLACK_QUEEN];
    [
pieces replaceObjectAtIndex:60 withObject:BLACK_KING];
    [
pieces replaceObjectAtIndex:61 withObject:BLACK_BISHOP];
    [
pieces replaceObjectAtIndex:62 withObject:BLACK_KNIGHT];
    [
pieces replaceObjectAtIndex:63 withObject:BLACK_ROOK];
}
 
// A valuable tool for dumping what's in memory
// Example NSLog:
// --------- BOARD -----------
// | br bn bb bq bk bb bn br |
// | bp bp bp bp bp bp bp bp |
// | em em em em em em em em |
// | em em em em em em em em |
// | em em em em em em em em |
// | em em em em em em em em |
// | wp wp wp wp wp wp wp wp |
// | wr wn wb wq wk wb wn wr |
// ---------------------------
 
-(void) print {
    
NSLog(@"--------- BOARD -----------");
    
NSString line;
    
// Start at the top of the row first
    
for( int i=7i>=0i--) {
        
line = @"";
        
// Simply move from left to right in that row
        
for( int j=0j<8j++) {
            
// Create a space between for readability
            
line = [line stringByAppendingString:[NSString stringWithFormat:@" %@",[pieces objectAtIndex:i*8+j]]];    
        }
        
NSLog(@"|%@ |",line);
    }
    
NSLog(@"---------------------------");
}
 
@
end 
BoardView.m
PHP Code:
//
//  BoardView.m
//  Chess
//
//  Created by Nicholas Haurus on 3/7/11.
//  Copyright 2011 Haurus Inc. All rights reserved.
//
 
 
#import "BoardView.h"
#import "PieceButton.h"
 
@implementation BoardView
 
- (id)init {
    
squaresView = [[UIView allocinitWithFrame:CGRectMake(00480480)];
    [
self addSubview:squaresView];
    
piecesView = [[UIView allocinitWithFrame:CGRectMake(00480480)];
    [
self addSubview:piecesView];
 
    
UIImage *darksquareImage = [UIImage imageNamed:@"dark-square.png"];
    
UIImage *lightsquareImage = [UIImage imageNamed:@"light-square.png"];    
    
UIImageView *squareImageView;    
    for (
int i=0i<64i++) {
 
        
float fx = (float) ( ) * SQUARE_SIZE;
        
float fy floor) * SQUARE_SIZE;
 
        if((int)
floor(i/8)%2) {
            if( 
i%) {
                
squareImageView = [[UIImageView allocinitWithImage:darksquareImage];
            }
            else {
                
squareImageView = [[UIImageView allocinitWithImage:lightsquareImage];
            }
        }
        else {
            if( 
i%) {
                
squareImageView = [[UIImageView allocinitWithImage:lightsquareImage];
            }
            else {
                
squareImageView = [[UIImageView allocinitWithImage:darksquareImage];                
            }
        }
        [
squareImageView setCenter:CGPointMake(fx,fy)];
        [
squaresView addSubview:squareImageView];
    }
    return 
self;
}
 
// Use this to render the model on to the board view
- (void)render:(BoardModel *)model {
    
PieceButton *pieceButton;
    for (
unsigned int i=064i++) {
        if ([[
model piecesobjectAtIndex:i] != EMPTY ) {
            
pieceButton = [[[PieceButton allocinitWithFrame:CGRectMake(00SQUARE_SIZESQUARE_SIZE)] initWithPiece:[[model piecesobjectAtIndex:i]];
            [
pieceButton setSquare:i];
            [
self addSubview:pieceButton];
        }        
    }
 
 
 
}
 
@
end 
PieceButton.m
PHP Code:
//
//  PieceButton.m
//  Chess
//
//  Created by Nicholas Haurus on 3/7/11.
//  Copyright 2011 Haurus Inc. All rights reserved.
//
 
 
#import "PieceButton.h"
#import "BoardView.h"
 
@implementation PieceButton
 
// Init the piece with it's correct image
-(id)initWithPiece:(NSString *)type  {    
    
NSString *path = [NSString stringWithFormat:@"%@.png",type];
    
UIImage *image = [UIImage imageNamed:path];
    [
self setBackgroundImage:image forState:UIControlStateNormal];
    [
self addTarget:self action:@selector(draggedOut:withEvent: ) forControlEvents:UIControlEventTouchDragOutside UIControlEventTouchDragInside];
    return 
self;
}
 
// Use this function to position the piece
-(voidsetSquare:(unsigned int)squareValue {
    
square squareValue;
    
float fx = (float) ( square ) * SQUARE_SIZE;
    
float fy = (SQUARE_SIZE 7) -floorsquare ) * SQUARE_SIZE;
    [
self setCenter:CGPointMake(fx,fy)];
}
 
// Makes the piece draggable
- (void)draggedOut:(UIControl *)c withEvent:(UIEvent *)ev {
    
CGPoint cord = [[[ev allTouchesanyObjectlocationInView:nil];
    
// Center of the piece plus the offset of the board view
    // Total iPad width 768, Board width 80*8= 640
    // 768-640=128
    // Half of the margin over and down
    // 128/2=64
    // Plus half of the piece size
    // 80/2 = 40
    // 40+64 = 104 net offset
    
cord.-= 104;
    
cord.-= 104;
    
c.center cord;

 
@
end 
Chúc các bạn làm thành công
Các bạn có thể tải project link đính kèm để tham khảo
http://www.mediafire.com/?e5d3rln1pxlqid9
Resource: internet
Trả Lời Với Trích Dẫn
Những người sau đây đã gửi lời cảm ơn daklakit2010 vì bài viết hữu ích này:
Trả lời

Bookmarks

Ðiều Chỉnh

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người Gởi Chuyên mục Trả lời Bài mới gởi
Kho game điện thoại .đồ họa siêu đẹp linkcasau Softwares - Tools 0 18-07-2012 20:08
Chú ý : Bộ game hay nhất và mới nhất cho mobile mikura Thùng Rác 2 10-07-2012 15:40
Game hot tren mobile nam 2012 khanh_pig Quản Lý Phòng Internet - Games 0 09-07-2012 08:53
LÀng game viỆt Đua nhau "lÁch luẬt" trantuanngoc Quản Lý Phòng Internet - Games 0 09-05-2011 23:06



Múi giờ GMT +7. Hiện tại là 22:51
Powered by: vBulletin Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Ad Management by RedTyger