用16位汇编写的弹球游戏

用16位汇编写的弹球游戏
用16位汇编写的弹球游戏

;ballgame jinjing 11002222

ready1 macro

mov ch,0

mov cl,0

mov dh,80

mov dl,60

mov al,00001111b

endm

ready2 macro

mov ch,15

mov cl,14

mov dh,55

mov dl,40

mov al,11011001b

endm

data segment

bump_freq dw 100,-1

bump_time dw 15

hit_freq dw 200,300,400,500,600,700,800,-1 hit_time dw 3,3,3,3,3,3,3

x dw ?

bytes db ?

count_8 db 8

speed dw ?

move_mode_x dw 2

move_mode_y dw -2

same db ?

start_col db ?

BALL_X dw 320 ;Present x coordilnate

BALL_Y dw 380 ;Present y coordinate

db 16 ;Horizontal rows in block

db 2 ;Number of bytes per row

;Symbol encoding of ball symbol

DB 0FH,0F0H,1FH,0F8H,3FH,0FCH,7FH,0FEH

DB 16 DUP(0FFH)

DB 7FH,0FEH,3FH,0FCH,1FH,0F8H,0FH,0F0H

DW 0000H

;COLOR ENCODING OF BALL SYMBOL

BALLCOL DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

DB 0,0,0,0,8 DUP(0CH),0,0,0,0

DB 0,0,0,10 DUP(0CH),0,0,0

DB 0,0,12 DUP(0CH),0,0

DB 0,14 DUP(0CH),0

DB 0,14 DUP(0CH),0

DB 0,14 DUP(0CH),0

DB 0,14 DUP(0CH),0

DB 0,11 DUP(0CH),0FFH,0CH,0CH,0

DB 0,10 DUP(0CH),0FFH,0CH,0CH,0CH,0

DB 0,9 DUP(0CH),0FFH,0CH,0CH,0FFH,0CH,0

DB 0,11 DUP (0CH),0FFH,0CH,0CH,0

DB 0,0,9 DUP(0CH),0FFH,0CH,0CH,0,0

DB 0,0,0,6 DUP(0CH),0FFH,0FFH,0CH,0CH,0,0,0

DB 0,0,0,0,8 DUP(0CH),0,0,0,0

DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

DW 0000H

;-------------------------------------------------------------------------------------------

;-------------------------------------------------------------------------------------------

;Block control area for board

BOARD_X dw 300 ;Present x coordinate

BOARD_Y dw 416 ;Present y coordinate

db 16 ;Horizontal rows in block

db 10 ;Number of bytes per row

;Symbol encoding of board symbol

db 160 dup(0FFH)

dw 0000

;Color encoding of board symbol

BOARD_COL db 80 dup(0EH)

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 0EH,78 dup(06H),0EH ,0EH,78 dup(06H),0EH

db 80 dup(0EH)

dw 0000H

;--------------------------------------------------------------------

---------------------

;Instructions displayed on the top

Instrc db 1

db 14

db 10001001B

db 'Instructions :',0ffh

db ' A. Choose a Level to start the game!',0ffh db ' B. Press < ',1bh,' ',1ah,' > to move

board!',0ffh

db ' C. Press to exit!',0ffh

db ' D. You may link my web to update!',0ffh

db ' E. jinjing 11002222 ',0ffh

db 00h

;--------------------------------------------------------------------

-----------------------

;Level information displayed on the left

level db 10

db 1

db 10001010B

db 'Select level:',0ffh

db 20h,0ffh

db 'easy :<1>',0ffh

db 'normal:<2>',0ffh

db 'hard :<3>',0ffh

db 'insane:<4>',0ffh

db 00h

;----------------------------------------------------------------

passed db 15

db 27

db 10001111B

db 'Great!You have passed this level!',0ffh

db 'please select another level',0ffh

db 'Press any key to continue!',0ffh

db 00h

;------------------------------------------------------------------------------------------

;Information displayed on the middle

OVER_MS db 15

db 29

db 10001110B

db 'Y O U L O S E!',0ffh

db ' ',0ffh

db 'Press to replay ?',0ffh

db 00h

;------------------------------------------------------------------------------------------

;Score displayed on the right

Score db 12

db 38

db 00001010B

db 'Score:'

SCO db 30H

db 30H

db 0FFH

db 00H

SCOR db 00H

;------------------------------------------------------------------------------------------

;Message displayed on the bottom of the screen about thew maker Producer db 20

db 2

db 10001010B

db ' ',0ffh

db ' ',0ffh

db 00h

;----------------------------------------------------------------------------------------

data ends

stack segment stack

db 100('?')

stack ends

code segment

main proc far

assume cs:code,ds:data,ss:stack

start:

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,stack

mov ss,ax

mov ah,0

mov al,12h

int 10h

mov al,2

call writemode

mov ax,0a000h

mov es,ax

mov ah,0

mov al,12h

int 10h

mov al,2

call writemode

ready1

call guang_b

ready2

call guang_b

mov ch,69

mov cl,14

mov dh,2

mov dl,40

mov al,00101011b

call guang_b

mov ch,13

mov cl,14

mov dh,2

mov dl,40

mov al,00101011b

call guang_b

mov al,0

call writemode

mov di,offset Instrc

call graphics_text

mov di,offset Producer call graphics_text

mov di,offset Level

call graphics_text

mov ch,67

mov cl,14

mov dh,10

mov dl,40

mov al,00000000b

;call guang_b

beg:

mov al,0

call writemode

mov sco,48

mov [sco-1],' '

lea di,Score

call graphics_text

mov scor,0

mov al,2

call writemode

call data_xor

call draw_board

gamebeg:

mov ah,07h

int 21h

s1: cmp al,49

jne s2

mov speed,35000

mov bp,offset hit_time mov si,offset hit_freq

call music

jmp go_on

s2: cmp al,50

jne s3

mov speed,25000

mov bp,offset hit_time mov si,offset hit_freq

call music

jmp go_on

s3: cmp al,51

jne s4

mov speed,18000

mov bp,offset hit_time mov si,offset hit_freq

call music

jmp go_on

s4: cmp al,52

jne quit

mov speed,10000

mov bp,offset hit_time mov si,offset hit_freq

call music

jmp go_on

quit: cmp al,20h

jne no

jmp gameover

no: jmp gamebeg

go_on:

call ballshow

call pulloff

mov ah,6

mov dl,0ffh

int 21h

cmp al,4bh

jz board_left

cmp al,4dh

jz board_right

cmp al,20h

jz quit

jmp ball_move

board_left:

call draw_board

mov cx,board_x

cmp cx,130

js no_left

sub cx,10

mov board_x,cx

no_left:

call draw_board jmp ball_move

board_right:

call draw_board

mov cx,board_x

cmp cx,465

jns no_right

add cx,10

mov board_x,cx

no_right:

call draw_board

ball_move:

call ballshow

mov ax,BALL_X

mov bx,BALL_Y

cmp ax,120

js l_end

cmp ax,533

jns r_end

cmp bx,128

jns ready_1

mov ax,board_x

sub ax,8

cmp ball_x,ax

js over_bottom_1

mov ax,board_x

add ax,72

cmp ball_x,ax

jns over_bottom_1

CALL EDITSCORE

mov ax,2

mov move_mode_y,ax

call bump_music

jmp xy_change

r_end:

mov ax,-2

mov move_mode_x,ax call bump_music jmp xy_change

l_end:

mov ax,2

mov move_mode_x,ax

call bump_music

jmp xy_change ready_1: cmp bx,400

js xy_change

mov ax,board_x

sub ax,8

cmp ball_x,ax

js over_bottom_1

mov ax,board_x

add ax,72

cmp ball_x,ax

jns over_bottom_1

CALL EDITSCORE

cmp scor,5h

jb next2

call imp

jmp repl

over_bottom_1:

jmp over_bottom_2

next2: mov ax,board_x

cmp ball_x,ax

js b_end_1

cmp ball_x,ax

add ax,24

cmp ball_x,ax

js b_end_2

cmp ball_x,ax

add ax,40

cmp ball_x,ax

js b_end_3

cmp ball_x,ax

add ax,64

cmp ball_x,ax

js b_end_2

jmp b_end_1

over_bottom_2:

jmp over_bottom

b_end_1:

mov ax,-1

mov move_mode_y,ax

call bump_music

jmp xy_change

b_end_2:

mov ax,-2

mov move_mode_y,ax

call bump_music

jmp xy_change

b_end_3:

mov ax,-3

mov move_mode_y,ax

xy_change:

mov al,0

call writemode

call data_xor

next:

mov al,2

call writemode

call data_xor

mov ax,ball_x

add ax,move_mode_x

mov ax,ball_y

add ax,move_mode_y

mov ball_y,ax

jmp go_on

mov ax,ball_x

add ax,move_mode_x

mov ball_x,ax

mov ax,ball_y

add ax,move_mode_y

mov ball_y,ax

jmp go_on

over_bottom:

mov al,0

call writemode

lea di,OVER_MS

call graphics_text

wait_here:

mov ah,7 int 21h

cmp al,82

jz Replay

cmp al,114

jz Replay

cmp al,20h

jz gameover

jmp wait_here

Replay:

mov al,0

call writemode

call data_xor

lea di,OVER_MS

call graphics_text

repl: mov al,2

call writemode

call data_xor

call draw_board

mov ball_x,320

mov board_x,280

mov board_y,416

jmp beg

gameover: mov al,0

call writemode

call data_normal

mov al,3

mov ah,0

int 10h

mov ax,4c00h

int 21h

ret

main endp

;******************************************************************** ****************

imp proc near

mov al,0

call writemode

call data_xor

lea di,passed

call graphics_text

mov ah,7

int 21h

lea di,passed

call graphics_text

ret

imp endp

;------------------------------------------------------------------------------------

EDITSCORE PROC NEAR

MOV Al,SCOR

CMP Al,99H

JNB SHOWSCORE

ADD Al,01H

DAA

MOV SCOR,Al

SHOWSCORE: MOV AL,0

CALL writemode

CALL DATA_XOR

LEA DI,SCORE

CALL GRAPHICS_TEXT

MOV AL,SCOR

MOV AH,AL

MOV CL,4

SHR AH,CL

OR AH,30H

AND AL,0FH

OR AL,30H

MOV [SCO],AH

MOV [SCO+1],AL

LEA DI,SCORE

CALL GRAPHICS_TEXT

MOV AL,2

CALL writemode

CALL DATA_XOR

RET

EDITSCORE ENDP

;---------------------------------------------------------------------------------------------

;(cx)=count of 15.08us

;---------------------------------------------------------------------------------------------

waitf proc near

push ax

waitf1:

in al,61h

and al,10h

cmp al,ah

je waitf1

mov ah,al

loop waitf1

pop ax

ret

waitf endp

pulloff proc near

mov cx,speed

call waitf

ret

pulloff endp

;---------------------------------------------------------------------------------------

ballshow proc near

lea si,BALL_X

lea bx,ballcol

call VARI_PATTERN

ret

ballshow endp

;******************************************************************** ******************

;----------------------------------------------------------------------------------------

;on entry:

; al=write mode requested

;----------------------------------------------------------------------------------------

writemode PROC NEAR

PUSH AX

MOV DX,3CEH

MOV AL,5

OUT DX,AL

JMP SHORT $+2

MOV DX,3CFH

POP AX

OUT DX,AL

JMP SHORT $+2

;Set bit mask regster to default setting

MOV DX, 3CEH

MOV AL,8

OUT DX,AL

JMP SHORT $+2

MOV DX, 3CFH

MOV AL,0FFH

OUT DX,AL

JMP SHORT $+2

RET

writemode ENDP

;******************************************************************** *********************

;-------------------------------------------------------------------------------------------

;Fill a screen area on a byte boundary base

;On entry:

; CH=pillar address of start point(range 0 to 79)

; CL=rank address of start point(range 0 to 59)

; DL=total ranks to fill(range 1 to 60)

; DH=total pillars to fill(range 1 to 80)

; AL=IRGB color to fill in area

;-------------------------------------------------------------------------------------------

guang_b PROC NEAR

PUSH CX

PUSH DX

PUSH AX

;

MOV AH,0FFH

PUSH AX

CALL COARSE_ADD

;Byte offset into video ROM is now set in BX

;Next set up column counter in CX and row counter in DX

MOV CL, DH

MOV CH, 0

PUSH CX

;Row counter=DL*8

MOV AX,DX

MOV AH,0

MOV CL,8

MUL CL

;Set up outer counter in DX

MOV DX,AX

POP CX

POP AX

OUTER: PUSH CX

PUSH BX

INNER: CALL WRITE_PIX

INC BX

LOOP INNER

;Index to next column

POP BX

ADD BX,80

POP CX

DEC DX

JNZ OUTER

;Restore input register

POP AX

POP DX

POP CX

RET

guang_b ENDP

;******************************************************************** ***********************

;----------------------------------------------------------------------------------------

draw_board proc near

mov board_y,112

lea si,BOARD_X

lea bx,BOARD_COL

call VARI_PATTERN

mov board_y,416

lea si,BOARD_X

lea bx,BOARD_COL

call VARI_PATTERN

ret

draw_board endp

;******************************************************************** ******************

;-------------------------------------------------------------------------------------------

;VGA mode 12H device driver for wrting an individual pixel

;or a pixel pattern to the graphics screen

;on entry:

; ES=0A000H

; BX=byte offset into the video buffer

; AL=pixel color in IRGB format

; AH=bit pattern to set

;This routine assumes that write mode 2 has been set

;-------------------------------------------------------------------------------------------

WRITE_PIX PROC NEAR

PUSH DX

PUSH AX

PUSH AX

;Set bit mask requster according to mask in AH

MOV DX,3CEH

MOV AL,8

OUT DX,AL

JMP SHORT $+2

INC DX

POP AX

MOV AL,AH

OUT DX,AL

JMP SHORT $+2

;Write color code

MOV AL,ES:[BX]

POP AX

MOV ES:[BX],AL

POP DX

RET

WRITE_PIX ENDP

;******************************************************************** *******************

;-------------------------------------------------------------------------------------------

;VGA mode 12H device driver for the procedure

;On entry:

; CH=pillar number(range 0 to 79)

; CL=rank number(range 0 to 59)

;Compute byte address in BX from pillar in CH and the rank in CL as follows: ; byte address=(CL*640)+CH

;On exit:

; BX=byte offset into video buffer

;-------------------------------------------------------------------------------------------

COARSE_ADD PROC NEAR

PUSH AX

PUSH DX

PUSH CX

MOV AX,CX

MOV AH,0

MOV CX,640

MUL CX

POP CX

POP DX

MOV CL,CH

MOV CH,0

ADD AX,CX

MOV BX,AX

POP AX

RET

COARSE_ADD ENDP

;******************************************************************** ******************

;-----------------------------------------------------------------------------------------

;display an encoded block

;on entry:

; si->start of control area of block to be displayed

; bx->start of block hoolding color codes

;Register setup:

; cx=x coordinate of block start

; dx=y coordinate of block start

; bl=number of rows in block

; bh=number of bytes per block row

; di->start of encoded block

; si->start of encoded color block

;Memory:

; count_8: count for 8 bits

;----------------------------------------------------------------------------------------

VARI_PATTERN PROC NEAR

push bx

mov cx,word ptr[si]

mov x,cx

add si,2

mov dx,word ptr[si]

add si,2

mov bl,byte ptr[si]

inc si

mov bh,byte ptr[si]

mov bytes,bh

inc si

xchg si,di

pop si

mov count_8, 8

display_byte:

mov ah,[di]

test_bit:

test ah,10000000b

jz next_bit

mov al,[si]

;set the pixel

push ax

push bx

call pixel_add

call write_pix

pop bx

pop ax

next_bit:

sal ah,1

inc cx

inc si

dec count_8

jz next_byte

jmp test_bit

;index to next byte row,if not at end of row next_byte:

dec bh

jz next_row

byte_entry:

inc di

mov count_8,8

jmp display_byte

;index to next row

next_row:

;test for last row

dec bl

jz to_end

mov bh,bytes

inc dx

mov cx,x

jmp byte_entry

to_end:

ret

VARI_PATTERN ENDP

;******************************************************************** ****************

;-------------------------------------------------------------------------------------

;address computation from x and y pixel coordinates

;on entry:

; cx=x coordinate of pixel(range 0 to 639)

; dx=y coordinate of pixel(range 0 to 479)

;on exit:

; bx=byte offset into video buffer

; ah=bit mask for rhe write operation(using VGA mode 0 or 2) ;--------------------------------------------------------------------------------------

pixel_add proc near

push cx

push dx

;compute address

push ax

push cx

mov ax,dx

mov cx,80

mul cx

mov bx,ax

pop ax

;prepare for division

mov cl,8

div cl

;add in quotient

mov cl,ah

mov ah,0

add bx,ax

pop ax

弹球游戏分步解析(一)

弹球游戏分步解析(一)——界面绘制 接下来我们将要做的游戏是一个弹球游戏,在这个游戏中,我们将会运用到的知识点有:1、绘制窗体;2、绘制按钮;3、绘制菜单栏;4、事件监听器的使用;5、多线程;6文件操作之另存为方法; 1、2、3点在这节会跟大家仔细解释;第4点和第5点由于涉及的知识点较多,分别讲; 由于弹球游戏代码量较大,每次显示的代码都不是完整代码,最后我会把完整代码打包供大家学习; 好了,我们开始进入正题吧;首先上源代码; //javax.swing.JFileChooser使用此来选择文件 package jumpingBall; import java.awt.Toolkit; import java.awt.BorderLayout; import java.awt.Menu; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JSeparator; public class JFjumpingBall extends JFrame{ /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub JFjumpingBall ballgame = new JFjumpingBall(); ballgame.JFshow(); } public void JFshow(){ //建立一个窗体: double width = Toolkit.getDefaultToolkit().getScreenSize().width;//定义width获取显示

高段游园活动的项目及游戏规则

501班: 1.摸鹿鼻子:每人摸一次,蒙上眼睛转三圈,凡摸到鹿鼻子的,可获奖券一张 2.盲人击鼓:每人击一次,蒙上眼睛转三圈,凡击中鼓者,获奖券一张。 502班六一游园节目: 1.正话反说: 选几个口齿伶俐的人参加游戏,主持人要事先准备好一些词语。主持人说一个词语,要参加游戏的人反着说一遍,比如“新年好,游戏者要立刻说出“好年新”,说错或者猛住的人即被淘汰。从三个字开始说起,第二轮四个字,第三轮五个字,以此类推。 2.贴鼻子:画一个人头像,先看一眼,然后蒙上眼睛,拿一圆片贴到鼻子为胜,反之则不得分。503游园活动的项目及游戏规则: 1.弹球:三个乒乓球和一个纸箱,纸箱放桌上,参赛者站在桌子前将乒乓球往地上扔,弹起的乒 乓球进纸箱内则胜。 2.投硬币:离杯子一米远,将硬币投进杯子为赢。 601游园活动的项目及游戏规则: 1、游戏项目:海狮顶球 活动规则:两条线的距离为五米,参赛者将篮球顶在头上,走到对面者就得奖。 2、游戏项目:步步为营 活动规则:准备四个杯子,每个杯子都要装满水,并排成一排。在第一个杯子里放一个乒乓球。游戏者要将乒乓球从第一个杯子吹向另一个杯子,一个一个地吹,不能跳杯子。若乒乓球吹落了,则不能得奖。若一次性吹完则得奖。每人有两次机会。 602班: 1、托乒乓球:用乒乓球拍托着乒乓球,在教室里走一圈,不掉下来为赢。 2、用筷子点小圆圈:学生在3米外,用手捂住左眼,右手拿着一根筷子,点中黑板上的小圆圈为赢。 603班 1、猜谜语:每人可以猜三条,每猜中一条获奖券一张。 2、比比谁的眼力好:主持人准备好三支筷子,一个空啤酒瓶。参赛者站在啤酒瓶的一侧,筷子离瓶口约一米的距离,瞄准瓶口,放掉手中筷子。如果筷子掉进瓶里,便是优胜者,即得奖劵。每人有三次机会

VB简单弹球游戏

Vb 实验程序设计报告
09114104
弹球游戏 高扬 2010-6-17

目录
任务描述……………………………………… 1
设计代码………………………………………
1

题………………………………………
4
解决方法………………………………………
5
运行效果………………………………………
5

结………………………………………
7
09114104 高扬

一. 任务描述:
设计一个弹球游戏,使其在向上或左右方向碰壁反弹,下部 有一可左右水平移动的挡板,当小球接触挡板时,小球反弹,否 则小球出界,即游戏失败,小球每接触次挡板,加十分,当得分 是 20 的倍数时,挡板缩短,小球移动加快,致使难度增加。
二. 设计代码:
Dim time%, key%, score%, a#, y# Private Sub Command2_Click() Line1.X1 = 1320 Line1.X2 = 3000 Timer1.Interval = 100 Label1.Caption = 0 Timer2.Enabled = False Timer1.Enabled =False Label4.Caption = "" score = -10 time = 0 Shape1.Left = (Line1.X1 + Line1.X2) / 2 '球位置初始化 Shape1.Top = Line1.Y1 - Shape1.Height End Sub Private Sub Form_Load() Line1.X1 = 1320 Line1.X2 = 3000 Timer1.Interval = 100 Label1.Caption = "" Timer2.Enabled = False Label4.Caption = "" score = -10 time = 0 Shape1.Left = (Line1.X1 + Line1.X2) / 2 Shape1.Top = Line1.Y1 - Shape1.Height '游戏初始化 End Sub Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer) key = KeyCode Select Case KeyCode Case 37 '如果按下左箭头,使板子向左移动
09114104 高扬
1

Java弹球游戏实验报告—chen汇总

课程设计报告 题目弹球小游戏 姓名方成 学号20 专业java 指导教师陈华恩 2013年12 月30

目录 一、实验目的 (2) 二、需求分析 (2) 三、实验任务 (2) 1、设计 (3) 2、程序要求: (3) 3、选作题: (3) 四、开发工具与平台 (3) 五、设计思路 (3) 1、界面设计 (3) 2、逻辑设计 (3) 3、程序测试 (4) 六、实验总结 (5) 七、程序代码 (5) 八、参考文献 (11) 1.《疯狂java讲义》 (12) 2.《算法导论》 (12) 3.《java编程思想》 (12)

一、实验目的 1、熟练掌握java面向对象编程。 2、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 3、掌握timer类的灵活使用 4、培养独立查找资料,并解决问题的能力。 二、需求分析 经典的碰撞球是一个的古老游戏,目的是在训练人的反应能力。只有通过把所有的砖块消除完,才能顺利的完成任务。游戏要求如下: 1、实现球速度的随机性 2、实现球碰撞到边缘或者砖块自动反弹 3、实现游戏可以随时暂停 4、实现游戏结束后能重新开始游戏 三、实验任务 1、设计 设计并编程实现弹球程序:用户能通过菜单或者按钮新增一小球,该小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的菜单或者按钮功能。(2)使用timer,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 3、选作题: (1)实现奖励机制及关卡机制 四、开发工具与平台

幼儿园大班科学:玩弹珠教学设计

新修订幼儿园阶段原创精品配套教材大班科学:玩弹珠教材定制 / 提高课堂效率 /内容可修改 Big class science: playing marbles 教师:风老师 风顺第二幼儿园 编订:FoonShion教育

大班科学:玩弹珠 设计思路: 今天我的这个活动是围绕我们的课题《大班幼儿乡土游戏创造性玩法的研究》来设计的,《课程指南》指出:“大班幼儿由于小肌肉运动技能的发展,儿童的双手很灵巧,操作物体的能力大大加强,在体育活动中常常会别出心裁,想出独特的玩法。”因此我们根据幼儿的这一年龄特点,投放了一些能激发幼儿创造性的材料,引发孩子创造性地玩。同时我们在平时的活动中发现孩子们关注自己的较多,不太善于与同伴合作游戏,因此今天我设计这一活动,鼓励孩子们创造性的玩,并有合作意识。 活动目标: 1、积极探索玩弹珠的各种方法,学习与同伴合作游戏。 2、能将游戏结果用自己的方式记录下来,提高记录的能力。 活动准备: 弹珠若干、有洞的板3块 活动过程:

一、谈话导入 看看今天我们要和谁来玩游戏? 二、自由玩弹珠: 积极探索弹珠的各种玩法,提高合作能力 1、今天,老师为大家准备了一些材料? 分别观察各种材料,想想可以怎么玩? 请小朋友自己选择活动材料,并自由分组。 2、幼儿自由玩弹珠,教师指导。 集体交流:你们小组是怎么玩的? 幼儿演示游戏玩法,并介绍怎样玩算赢。 三、玩弹珠比赛:学习记录的方法 1、你们想不想来一次玩弹珠比赛?把你们比赛的情况记录下来,在比赛时请大家遵守游戏规则。 2、幼儿再次游戏,教师指导 3、幼儿介绍记录表 教师为获胜的幼儿发小奖品。 FoonShion教育研究中心编制 Prepared by foonshion Education Research Center

桌面弹球游戏总结

桌面弹球游戏制作总结 1 创建游戏对象 本人在做这个游戏时,没有完全按照书上的做法来做,相反的是我根据以前做过的坦克大战游戏思路对类的具体实现及其设计做了很大的改动并纠正书上明显的错误之处,有幸的是游戏可以运行,不免小小激动了一下,但当挡板吃掉道具时还有一部分小问题,就是当吃了道具以后变长,当在吃另一个变长的道具是就没有反应,问题是由于在处理道具的时候增加了一条if判断语句,但是本人改了半天仍然没有的到完好的实现,所以就到此作罢。当然,除了书上所说用时间控制器来控制画板的重画之外,在这里我个人又用了多线程的方法,让线程睡眠100ms绘画一次,同样实现了游戏的功能 在这个游戏中,有挡板(Stick),小球(Ball),砖块(Brick)(障碍物),道具(Magic)等物品,把这些物品都抽象成具体的类,类名见括号里的红体字,这些物品都有自己的属性,但是它们也都有公共属性:有属于自己的位置(横坐标x和纵坐标y),有图片image属性,还有运动速度speed属性。所以可以设计一个基类BallComponent包含些共有的属性和相关的方法,让其子类继承。其中道具类Magic的作用就是让挡板变长或者变短。它是一个抽象类,该类中有一个用于道具功能实现的抽象方法,供其子类LongMagic(让道具变长的道具类)和ShortMagic(让道具变短的道具类)实现 。同时游戏中还有一个画板(BallFrame),用于绘制图片,此类还负责完成界面的初始化,监听用户的键盘,而游戏的相关的业务逻辑,比如判断输赢,或者弹球的运动,挡板的运动等,都放在BallService中去处理。最后提供一个单独的类(Main),里面只有main方法,这是个人的习惯问题,当然也可以把它放在BallFrame中去 注意,在平时的开发中,如果发现多个对象之间一些共有的特性或者行为,并且觉得可以使用这些特性或者行为构造一个对象,那么可以考虑建立一个新的对象作为这些对象的父类 2 编辑各个类 BallComponent(父类) 前面说了,这个类是Stick, Ball, Brick 和Magic的父类,拥有自己的位置坐标x,y,还有图片image,速度speed属性,所以该类的代码到目前为止暂且如下(后面还有具体的添加代码的操作) public class BallComponent { //imagePath为图片文件路径 public BallComponent(String imagePath,int x,int y) throws IOException{ // 读取图片 this.image = ImageIO.read(new File(imagePath));

儿时游戏——打弹子

儿时游戏系列——打弹子 打弹子在儿时是玩得最多的游戏之一,一年四季都会玩到,特别是冬天是玩得最热闹的。 那时的弹子有好几种,以“彩花弹”及“水晶弹”居多,“奶油弹”较少。玻璃做成的彩花弹,有“独花弹”,也有“三花弹”,都很漂亮,但小孩们都把玻璃做成的水晶弹及陶瓷的奶油弹当作上品。水晶弹及奶油弹内部没有花纹隔开,质地较韧,而彩花弹内部有花纹相隔,质地相对要脆一些。由于我们这里有一种用弹子相互“撴(方言发音,代表砸)”的游戏,弹子质地较韧的,“撴”起弹子来一般不易被击破,而质地较脆的则容易被“撴”破了。 儿时的农村经济条件较差,说是打弹子,其实大多以肥皂核代替,就是打的真弹子,“作”的大多仍是肥皂核。因此在每年的立冬前后,小孩们都忙碌在村子的每个角落,寻找肥皂树上成熟的肥皂核。他们有用竹杆去捅的,也有爬到树上采摘的,而年龄较小的小朋友就直接到肥皂树下寻找了,因为肥皂树下也有少量已掉下的肥皂核可捡。采摘来的肥皂核有不少还不很成熟,剥开外皮后的肥皂核颜色发红。倒是树上自然掉下的肥皂核都是墨黑的,玩游戏的小孩都喜欢这种肥皂核。而那种发红的肥皂核,大多小孩都不愿接受。记得小时候,裤子的袋子里常常装着游戏的肥皂核及弹子,放学后书包一放,总会迫不及待地赶往游戏的道地,唯恐迟到而“蹋出”一局游戏。

打弹子的过程是用食指指尖把弹子扣在拇指指尖关节背面,扣好弹子的手把需仰天放到游戏的场地上并对准目标,瞬间用力把拇指指尖向外张开,并同时放开扣着弹子的食指,使弹子快速弹出,并击中对方的弹子。 规定打弹子的手必须紧贴地面,也可垫上另一只手的拳头,但垫的拳头必须拳心贴地向下,不论如何,打弹子时的位置都不得超过原来的弹子所在位,这种打法都是跪着或蹲着打的,跪着打比蹲着打的眼火要准些,因此大多小孩都选择跪着打,并且在游戏的场地内爬来爬去,大多小孩膝盖处的裤脚管都爬出了破洞。有的小孩有时跪着打都不过瘾,干脆把整个身体扑到地上打。 发展到后来,在玩“打冲锋”的游戏时,规定可站着打了,但都是把手放在前脚的膝盖上打的,打弹子者双脚成弓步,前脚脚尖不得超过原弹子所在位,打出的弹子的路线不象沿地面滚去的那种,它在空中飞出后直奔目标。再到后来,玩游戏的小孩多了,选择“打冲锋”的场地也大了,打弹子时可以用手臂“ ”出了,打出的弹子距离及速度也随着大大增加,很远的弹子也能“吃着”了(我们这里把打中对方弹子的叫‘吃着’)。 打弹子的游戏种类较多,玩得最多的要数“打冲锋”、“进老虎洞”及“打和平”了。 打冲锋

猜谜语 活动描述及游戏规则

猜谜语活动描述及游戏规则: 谜语种类丰富,有字谜、动物、植物、地名、成语等。参赛者将所猜题目的答案告诉主持人,猜夹珠在一个大盆内装满水,再往桶中放入较多得玻璃珠。游戏者手拿一双筷子向桶中夹珠。在指定时间内(一分钟),夹起指定个数(十五个)得奖票一张。对了,获奖券1张。打保龄球:每人打三次,凡在10米距离内打中目标者,获奖券一张。 比比谁的运气好:主持人要准备好若干颗且颜色不一样的珠子,其中红色的有三颗。主持人把珠子放在一个不透明的袋子里,让游戏者伸进袋子里抓三次,每次只抓一个珠子(多抓不算),若抓中红色珠子,则中奖劵;反之,没有中奖 掌上明珠:主持人要准备好一个乒乓球和一个乒乓球拍。参赛者将乒乓球平放在乒乓球拍上,沿着桌子走。走至终点,球未丢就得一张奖劵。(桌子竖排三张,参赛者沿桌子在规定时间内绕一圈。) 弹球:主持人准备好三个乒乓球和三个小纸箱。三个小纸箱平放在一张桌子上,成品字形。参赛者站在桌子前面,主持人将三个乒乓球拿给参赛者。参赛者将手中的球往地上扔,若弹起的乒乓球弹进小纸箱内,参赛者即得奖劵 比比谁的眼力好:主持人准备好三支筷子,一个空啤酒瓶。参赛者站在啤酒瓶的一侧,筷子离瓶口约一米的距离,瞄准瓶口,放掉手中筷子。如果筷子掉进瓶里,便是优胜者,即得奖劵。每人有三次机会。 比比谁的运气好:主持人要准备好若干颗且颜色不一样的珠子,其中红色的有三颗。主持人把珠子放在一个不透明的袋子里,让游戏者伸进袋子里抓三次,每次只抓一个珠子(多抓不算),若抓中红色珠子,则中奖劵;反之,没有中奖 套圈:每人套五次,套中二个者,获奖券一张,套中四个者,获奖券二张,套中五个者,获奖券三张。 打保龄球:每人打三次,凡在10米距离内打中目标者,获奖券一张。 绕口令:抽号进行,每人绕口令一次,凡能准确、流利、不停顿读完绕口令者,获奖券一张。

游戏规则

一、二、三年级游戏规则 游戏活动说明:一年级先进行游戏14众人划船开大船,二年级进行游戏1—6,三年级进行游戏7—12,依次轮换。六年级先进行游戏8迎面过桥,四年级进行游戏1—4,五年级进行游戏5——7,依次轮换。如因场地限制,游戏顺序发生变化,听从体育组统一安排。, 奖项说明:活动结束后到指定地方兑换奖品。 一等奖:6张票可换价值3元的奖品 二等奖:5张票可换价值2.5元的奖品 三等奖:4张票可换价值2元的奖品 四等奖:3张票可换价值1.5元的奖品 五等奖:2张可换价值1元的奖品 六等奖:1张可换价值0.5元的奖品 猜对一条谜语,即可将谜语撕下,拿谜语去指定地点领取奖品。

四、五、六年级游戏规则 游戏活动说明:一年级先进行游戏14众人划船开大船,二年级进行游戏1—6,三年级进行游戏7—12,依次轮换。六年级先进行游戏8迎面过桥,四年级进行游戏1—4,五年级进行游戏5——7,依次轮换。如因场地限制,游戏顺序发生变化,听从体育组统一安排。, 奖项说明:活动结束后到指定地方兑换奖品。 一等奖:6张票可换价值3元的奖品 二等奖:5张票可换价值2.5元的奖品 三等奖:4张票可换价值2元的奖品 四等奖:3张票可换价值1.5元的奖品 五等奖:2张可换价值1元的奖品 六等奖:1张可换价值0.5元的奖品 猜对一条谜语,即可将谜语撕下,拿谜语去指定地点领取奖品。

康复训练教案《连续袋鼠跳》 荣成特殊教育学校陈财科 一、准备活动 1、做操 导入: 师:同学们好!今天这节康复训练课由陈老师陪大家一起度过,希望同学们能认真表现,你们有没有信心!好,让我们一起做暖身操。 同学们准备好了吗?(两遍) 暖身操,预备齐!(音乐) 请跟我来拍拍手 1234(上)5678(下) 2234(左)5678(右) 3234(上)5678(下) 4234(左)5678(右) 大家一起扭扭腰 1234(左)5678(右) 2234(前)5678(后) 3234(左)5678(右) 4234(前)5678(后) 双手掐腰踢踢腿 1234(左前)5678(右前) 2234(左侧)5678(右侧) 3234(左前)5678(右前) 4234(左侧)5678(右侧) 心情舒畅蹦蹦跳 1234 5678 2234 5678 停 二、导入课题 师:大家活动的可真充分!上节课我们学习了原地袋鼠跳,下面来复习一下。 1、集体练习(发袋子) 师:原地袋鼠跳的第一步是什么?(进入袋中)大家跟着老师一起做

弹珠小游戏课程设计实验报告

摘要: 这个小程序是关于弹珠的小游戏,游戏比较简单,以小球的速度来区分游戏的难易。该小程序是用左右键控制游戏的开始和挡板的方向,不让小球落到底端,当然,小球的速度越快,该游戏的难度也就越大。此程序利用C#程序编写,在visual studio 2005的环境下进行调试运行的。弹珠原理:碰撞基本都是参照“反射定理”的,就是出射角=入射角,但是做碰撞时需要角度。碰撞的运动和球的方向有关,球的方向有好几种。有8向的,也有4向的。保证小球横向上在允许范围之内运动,当触发时就反方向运动,和当出了球拍的可击打范围就停止运行了。 对于该程序开发,必须达到以下要求: 1、熟悉.NET开发环境,能够使用C#语言在.NET平台上独立设计、开发WINDOWS应用程序。 2、掌握C#语言的异常处理技术,能够使用.NET各种调试方法调试代码,掌握帮助的使用方法。 3、掌握常用控件以及控件的常用属性的使用方法。 4、界面要做到简洁易懂,具有人性化等特点。 5、程序没有在使用过程中不存在任何的问题。 6、可选功能应全面,可以实施速度的选择,游戏的是否继续,还有记录的保存。

目录 摘要: (1) 目录 (2) 一、题目说明 (3) 二、总体设计 (3) 2.1.系统开发平台 (3) 三、详细说明 (3) 3.1系统实施 (3) 四、遇到的问题和解决方法 (19) 五、课程设计总结 (21) 六、参考文献 (21) 附录(源程序代码) (21)

一、题目说明 当今用简单的代码编写的小游戏越来越受人们的欢迎,所以对于小游戏的开发也成为了各大编程人士的最爱。我选择弹珠游戏这个课题,用代码控制游戏的等级,运用不同的函数来控制球的速度和方向,游戏简单而有趣。 二、总体设计 2.1.系统开发平台 系统采用Microsoft Visual Studio 2005 三、详细说明 在此弹球游戏中,对于球与挡板的位置,借助于x与y坐标的调整来实现统计,从而确定球落在板上后球的下一次方向。同时借助于Visual Studio中的控件来控制小球的速度。 此项游戏的计分运用函数count++,打中一个砖块即可得到一分,看你最多能打多少砖块。 3.1系统实施 1.主界面:打开弹珠游戏,开始运行程序,跳出一个Forms界面,用户在此时必须先选择符合自己能力的游戏等级,然后才可以进行游戏。如图1所示。

打弹珠

打弹珠 简介 打弹珠,又称“打玻璃珠、弹球儿、打弹子”。即玩的人各出数枚,输者将丧失对玻璃珠的所有权。玩法通常是“出纲”或“打老虎洞”:在地上画线为界,谁的玻璃珠被打出去就输,叫“出纲”;或在地上挖5个小圆洞,谁先打完5个洞,就变老虎,然后打着谁,就把谁的玻璃珠吃掉,这叫“打老虎洞”。男生大多热衷这类纯技术性的游戏,在玩时彼此之间还常互相攀比谁的弹珠较多,对他们来说,那可是一笔值得炫耀的财富。 历史起源 打弹珠的游戏历史悠久,据说起源于16世纪,当时两名年轻人,同时喜欢上一名女孩子,便决定用弹珠比赛分胜负,打弹珠的游戏便因此产生。 弹玻璃球,应该是一项世界性儿童游戏,各国儿童都会玩儿。弹玻璃球游戏的历史也应该很古老,其最早应起源于儿童随意拾起地上的小石子儿随意弹射,继而有意弹射某一目标,最后发展成一种游戏。从人类学的观点看,这种游戏也应该是人类成长中一种不约而同的行为。 游戏评价 弹珠 弹玻璃珠的游戏对孩子学习物理很有帮助,当学到抛物线、动量和地球引力等知识时,都可以使他们联想到玩弹珠时的愉快情景。打弹珠的博弈性质非常显着,玩的人各出数枚,输者将丧失对玻璃球的所有权,赢者得以物质回报。这显然有别于其他“精神奖励”的游戏。如果不想输,那就找到让弹珠射得最远、最有力的方式。只要赢弹珠的渴望够热切,学习的难度就会降低,这种游戏给人奋进争先的精神鼓励。

弹珠继往 打弹珠 弹珠是由玻璃制成的彩色小球。弹珠的直径大约是一公分左右,普通多半是纯色透明的。而有些弹珠里面会有一些小气泡,有的里面则是嵌入各种图案,有类似树叶花瓣的,也有如弯月般的,也有数条彩线的,往往在阳光照射下就折射出缤纷的光泽。 弹珠最早的材质包括廉价的石头和昂贵的大理石。19世纪初,出现了用陶瓷制成的弹珠。1870年后,出现可大量生产的黏土弹珠。不过,真正使弹珠大放异彩的是1846年由一位德国玻璃工匠制作的玻璃弹珠。1890年,从丹麦移民美国的马丁·克理斯丹森(Martin F. Christensen)发明了能大量生产玻璃弹珠的机器,1905年申请专利后,他在美国俄亥俄州开了一家工厂。到了1914年,他的工厂每月可生产上百万颗玻璃弹珠。 打弹珠的游戏历史悠久,据说起源于16世纪,当时两名年轻人,同时喜欢上一名女孩子,便决定用弹珠比赛分胜负,打弹珠的游戏便因此产生。 20世纪四、五十年代以前,很少儿童没有摸过弹珠的,它多样式的玩法,总是让孩子们玩的乐趣无穷。孩子们不只是爱玩弹珠的游戏,也爱收集弹珠!尤其是男孩们,更是将弹珠视为宝贵的财产,卡其裤口袋装的鼓鼓的,往往里面就是放了许许多多的弹珠呢!如果能在游戏中赢得许多的弹珠,自己在孩子群中往往就能获得大家的崇拜,因为那代表着你拥有超高的打弹珠技巧喔!但是,如果你的弹珠都只是花钱到店里买来的,那么就算拥有再多弹珠,也常常会被其他孩子们嘲笑。唯有靠自己技术能够赢得许多弹珠,才算是孩子群中的厉害人物! 技巧注意

Scratch编程之弹球游戏教案

Scratch编程之弹球游戏教案 一、教学目标: 1、加深对方向轴的了解,熟悉及理解运用所学模块。 2、利用移动模块、互动模块完成弹球游戏。 二、重点、难点: 教学重点:理解和运用方向轴 教学难点:移动状态、互动状态的编程完成。 三、课前准备:课件、多媒体教室、快乐弹球作品展示 四、教学时间:2课时 五、教学过程: 第一课时 课时目标: 1、认识力的相互作用; 2、理解及运用方向轴; 3、完成角色移动状态的编程。 教学步骤: (一)话题导入 师:上节课我们介绍了蹦床运动,那大家还记得小猫能够蹦起来的原理是什么? 生:弹力 师:是的,那这节课我们来学习一种新的运动,这是什么运动?

生:网球、排球等等 师:这是壁球运动,人和墙之间的较量,我们看到人用球拍把球送出去,然后球碰到墙又反弹,那大家思考为什么球碰到墙会反弹? (二)探究原理(力的相互作用) 师:当球与墙壁接触时,球会对墙壁产生一个压力,墙壁也会对球产生一个更大的力促使球反弹,这就是的相互作用,我们平时生活中大力鼓掌手会痛也是这个道理。 师:生活中还有其他例子吗? (三)探究游戏规则 师:请同学们观察游戏效果,我们一起来探究有哪些角色及其运动的游戏规则。(学生观察并举手回答) 师补充:我们看到舞台上有两个角色:挡板和小球,有什么游戏规则呢?请几位同学补充回答。 挡板:跟随鼠标移动 小球:从空中掉落,碰到挡板就反弹。落地游戏停止。 (四)角色的移动 师:挡板移动的移动方式是什么?上下?左右?(教师设置坐标轴为背景) 生:左右移动。 师:是的,那我们看来挡板在移动的时候,挡板的X轴和Y轴坐标会分别发生什么变化?(教师展示)

用VB编写的弹球游戏

用VB编写的弹球游戏 整理编写:西贝一哲QQ:710886275 一、功能描述: 用VB设计编写一个弹球游戏,使球在向上或左右方向碰壁反弹,下部有一可左右水平移动的挡板,当小球接触挡板时,小球反弹,否则小球出界,即游戏失败,小球每接触次挡板,加10分,当得分是10的倍数时,挡板缩短,小球移动加快,致使难度增加,得分90时游戏结束。 二、使用的控件 只列出控件数目、Name及功能,具体的属性设置请对照代码自行确定和修改。 Picture:游戏窗口,里面画小球和挡板,Name为PicGameWindow Shape:画小球,Name为Ball Line:画挡板,Name为Plate Lable:三个标签,分别显示“得分”、“用时”和“点击‘继续’恢复游戏” (Name为LabPause) Textbox:两个,分别用于显示得分(ScoresGet)和用时(TimeUse)Timer:两个,Timer1控制球的移动,Timer2用于计时 Command:三个,开始(BeginGame)、暂停(PauseGame)和结束(OverGame) 三、程序窗口和代码

Dim Time%, key%, Score%, a#, y#, PicWinWit%, PlaLonger% Private Sub Form_Load() '游戏初始化 PicWinWit = PicGameWindow.Width PlaLonger = Plate.X2 - Plate.X1 Plate.X1 = PicWinWit / 2 - PlaLonger / 2 Plate.X2 = PicWinWit / 2 + PlaLonger / 2 Timer1.Interval = False Timer2.Enabled = False Score = -10 Time = 0 Shape1.Left = (Plate.X1 + Plate.X2) / 2 - Shape1.Height / 2 Shape1.Top = Plate.Y1 - Shape1.Height End Sub Private Sub BeginGame_Click() Dim m%, n% PicGameWindow.SetFocus Timer1.Interval = 100 Timer1.Enabled = True Timer2.Interval = 1000 Timer2.Enabled = True Randomize m = Int(Rnd * 1) + 0 If m = 0 Then Randomize a = Int(Rnd * (46 * 3.1416 / 180)) + 30 * 3.1416 / 180 y = 100 * Abs(Tan(a)) Else: Randomize '平移移动量和竖直移动量的夹角 a = Int(Rnd * (46 * 3.1416 / 180)) + 105 * 3.1416 / 180 '确定单位时间内水平移动量,求出竖直移动量 y = 100 * Abs(Tan(a)) End If End Sub Private Sub PauseGame_Click() If PauseGame.Caption = "暂停" Then Timer1.Enabled = False Timer2.Enabled = False LabPause.Visible = True BeginGame.Enabled = False OverGame.Enabled = False PauseGame.Caption = "继续" Else PicGameWindow.SetFocus Timer1.Enabled = True Timer2.Enabled = True LabPause.Visible = False BeginGame.Enabled = True OverGame.Enabled = True

中班民间游戏 打弹珠

中班民间游戏:弹珠子 活动目标: 1.体会民间游戏打弹珠的有趣性,探索多种玩法。 2.培养幼儿的合作意识,和别人快乐交往。 3.体验与同伴游戏带来的快乐,从而健康生活。 活动准备:玻璃珠若干、ppt 活动过程: 一、导入 孩子们,今天的天气真不错,你们玩得多高兴呀!老师和你们一起玩好吗? 提问:你们会玩打弹珠吗?这可是很好玩的民间游戏,你们想玩吗? 二、PPT展示打弹珠的示意图 1.在圆圈上每个人出几颗弹珠放到框内。另外,每人各自拿出一个容易分辨的 弹珠当作母弹。 2.这里一条直直的线,大家把母弹往线的方向抛去,离这根线最近但是不能超 过这条线的小朋友为第一名,决定其他小朋友打弹珠的顺序。 3.在直线后面把自己的母弹向圆圈里的弹珠弹去。如果都没有把圈里的弹珠打 出圈外的时候,就要换一个小朋友玩,而且自己的母弹不能拿走。下次轮到自己时,再从自上次弹珠的地方继续打。 4.如果击中了别人的母弹或是把圈里的弹珠打出去了,弹珠就归这个小朋友; 可是母弹不能停留在圆圈中,否则就失去再次打弹珠的资格,而且要把自己打到的弹珠全部拿出来,不过这样有一个权力那就是可以把圆圈的珠子重新排列位子。 5.曾经击出圆圈内弹珠的人才有资格攻击别人的母弹,如果打中他人的母弹, 不只可以吃下对方母弹,而且还可以赢得对方在这局里获得的所有弹珠。但是,还未曾击吃得圆圈中弹珠的人击中了他人母弹,那么,被击中者必须把自己曾经获得的弹珠全部放回圆圈中,可是仍然可以继续参加游戏。 三、观看游戏视频,体会游戏技巧 四、孩子们玩打弹珠游戏: 导语:孩子们,你们会玩打弹珠的游戏了吗?我们一起来玩吧!(自由组合玩游戏) 1.发现问题一:孩子们耍赖皮,不遵守游戏规则。有的孩子甚至与同伴吵嘴了! 教育孩子:要做诚实守信的人,团结友爱的人。不能不守规则。当然知错就改也是好孩子。(继续玩游戏) 2.发现问题二:孩子们玩游戏时虽然兴趣浓厚,但是缺乏耐心,不能认真思考,找到其中的技巧。(引导孩子们握好弹珠,从最适合自己的姿势去打,瞄准目标,耐心准确地打好每个弹珠。) 3.培养孩子的合作意识,分组游戏,进行游戏比赛,设立一点鼓励性的小奖品。 4.鼓励孩子们探索新的游戏方法。

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

[计算机]用16位汇编编写的弹球游戏

;ballgame jinjing 11002222 ready1 macro mov ch,0 mov cl,0 mov dh,80 mov dl,60 mov al,00001111b endm ready2 macro mov ch,15 mov cl,14 mov dh,55 mov dl,40 mov al,11011001b endm data segment bump_freq dw 100,-1 bump_time dw 15 hit_freq dw 200,300,400,500,600,700,800,-1 hit_time dw 3,3,3,3,3,3,3 x dw ? bytes db ? count_8 db 8 speed dw ? move_mode_x dw 2 move_mode_y dw -2 same db ? start_col db ? BALL_X dw 320 ;Present x coordilnate BALL_Y dw 380 ;Present y coordinate db 16 ;Horizontal rows in block db 2 ;Number of bytes per row ;Symbol encoding of ball symbol

DB 0FH,0F0H,1FH,0F8H,3FH,0FCH,7FH,0FEH DB 16 DUP(0FFH) DB 7FH,0FEH,3FH,0FCH,1FH,0F8H,0FH,0F0H DW 0000H ;COLOR ENCODING OF BALL SYMBOL BALLCOL DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,8 DUP(0CH),0,0,0,0 DB 0,0,0,10 DUP(0CH),0,0,0 DB 0,0,12 DUP(0CH),0,0 DB 0,14 DUP(0CH),0 DB 0,14 DUP(0CH),0 DB 0,14 DUP(0CH),0 DB 0,14 DUP(0CH),0 DB 0,11 DUP(0CH),0FFH,0CH,0CH,0 DB 0,10 DUP(0CH),0FFH,0CH,0CH,0CH,0 DB 0,9 DUP(0CH),0FFH,0CH,0CH,0FFH,0CH,0 DB 0,11 DUP (0CH),0FFH,0CH,0CH,0 DB 0,0,9 DUP(0CH),0FFH,0CH,0CH,0,0 DB 0,0,0,6 DUP(0CH),0FFH,0FFH,0CH,0CH,0,0,0 DB 0,0,0,0,8 DUP(0CH),0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DW 0000H ;------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------- ;Block control area for board BOARD_X dw 300 ;Present x coordinate BOARD_Y dw 416 ;Present y coordinate db 16 ;Horizontal rows in block db 10 ;Number of bytes per row ;Symbol encoding of board symbol db 160 dup(0FFH) dw 0000 ;Color encoding of board symbol

弹珠游戏作文

弹珠游戏作文 导读:本文是关于弹珠游戏作文,希望能帮助到您! 弹珠游戏作文 作者:林秋越广州市二中应元学校初二级 【结构提纲】 场面描写: 弟弟要求我跟他玩弹珠游戏,点题,烘托心情,引出下文。 顺承过渡,紧接上文: 引出下文我和弟弟打弹珠游戏的故事。 1.开端:弟弟熟练地在一旁打弹珠,动作娴熟。场景描写。 2.发展:我觉得打弹珠游戏十分幼稚,无聊地在一旁观看。为下文我打弹珠之事蓄势,也与下文我态度的逆转形成鲜明对比,突出游戏对我的影响。 3.高潮:在弟弟的要求下,我尝试打弹珠,但手忙脚乱,屡屡失败,于是弟弟开始教我。此部分我对打弹珠游戏的态度开始转变,心情也由无聊而变得急躁、沮丧。 4.结局:在弟弟的指导下我熟练地学会了打弹弓游戏,弟弟喜悦、单纯的笑容令我难忘,我意识到打弹弓游戏并不幼稚,它能够唤醒我童年的纯真。 以事明理,写游戏与纯真两者的联系与重要性——人们逐渐

淡忘纯真,漠视游戏,点明中心,深化主题,再次强调游戏的深层义,使文章更具现实意义。 【线索】 阳光: 1.环境中阳光明媚 2.弟弟的笑容和他纯真的品质似阳光用线索贯穿全文,体现我对纯真的理解。 【写作正文】 "姐姐,你说好今天跟我去玩打弹珠的游戏的,快点嘛!"他不断地央求着。 我耐不过他,虽然满肚子不情愿,但还是放下了手中写作业的笔,跟着弟弟来到了楼下的院子里。 弟弟兴奋地拿着他自己做的弹弓,熟练地架上玻璃珠。他的手指轻快地将玻璃珠缠绕好,左手对着槐树下的一颗石头瞄准,右手稳稳地为弹弓拉上弓。"啪——"玻璃球准确无误地击中了那颗石头,弟弟欢呼起来,接着有不断地找着各种小东西瞄准射击。 坐在一旁的我无聊地打起了哈欠,心里想:对于一名初中生来说,打弹珠的游戏真是太幼稚了,弟弟什么时候才能长大啊! 正当我快要睡着时,弟弟清脆的声音在我耳旁响起:"姐姐,不如你也来打一次弹弓吧!" 弟弟猛地把弹弓塞给我,笑着看着我。从来没有玩过打弹珠游戏的我显得有些手足无措。迫不得已,我还是把弹弓架起来,笨拙地塞上玻璃珠。由于不会装弹珠,我开始手忙脚乱起来。在

有趣的民间体育游戏打弹珠

教育教学论文 有趣的民间体育游戏-打弹珠游戏 茶陵县城西小学 周雄辉

有趣的民间体育游戏 -打弹珠游戏 茶陵县城西小学周雄辉 主题名称:小学生民间体育游戏活动 动作指向:提高肌体协调性和灵活性,丰富学生的课余生活,了解打弹珠这一民间体育游戏的来历 活动名称:打弹珠 [设计背景]: 下课时我发现小朋友们最喜欢玩游戏了,有:折纸飞机,打纸板,跳皮筋,挤油等,可有些孩子却热衷于打游戏机里的游戏,甚至上课也想打,不但影响学习,也会影响身体的健康成长.为了让每个孩子都能在课堂认真学习,在课间快乐游戏与健康成长,也了解我们祖国传统民间体育游戏活动的有趣性,培养孩子的合作意识和提高孩子的合作能力.我就设计了这次活动。 [活动目标]: 1、体会民间游戏打弹珠的有趣性,探索多种玩法。 2、培养学生的合作意识,和别人快乐交往。 3、体验与同伴游戏带来的快乐,从而健康生活。 [活动准备]: 1、每个人准备十个弹珠即玻璃球。 2、有关打弹珠游戏规则与游戏技巧的课件。 [活动过程]: 一、导入:孩子们,今天的天气真不错,你们玩得多高兴呀!老师和你 们一起玩好吗?(玩不久,表扬学生:你们真聪明!老师考考你们 怎么样?)提问:你们会玩打弹珠的游戏吗?(生答:不会)这可是 我国最好玩的民间游戏之一哦,老师教你们吧! 二、课件展示打弹珠游戏的规则:

1、在地上画一个圆圈,参加者每人出几粒弹珠放到框内。另外,每个人还各自拿出一个容易分辨的弹珠当作[母弹]。 2、在距离圆圈约三公尺的左右的地方画一条直线,大家一起把[母弹]往线的方向抛去,愈靠近线又不超过线者为最优秀,决定每人打弹珠的顺序。 3、站在直线后方,将自己的母弹向圆圈中的弹珠弹去。如果都没有将圈中弹珠打出圈外时,就换下一个人玩,而且自己的母弹不能拿走。下次轮到自己时,再从自己上一次弹珠落点继续打。 4、如果击中别人的母弹或将圆圈中的弹珠击出圈外,弹珠就属于击中者所有;但是母弹千万不能停留在圆圈中,否则将丧失继续打的资格,而且还要将之前所有击出获得的弹珠全数吐出来,但是他却有权利把圆圈内的弹珠重新排列位置。 5、曾经击出圆圈内弹珠的人才有资格攻击别人的母弹,如果打中他人的母弹,不只可以吃下对方母弹,而且还可以赢得对方在这局里获得的所有弹珠。但是,还未曾击吃得圆圈中弹珠的人击中了他人母弹,那么,被击中者必须把自己曾经获得的弹珠全部放回圆圈中,可是仍然可以继续参加游戏。 三、观看游戏视频,体会游戏技巧。 四、孩子们玩打弹珠游戏: 导语:孩子们,你们会玩打弹珠的游戏了吗?我们一起来玩吧!(自由组合玩游戏) 1、发现问题一:孩子们耍赖皮,不遵守游戏规则。有的孩子甚至与同伴吵嘴了! 教育孩子:要做诚实守信的人,团结友爱的人。不能不守规则。当然知错就改也是好孩子。(继续玩游戏) 2、发现问题二:孩子们玩游戏时虽然兴趣浓厚,但是缺乏耐心,不能认真思考,找到其中的技巧。

相关文档
最新文档